This repository was archived by the owner on Sep 17, 2026. It is now read-only.
Repository navigation
Add a root AGENTS.md, so the rules survive the session that learned them - #20
Merged
Merged
Conversation
Peeja
pushed a commit
that referenced
this pull request
Sep 17, 2026
Recorded here in the same turn the PR was opened, which is the behaviour #20 is arguing for. Needs Human Work now says why these pages drifted rather than leaving it as an apology: the rules have been living in one session's check-in prompts, so the wiki was updated when a timer fired rather than when something changed. #20 moves them into a root AGENTS.md and writes the trigger as an event. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGAGAib517Ae1kg8SCdcEt
Petra asked what would make sure the wiki gets updated as things happen rather than when someone remembers. The honest answer is that nothing would, because every rule this repository runs on has been living in one session's scheduled check-in prompts: session-local, timer-driven, and gone when the session ends. All ten services carry an AGENTS.md. The monorepo root carried none, so nothing told a new session -- or a person -- that a wiki exists, what belongs in it, or what the nine rules are. **It says up front that it is scaffolding.** Most of it exists because this repository is being assembled: rules 7 and 8 are entirely about git subtree, rule 1 is about what is still being moved in, and the wiki and the four-document split exist to carry decisions across a construction spanning many sessions. None of that is a durable guide to a finished monorepo, and left in place it would read as though it were. The replacement trigger is a checkable set of conditions -- nothing left to import, no subtree pulls pending, the rename done, Phase 1 real -- for the same reason the wiki trigger is an event rather than a wish. The wiki instruction: Opened, pushed to, rebased, merged or closed a PR? Made a decision, or took one on someone's behalf? -> update the wiki BEFORE you report what you did. "Keep it current" is the phrasing that failed twice in one hour. A stale `main` sha is worse than no snapshot, because it is believed. The rest is short on purpose and points at the wiki for reasoning rather than duplicating it. What is here is only what is already decided and observable: where the four documents differ, the nine rules in their one-line form, the four workflows, and the two conventions that have caught real mistakes (never hand-transcribe a digest or a sha; verify a guard in both directions). The guards section names the directory rather than the scripts, and that is not laziness -- the first draft listed three, `main` has two, and the third arrives with #17. Verifying the draft against the tree is what caught it. A hand-maintained copy of a derivable list is what rule 3 exists to stop, and this file should not open by breaking it. CLAUDE.md is `@AGENTS.md`, matching every service in the tree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGAGAib517Ae1kg8SCdcEt
Peeja
force-pushed
the
claude/root-agents-md
branch
from
September 17, 2026 15:08
4663494 to
f5fb9e8
Compare
Peeja
pushed a commit
that referenced
this pull request
Sep 17, 2026
Petra's point: the file is only meaningful during construction, so it needs to say so where the next reader sees it rather than outliving its usefulness quietly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGAGAib517Ae1kg8SCdcEt
Peeja
pushed a commit
that referenced
this pull request
Sep 17, 2026
Two pages of state that moved with them: the open list is #19 and #21, both on main and independent now that #17's merge retargeted #19 and Petra rebased it; the branch-deletion list is eighteen rather than seven, derived rather than typed; the root AGENTS.md exists, so the thing that was proposed is now the thing that either works or does not. #21 does not need rebasing -- it touches only itest.yml and MONOREPO_TODO.md, neither of which main has touched since 3c3fe76. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGAGAib517Ae1kg8SCdcEt
This was referenced Sep 17, 2026
Peeja
pushed a commit
that referenced
this pull request
Sep 17, 2026
Petra merged #20, #17, #22, #19, #23 and #24; main is 144b316 and the open list is #25 and #26. Dropped the merged rows from both tables rather than letting them accumulate. #25's e2e red turned out to be the pre-existing filesystem flake, and the one re-run that cleared it was warm -- so it produced the measurement as well as the green: 8 images in 23s against a 7m34s baseline, and the e2e job from 13m10s to 5m29s. #26 puts that in MONOREPO_TODO.md with the caveats attached rather than the headline alone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGAGAib517Ae1kg8SCdcEt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You asked what would make sure the wiki gets updated as things happen rather than when someone remembers. This is the answer. Two files, based on
main, stacked on nothing.It says up front that it is scaffolding
Added at your prompt, and it changes how the whole file reads, so it is the first section rather than a footnote:
The replacement trigger is a checkable set of conditions, not a feeling — nothing left to import, no subtree pulls pending, the
forge-2→forgerename done, Phase 1's release machinery real. Same reason the wiki trigger is an event.It also guesses at the split — rules 2–5 and the conventions probably survive; rules 1 and 6–9, the wiki and most of the document table probably don't — and says explicitly not to treat that guess as settled.
The honest diagnosis it came from
Nothing would have, because every rule this repository runs on has been living in one session's scheduled check-in prompts — session-local, timer-driven, gone when the session ends. That is also why the wiki updates were lumpy: they happened when a check-in fired, not when the thing they describe changed.
All ten services carry an
AGENTS.md. The monorepo root carried none. So nothing told a new session — or a person — that a wiki exists, what belongs in it versusMAJOR_DECISIONS.mdversusMONOREPO_TODO.md, or what the nine rules are.The wiki instruction is an event, not a standing wish
"Keep it current" is the exact phrasing that failed twice in one hour, so the file does not use it:
What else is in it
Short on purpose, pointing at the wiki for reasoning rather than duplicating it — duplicated prose is the thing that goes stale. Only what is already decided and observable: where the four documents differ; the nine rules in one-line form; the four workflows, and that nothing is path-filtered on purpose; and two conventions that have caught real mistakes here — never hand-transcribe a digest or a sha, and verify a guard in both directions.
CLAUDE.mdis@AGENTS.md, matching every service in the tree.The draft was wrong, and checking it is what found that
The first version enumerated three guard scripts.
mainhas two —check-stack-images.sharrives with #17. So the guards section now names the directory and lets it be the list, which is what rule 3 says to do anyway. A document that opened by breaking its own rule 3 would not have been worth much.Worth your eye
This is a proposal about how this repository is worked on, not a record of something already agreed. In particular: the nine rules are compressed from the wiki and may have flattened a nuance; the wiki trigger is the one line that actually has to work; and the scaffolding section's guess at what survives the rewrite is a guess.
🤖 Generated with Claude Code
https://claude.ai/code/session_01CGAGAib517Ae1kg8SCdcEt