Agents / flow-corpus
AGENTS.md1 starsChanged 58 days agoApache-2.0View on GitHub
The calibration population. Synthetic, deterministic, and firewalled from the harness by design. This directory owns the flow specimens, task suites, oracles, mutation engine, version keying, holdout rotation, discrimination canary and validation runner. Its top-level facade exposes only the version pins; everything else is reached through a subpackage with its own contract. - Never import eval_harness, in any module, for any reason. This package may reach flow_protocol and agent_core and nothing else. The absence of that edge in architecture.yaml is the…
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-protocol/AGENTS.mdAGENTS.md
- openspec/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- tests/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 70
A non-finite config value deletes a floor silently: Every comparison against NaN is false, so config.py rejects NaN and infinity up front — …
≈ “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 — flow-corpus
The calibration population. Synthetic, deterministic, and firewalled from the harness by design.
This directory owns the flow specimens, task suites, oracles, mutation engine, version keying, holdout rotation, discrimination canary and validation runner. Its top-level facade exposes only the version pins; everything else is reached through a subpackage with its own contract.
Map
| Path | Role |
flow_corpus/__init__.py | Facade — version pins and verify_pins only, on purpose |
flow_corpus/version.py, pinning.py | The two-way pins and the skew tripwire that raises on drift |
flow_corpus/config.py | CorpusConfig — typed thresholds, with finite-value guards |
flow_corpus/specimens/, suites/ | The flow variants and the task instances they run |
flow_corpus/mutation/, canary/ | Injected known regressions and known nulls |
flow_corpus/oracles/ | Verdict oracles plus the kappa and power gate |
flow_corpus/partition.py, holdout/, keying/ | Deterministic, keyed train and holdout splits |
flow_corpus/validation/ | The runner, resampling, reliability and metrics |
data/suites/sdlc.jsonl | Committed suite data the runner reads |
Diagram
flowchart LR
accTitle: flow-corpus run lifecycle from suite to reliability
accDescr: Pin verification gates the run; a suite instance goes through a specimen to a flow result, an oracle judges it, determinate verdicts become outcomes keyed by agent version and domain while indeterminate ones are counted and routed to audit, and the runner reports reliability.
PIN["pinning.py<br/>verify_pins or raise"]
SUITE["suites/ + data/"]
SPEC["specimens/"]
MUT["mutation/, canary/<br/>known signal"]
FR["FlowResult<br/>contract type"]
ORC["oracles/<br/>kappa-gated"]
KEY["keying/<br/>(agent_version, domain)"]
IND["indeterminate<br/>counted, never an outcome"]
RUN["validation/runner.py"]
REL["reliability + intervals"]
PIN --> RUN
SUITE --> SPEC
MUT --> SPEC
SPEC --> FR
FR --> ORC
ORC --> KEY
ORC --> IND
KEY --> RUN
RUN --> REL
classDef here fill:#e8f0fe,stroke:#1a73e8,stroke-width:2px
class RUN hereRules that bite here
- Never import
eval_harness, in any module, for any reason. This package may reachflow_protocolandagent_coreand nothing else. The absence of that edge inarchitecture.yamlis the airgap, anddrift_check.pyfails the PR the moment it appears. - The version pins are a tripwire, not bookkeeping.
PROTOCOL_VERSION_PINandHARNESS_VERSION_PINinversion.pyare compared against the live packages, and a mismatch raisesPinMismatchErrorso the build dies before it produces keyed stats against an unexpected contract. When a bump breaks it, that is the gate working — adopt the new version deliberately, with a passingverify_pins(), rather than syncing the pin to make red go away. - Outcomes are keyed by
(agent_version, domain)and the task instance is deliberately not part of the key. Task variation is the population being measured over that key; folding it in collapses the very distribution the corpus exists to characterise. - An indeterminate verdict is counted, never converted. The runner routes abstentions to the audit path and keeps them out of the outcome stream, so the gate is never fed a guess.
- A non-finite config value deletes a floor silently. Every comparison against NaN is
false, so
config.pyrejects NaN and infinity up front —_require_finiteexists because a NaN power threshold once made an under-powered sample gate-eligible. Keep new fields guarded. - The facade stays narrow. Adding a convenience re-export to
flow_corpus/__init__.pybypasses the subpackage contracts that each hold the real local constraint.
Verify
make -C flow-corpus checkSubagents
| Task in this directory | Agent | Why |
| Find which subpackage owns a concept before adding a module | explorer | Read-only; ten subpackages, so locating the owner beats guessing |
| Run the gate and isolate a pin mismatch or coverage failure | test-runner | Has Bash; PinMismatchError names versions that must be read back |
| Review a change that touches keying or the oracle path | narrow-critic | A changed key or a converted abstention is silent to the linters |
See also
| Doc | Read it when |
README.md | You need the area-by-module inventory and the install order |
GAP_ANALYSIS.md | You need to know whether something is built, seamed or deliberately absent |
../flow-protocol/README.md | You are about to change what crosses the airgap rather than what happens inside it |
../architecture.yaml | You are adding an import and need the declared component edges for this package |
../docs/CHARTER.md | A change looks like it widens scope past what the corpus is allowed to do |
../docs/c4_architecture.md | You need runtime and call semantics rather than the package-level view |
../coverage-floors.yaml | A coverage number is in your diff and you need to know which anchors must agree |
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.

