#1215 gave D1.6 an obligation a Python repo has to meet in its own pyproject.toml: declare pytest-cov in a dev dependency group, select the coverage source with an addopts --cov=<package> entry, and leave the report at the repo root as coverage.xml. A repo missing any of those now reds its validation gate rather than reporting nothing silently.
The Skill an agent actually loads when authoring or editing a Python pyproject.toml says none of it.
.agents/skills/python-codestyle/references/testing.md says "Use pytest with configuration in [tool.pytest.ini_options]" and gives "Default invocation: uv run pytest". It never mentions pytest-cov or --cov.
references/profiles.md names "pytest coverage" as a build-profile trait without stating any requirement.
So an agent standing up a Python repo, or adding a test suite to one, follows the Skill, produces a conforming-looking pyproject.toml, and discovers the obligation from a red run.
Why this is a routing gap rather than drift
Neither file states the old contract, so nothing here is stale text to correct. The obligation simply has no surface at the moment an agent would act on it. That distinction matters for the fix, since AGENTS.md says not to restate GOVERNANCE.md and WORKFLOW.md rules elsewhere, and the cheapest-looking fix, copying the three obligations into the Skill, is the one that rule forbids.
What needs deciding
- A pointer rather than a restatement.
testing.md gains one line saying a build-profile repo's coverage obligations are D1.6's and naming WORKFLOW.md as where they live.
- A restatement, accepted deliberately. The Skill carries the three obligations because a Skill exists precisely to surface a rule at its moment, and the no-restatement rule is aimed at carried instruction files rather than at Skills.
- Nothing. The validator's own
::error:: names the selector and the file, so the red run is self-explaining, and an agent that reads WORKFLOW.md at all will find D1.6.
Option 1 is the smallest thing that closes it, but which of the three is right is a call about what Skills are for, which is why this is filed rather than fixed.
Related
Found by the adversarial passes on #1215. Related to #1121 and #1113 for other carried-content and Skill defects.
#1215 gave D1.6 an obligation a Python repo has to meet in its own
pyproject.toml: declarepytest-covin a dev dependency group, select the coverage source with anaddopts--cov=<package>entry, and leave the report at the repo root ascoverage.xml. A repo missing any of those now reds its validation gate rather than reporting nothing silently.The Skill an agent actually loads when authoring or editing a Python
pyproject.tomlsays none of it..agents/skills/python-codestyle/references/testing.mdsays "Usepytestwith configuration in[tool.pytest.ini_options]" and gives "Default invocation:uv run pytest". It never mentionspytest-covor--cov.references/profiles.mdnames "pytest coverage" as a build-profile trait without stating any requirement.So an agent standing up a Python repo, or adding a test suite to one, follows the Skill, produces a conforming-looking
pyproject.toml, and discovers the obligation from a red run.Why this is a routing gap rather than drift
Neither file states the old contract, so nothing here is stale text to correct. The obligation simply has no surface at the moment an agent would act on it. That distinction matters for the fix, since
AGENTS.mdsays not to restateGOVERNANCE.mdandWORKFLOW.mdrules elsewhere, and the cheapest-looking fix, copying the three obligations into the Skill, is the one that rule forbids.What needs deciding
testing.mdgains one line saying a build-profile repo's coverage obligations are D1.6's and namingWORKFLOW.mdas where they live.::error::names the selector and the file, so the red run is self-explaining, and an agent that readsWORKFLOW.mdat all will find D1.6.Option 1 is the smallest thing that closes it, but which of the three is right is a call about what Skills are for, which is why this is filed rather than fixed.
Related
Found by the adversarial passes on #1215. Related to #1121 and #1113 for other carried-content and Skill defects.