appautomaton

Untitled

Sep 15th, 2026
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.33 KB | Source Code | 0 0
  1. # AGENTS.md — Plexmaton
  2.  
  3. ## Who decides
  4.  
  5. The user is a solo developer and what they say is the source of truth. Every document here was
  6. written by an agent, this one included, so any of it may encode an earlier misreading.
  7.  
  8. Read the documents to learn what exists and why; cite them where they hold. Where the user's need
  9. contradicts one, the document is stale: name the sentence and rewrite it in the same change.
  10. "The contract says otherwise" is worth reporting, never a reason to refuse.
  11.  
  12. ## Context routing
  13.  
  14. Read only what the active task needs. Do not preload all phases, reference repositories, or broad source trees.
  15.  
  16. | When you are about to… | Read |
  17. | --- | --- |
  18. | start or resume work on an open phase | its file in [`phases/`](./.agents/phases/); when none is open, read the roadmap before creating one |
  19. | ask what the product is, or plan beyond this phase | [`roadmap.md`](./.agents/roadmap.md) |
  20. | design, implement, or review code | [`standards/architecture.md`](./.agents/standards/architecture.md) |
  21. | implement or review a named mechanism | `.agents/specs/<mechanism>.md` — cite its invariant in the test that proves it |
  22. | start a stage big enough to have an order | `.agents/plans/`, shaped as [`.agents/README.md`](./.agents/README.md) §plans says — slice it before writing code; delete the plan when consumed |
  23. | change interaction, layout, focus, attention, or copy behaviour | the relevant sections of [`ui-ux.md`](./.agents/ui-ux.md) |
  24. | write, change, or delete a test | [`standards/testing.md`](./.agents/standards/testing.md) |
  25. | organize a module, or add/upgrade/remove a dependency | [`standards/rust.md`](./.agents/standards/rust.md) |
  26. | start or resume development; create, merge, or retire a branch/worktree | [`standards/git-workflow.md`](./.agents/standards/git-workflow.md) |
  27. | select, run, or fix gates; set up clone hooks or worktree builds | [`standards/quality-gates.md`](./.agents/standards/quality-gates.md) |
  28. | write or reorganize a document | [`.agents/README.md`](./.agents/README.md) |
  29. | compare against a third-party implementation | `.references/`, which is gitignored and absent in a fresh clone. Treat its absence as normal |
  30.  
  31. A change is not done until the documents it invalidates are rewritten in the same change:
  32.  
  33. | When you change… | Update |
  34. | --- | --- |
  35. | a mechanism's behaviour | its spec: the invariant, and the evidence table |
  36. | a rule the contract states | [`ui-ux.md`](./.agents/ui-ux.md), and only with the user's agreement: the contract is theirs, and an agent proposes a change with a rendered frame they have seen |
  37. | a key binding, or what the executable does or how it runs | the spec's grammar, `scripts/smoke-tui.py` where it drives the key, and the root `README.md` |
  38. | a phase's or a plan's status | the roadmap's row for that phase, the phase file's status, the plan's status; three cells, one fact each |
  39. | a dependency | [`standards/rust.md`](./.agents/standards/rust.md) §audited foundation |
  40.  
  41. **Cite, don't restate.** Reference invariant IDs such as `INS-5` instead of making another copy of the rule.
  42.  
  43. ## Working discipline
  44.  
  45. The primary checkout stays on `main`; all development, including docs and CI, happens on a task
  46. branch in `.worktrees/<name>/` under the primary checkout, unless the user explicitly requests an
  47. exception. Each task's primary agent owns its branch, worktree and cleanup. After its authorized
  48. merge, that agent syncs `main` and retires the task's worktree and local/remote branches without another
  49. cleanup request, following [Git workflow](./.agents/standards/git-workflow.md). Preserve unfinished
  50. work; report a blocked cleanup instead of calling it complete. New work gets a new branch.
  51.  
  52. The primary agent owns all edits, integration, and verification. Delegates are read-only and
  53. return evidence.
  54.  
  55. **Codex only:** explore with `gpt-5.6-luna` at `max` effort; use 2–4 distinct angles for substantial
  56. work, as slots permit. Review with `gpt-5.6-sol` at `high` effort, one targeted reviewer by default.
  57.  
  58. Before changing code: read routed docs and nearby tests; check repository status, preserve unrelated changes, and identify the contract and lowest meaningful test tier.
  59.  
  60. While changing code: keep one coherent scope; test behavior and relevant failure and cancellation paths. Use focused local checks and prefer GitHub CI for broad builds and suites on feature branches. Expand or repeat checks only for new changes, failures, or specific risks.
  61.  
  62. Before handoff: inspect the diff for dependency, generated-file, snapshot, or formatting churn; report changes, validation, and unverified work.
  63.  
  64. For layout, copy, focus, attention, or interaction changes, inspect wide, medium, and narrow rendered frames; attach them to the stage record unless the user reviewed them. String assertions prove mechanisms, not the experience.
  65.  
  66. Claim only observed passes for the current code; identify local, CI, and pending checks. Do not commit, publish, merge, install globally, or mutate live user configuration unless explicitly requested. Commit messages follow Conventional Commits.
  67.  
  68. ## Documenting work
  69.  
  70. Keep roadmap, code, tests, comments, and user-facing behavior aligned. Document ownership is in [`.agents/README.md`](./.agents/README.md).
  71.  
  72. - **Rewrite in place.** Replace outdated statements; no correction notes, superseded markers, or appended history. Git holds the history.
  73. - **One name per thing.** Use `ui-ux.md` vocabulary in code and on screen; rename all three together.
  74. - **Record contested choices.** Once a choice survives use, add a `Rejected:` sentence beside the rule naming the alternative and why it lost. Uncontested choices need no rejection note.
  75. - **An invariant with no test is marked unproven**, never left reading as fact.
  76. - **Link to the owner.** Expand docs only when needed; promote findings only when they change a durable invariant or system boundary.
  77. - **The repository is the memory.** A decision the user states is not recorded until it lands in the document that owns it, on the branch, in the same change. An agent's private notes, a session summary, or a memory file are not where a product decision, a scope cut, or a design constraint lives — only one reader ever sees those, and the next agent starts from the stale document. Every recorded note must earn its place; a note that could have been a sentence in `.agents/` is a note that should not exist.
  78.  
Tags: AGENTS.md
Add Comment
Please, Sign In to add comment