promise-to-proof
AGENTS.md4 starsChanged 33 days agoApache-2.0View on GitHub
Use this file as a router. Keep detailed protocol, workflow, and domain rules in their canonical documents instead of copying them here. 1. Read README.md for the product shape and repository layout. 2. Read the SKILL.md for the skill you are changing. 3. For planning, delivery, verification, publication, or resume behavior, read docs/acceptance-contract-protocol.md. 4. Follow docs/agents/domain.md before exploring domain-sensitive code. It points to CONTEXT.md and relevant ADRs when they exist. 5. Keep the change scoped to one agreed work item.…
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,542 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 repository19 other files it gives its agents.
- audit-acceptanceSkill
- create-parent-issueSkill
- critiqueSkill
- deliver-issueSkill
- fix-prSkill
- implement-contractSkill
- interrogateSkill
- merge-readinessSkill
- plan-acceptanceSkill
- proveSkill
- publish-pr-reviewSkill
- publish-prSkill
- repair-gapsSkill
- replan-backlogSkill
- retrospectSkill
- review-implementationSkill
- setup-promise-to-proofSkill
- slice-contractSkill
- triage-issueSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
15 rules. About 0 are common, 8 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 3
Use this file as a router.
- Distinctive: line 8
Read README.md for the product shape and repository layout.
- Very specific: line 9
Read the SKILL.md for the skill you are changing.
- Very specific: line 12
Follow docs/agents/domain.md before exploring domain-sensitive code.
- Distinctive: line 14
Keep the change scoped to one agreed work item.
- Distinctive: line 25
Do not use this working style to weaken contracts, bypass independent review or proof, hide blockers, or expand authority.
- Distinctive: line 45
When changing a protocol rule, update its canonical definition first, then update affected skills, checks, and user documentation.
- Distinctive: line 60
Do not repeat this full suite after every intermediate edit or merely because another stage needs a report.
- Very specific: line 73
Keep the version check when running the suite so an older python3 fails before the controller tests start.
- Distinctive: line 100
If a required check cannot run in the current environment, say exactly which check was not run and why.
- Very specific: line 105
Do not add PROGRESS.md, a feature-list file, or another checklist to mirror P2P workflow state.
- Distinctive: line 116
Follow the canonical checkpoint protocol.
- Very specific: line 120
Use the existing controller status and resume paths to recover active work.
- Very specific: line 123
Never commit generated .p2p/ state.
- Very specific: line 139
Use the default triage labels: needs-triage, needs-info, ready-for-agent, ready-for-human, and wontfix.
≈ “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
Promise to Proof agent map
Use this file as a router. Keep detailed protocol, workflow, and domain rules in their canonical documents instead of copying them here.
Start here
- Read
README.mdfor the product shape and repository layout. - Read the
SKILL.mdfor the skill you are changing. - For planning, delivery, verification, publication, or resume behavior, read
docs/acceptance-contract-protocol.md. - Follow
docs/agents/domain.mdbefore exploring domain-sensitive code. It points toCONTEXT.mdand relevant ADRs when they exist. - Keep the change scoped to one agreed work item. Do not silently expand an implementation into adjacent cleanup, refactoring, or product behavior.
User-facing behavior
Conversation behavior is product behavior. Keep technical rigor in the durable records while user-facing replies use plain language and make the practical meaning obvious. Be clear-eyed about uncertainty and downsides, opportunistic about useful leverage, pragmatic about the smallest complete step, and proactive about proposing a concrete response instead of stopping at diagnosis.
Do not use this working style to weaken contracts, bypass independent review or proof, hide blockers, or expand authority. Prefer one obvious next action, and keep hashes, IDs, report mechanics, and controller detail secondary unless they matter to the user's decision or to diagnosing a problem.
Where changes belong
skills/productivity/<skill>/SKILL.md: agent-facing skill behavior.skills/productivity/deliver-issue/scripts/: delivery controller, storage, candidate identity, recovery, and host orchestration.docs/acceptance-contract-protocol.md: canonical agreement, identity, evidence, authority, and handoff rules.docs/: user-facing workflow and reference documentation.checks/test_*.py: deterministic regression and controller fixture tests.checks/delivery-model/: bounded model and controller-conformance checks.checks/*-scenarios.mdand validation documents: retained scenario coverage and evidence expectations.specs/andplans/: project-owned requirements and planning material for this repository.
When changing a protocol rule, update its canonical definition first, then update affected skills, checks, and user documentation. Do not create a second source of truth for the same rule.
Verification
During implementation and repair, run focused checks for the behavior being changed. Once the candidate is ready, run the repository's default deterministic suite once after the final functional changes:
python3 -c 'import sys; assert sys.version_info >= (3, 11), f"Python 3.11+ required; found {sys.version.split()[0]}"' &&
python3 -m unittest discover -s checks -p 'test_*.py'Do not repeat this full suite after every intermediate edit or merely because another stage needs a report. Repeat it when a later functional change invalidates its result or a concrete material risk requires it. Independent review and proof still inspect their own evidence and run the focused checks their conclusions need. The default suite uses an explicitly offline fixture host and requires no installed or authenticated Codex CLI; it is not live model or sandbox evidence.
Historical comparison fixtures also need Git revisions
cc27a47f5ee765cff3cf13b21c36f974cb1234ae (controller) and
eb84d66dd70ce8998cd43e951741785e8520c301 (agreement). If a checkout lacks
either object, fetch that exact revision from origin before running the suite.
The controller uses tomllib, which is included in Python starting with 3.11.
Keep the version check when running the suite so an older python3 fails before
the controller tests start.
For delivery-controller or filesystem changes, the focused checks are:
python3 checks/test_p2p_delivery.py
python3 checks/test_p2p_filesystem.py
python3 checks/test_verify_acceptance_bundle.pyFor model/conformance changes, follow checks/delivery-model/README.md; those
checks have pinned tool and platform requirements.
For real host-boundary behavior, follow docs/p2p-delivery-controller.md and
run its live host check only with explicit authorization for real model calls.
For model judgment regressions, run checks/test_live_judgments.py offline and,
when a supported live macOS/Codex host is explicitly authorized, run
checks/check_p2p_judgments_host.py --output-dir NEW_DIRECTORY. The live suite
retains independent expected/observed judgments and fails mismatches. Its
fixtures and mocked transport tests are never live host evidence.
The combined quality-integration check uses the
same fixed fixtures plus a source/contract audit. Its offline tests run as
python3 -m unittest discover -s checks -p 'test_p2p_quality_integration.py';
the actual macOS/Codex integration requires a new evidence directory and explicit
live-host authorization. Do not report fixture judgments as model outcomes.
If a required check cannot run in the current environment, say exactly which check was not run and why. Never treat an unavailable check as a pass.
State and handoffs
Do not add PROGRESS.md, a feature-list file, or another checklist to mirror
P2P workflow state.
- Project-authored requirements stay in their existing project-owned source.
- The canonical P2P acceptance contract is
.p2p/work/<slug>/contract.md. - Generated project-local P2P records stay under ignored
.p2p/work/<slug>/; compact completed delivery records live under itsartifacts/directory. - Portable checkpoints live at
p2p-state/<slug>.jsonand may be committed under explicit authority. GitHub issue checkpoints are an alternative destination. Follow the canonical checkpoint protocol; raw local execution data stays ignored. - Active controller execution, candidate workspaces, reports, and recovery state
live in the retained external execution root documented in
docs/p2p-delivery-controller.md. - Use the existing controller
statusandresumepaths to recover active work. Do not reconstruct progress from chat history or create parallel state. On another computer, restore the portable checkpoint before using those paths. - Never commit generated
.p2p/state.
The repository and retained P2P records are the handoff between agent sessions. A fresh session should be able to recover the agreement, exact candidate identity, verification state, blocker, and next supported action from those records.
Issue tracker
GitHub is an optional import and publication destination. Local planning,
delivery, and resume do not require it. Read docs/agents/issue-tracker.md
before tracker operations.
Remote writes require explicit authority. Importing or reading an issue does not authorize comments, labels, publication, closing, or other GitHub mutations.
Use the default triage labels: needs-triage, needs-info,
ready-for-agent, ready-for-human, and wontfix. See
docs/agents/triage-labels.md.
Domain docs
This is a single-context repo. Follow docs/agents/domain.md and use the
project's established vocabulary and ADRs when present.
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.

