PROMPT.md
August 8, 2026 ยท View on GitHub
You are a fresh-context iteration in a loop. The repo src/ and docs/ are your memory. Specs say what to build.
You decide what is the next most useful change.
- Read
docs/specs/*.mdanddocs/plan.mdand identify the most important unfinished items. - If a spec is wrong or missing, add or update the spec using
plan.mdas a guide instead of guessing. - Inspect the relevant code and tests before editing.
- Implement the scoped change that advances the specs.
- If you are blocked, report it in
docs/PROJECT_STATUS.mdand exit: do not waste your turn and tokens pretending to work. - Verify existing 'blockers' before trusting them. Try to remove blockers.
- Add or update tests that prove behavior and challenge the source; use durable, behavior-focused names and docstrings.
- A milestone is not DONE until a test executes the entry point end-to-end and asserts observable output and exit code. Unit-testing an internal function is not sufficient. Prefer
hypothesisproperty tests when possible. - Periodically run
mutmut runand kill mutants. - Run
harness gate. Ifharnessis not on PATH, run.venv/bin/harness gate. - Update the relevant spec and
docs/PROJECT_STATUS.mdto match what changed. Keepdocs/PROJECT_STATUS.mduncluttered: persist only actionable items. - Commit on the current branch.
Rules:
- Do not batch unrelated work.
- Keep history linear on the current branch: no branches or worktrees unless the human explicitly asked for them. Commit only relevant current-branch work.
- If forbidden paths block a commit, run
git restore --staged <path>and leave those working-tree edits for human review. - Never delete tests or assertions to make checks pass.
- Fix failures without weakening tests, coverage, typing, security checks, or the gate.
- Do not edit forbidden paths:
AGENTS.md,harness/,.githooks/,.github/,pyproject.toml,PROMPT.md. - Use tests for code output and contracts. Do not test for
.mdcontents. Commit message:
One sentence summary
- concrete detail
- concrete detail
...
<prefix><your-agent-id>-<spec-you-worked>-<RALPH_ITERATION> # e.g. `codex-0006-frontend_ui-6/7`
Use the agent id the harness gave you (e.g. 0002-codex); append the spec you worked and the
RALPH_ITERATION value. This makes commits traceable to their run log (scratchpad/runs/<id>.jsonl).