Agents / tests
AGENTS.md1 starsChanged 58 days agoApache-2.0View on GitHub
The root suite. Every file here is a protected path; adding one needs a labeled approval. This is the harness's own test suite plus the guards that freeze its public surface. It has no README by design — the suite is not a shipped component. What an agent needs before touching it is the approval obligation, the coverage floor, and which files here are contracts rather than tests. - tests/** is a protected path. Any change here, and in particular…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository39 other files it gives its agents.
- agent-core/AGENTS.mdAGENTS.md
- .agents/AGENTS.mdAGENTS.md
- AGENTS.mdAGENTS.md
- behavioral-regression/AGENTS.mdAGENTS.md
- claude-foundation/AGENTS.mdAGENTS.md
- config/AGENTS.mdAGENTS.md
- corpora/AGENTS.mdAGENTS.md
- demo/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- examples/AGENTS.mdAGENTS.md
- experiments/AGENTS.mdAGENTS.md
- flow-corpus/AGENTS.mdAGENTS.md
- flow-protocol/AGENTS.mdAGENTS.md
- openspec/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- claude-foundation/CLAUDE.mdCLAUDE.md
- merge-gate-auditorSkill
- update-executive-reportSkill
- update-executive-reportSkill
- architecture-drift-guardSkill
- commonSkill
- corpus-guardianSkill
- dataset-lintSkill
- deploySkill
- e2e-matrix-sentinelSkill
- eval-corpus-forgeSkill
- hierarchical-recursive-brainstormSkill
- model-benchSkill
- openai-judgeSkill
- openspec-implementation-reviewSkill
- openspec-peer-reviewSkill
- openspec-quality-planSkill
- pre-pr-gateSkill
- project-setupSkill
- quality-gateSkill
- refactoring-decomposerSkill
- repo-invariant-reviewSkill
- test-completeness-guardSkill
The file
We split this AGENTS.md into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 69
Registered components carry a matrix obligation (ADR 0032): After adding or renaming rows in test_matrix_eval_tools.py, run python …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md — tests
The root suite. Every file here is a protected path; adding one needs a labeled approval.
This is the harness's own test suite plus the guards that freeze its public surface. It has no README by design — the suite is not a shipped component. What an agent needs before touching it is the approval obligation, the coverage floor, and which files here are contracts rather than tests.
Map
| Path | Role |
conftest.py | Prepends the sibling package roots onto the path; registers Hypothesis profiles |
_*.py | Helper modules, deliberately not collected by pytest |
integration/ | Collected by default; individual tests skip on a missing credential |
fixtures/ | Committed test data |
public_surface_baseline.json | Frozen public surface. A diff is a compatibility break |
plugin_registry_baseline.json | Frozen plugin registry, same contract |
test_matrix_coverage.py | Census CLI behind make matrix-check; --update regenerates the doc |
Diagram
flowchart LR
accTitle: what adding a test file sets in motion
accDescr: A new test file under tests trips the protected-path guard and needs the approval label, while the suite itself feeds the coverage floor of 96 and the frozen baseline contracts.
NEW["a new test_*.py"]
LABEL["eval-change-approved<br/>label + code owner"]
subgraph T["tests/ (you are here)"]
CONF["conftest.py<br/>path + profiles"]
SUITE["the suite"]
BASE["frozen baselines"]
MX["test_matrix_coverage.py"]
end
GUARD["check_protected_changes.py"]
FLOOR["coverage floor 96"]
DOC["docs/matrix-coverage.md"]
NEW --> GUARD
GUARD --> LABEL
CONF --> SUITE
SUITE --> FLOOR
SUITE --> BASE
MX --> DOC
classDef here fill:#e8f0fe,stroke:#1a73e8,stroke-width:2px
class T hereRules that bite here
tests/**is a protected path. Any change here, and in particular any newtests/test_*.py, tripsscripts/check_protected_changes.pyand the pull request needs theeval-change-approvedlabel plus a code owner. Plan for that before you start; do not fold a test into an unrelated file to avoid the guard, which is precisely the evasion the guard exists to catch.- The floor is 96 and it is pinned. It is declared in
pyproject.tomland again inscripts/quality-gate.sh, and../coverage-floors.yamlpins the minimum both may state. Lowering it is a reviewed act; raising it is free. - The frozen baselines are contracts, not fixtures. A diff against
public_surface_baseline.jsonorplugin_registry_baseline.jsonmeans a public name moved. Restore the name or write the deprecation; do not restamp the baseline to go green. - A helper module must start with an underscore. That is how the suite keeps
_sut.py,_matrix_coverage.pyand the rest out of collection while still importable. - Registered components carry a matrix obligation (ADR 0032). After adding or renaming
rows in
test_matrix_eval_tools.py, runpython tests/test_matrix_coverage.py --update; never hand-editdocs/matrix-coverage.md. Waivers are data with reasons, not omissions.
Verify
./scripts/quality-gate.sh coverageSubagents
| Task in this directory | Agent | Why |
| Locate the existing test for a behaviour before adding a file | explorer | Read-only; finding an existing home avoids tripping the protected-path guard at all |
| Run a subset and isolate a failure signature | test-runner | Has Bash; maxTurns: 8 fits a run-read-narrow loop over 114 modules |
| Review a baseline change before pushing | narrow-critic | A restamped baseline looks like a passing diff and is a silent break |
See also
| Doc | Read it when |
../scripts/eval_protected_paths.py | You want the authoritative list of what needs the approval label |
../coverage-floors.yaml | The coverage floor is blocking you and you are tempted to lower it |
../docs/decisions/0032-matrix-completeness-policy.md | You registered a component and need to know what rows it now owes |
../docs/e2e-runbook.md | You are running or reading the whole-repo end-to-end harness rather than this suite |
../AGENTS.md | You need the repo-wide testing conventions, markers and offline-dependency idiom |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

