Skip to content

Agent environment: review gate, proving live, consumers, implementer brief, traps.md - #41

Merged
sodre merged 7 commits into
mainfrom
retro/environment
Nov 14, 2026
Merged

sodre merged 7 commits into
mainfrom
retro/environment

Conversation

@sodre

@sodre sodre commented Nov 14, 2026

Copy link
Copy Markdown
Member

Summary

The retrospective of spec #18's session, turned into the agent environment: one commit per item.

 AGENTS.md
   - Changing the stack ...: docs/stack.md
   - Operating the live stack ...: docs/runbook.md
+  - Proving a change live ...: "Proving a change live" in docs/runbook.md
+  - Implementing a ticket as a subagent: docs/agents/implementer.md
-  - Reviewing a change: apply CODING_STANDARDS.md
+  - Reviewing or merging a change: CODING_STANDARDS.md + docs/agents/review-gate.md
 docs/
   agents/
+    review-gate.md     # /code-review since the fixed point, then a code-review status on the head
+    implementer.md     # what every implementer subagent does
   runbook.md           # + "Proving a change live", + "who a label-contract change affects"
   stack.md             # + "Image changes land on main first"
+  traps.md             # the traps table, rows verbatim (was the end of runbook.md)
 scripts/
+  consumers.sh         # make consumers: repo  workflow  job  runs-on
 .gitignore             # + .claude/worktrees/
consumers.sh
  runner group (ORG/GROUP, defaults zeroae/ci-runner) -> its repos (paginated)
    each .github/workflows/*.y(a)ml on the default branch (contents API)
      each job whose runs-on names ci-spot | ci-ondemand | ci-fargate-spot | ci-fargate
        (plain, list, mapping, or the vars.ZAE_CI_RUNNER && fromJSON(...) form)
        -> print repo  workflow  job  runs-on
      a capacity named outside any runs-on (a matrix) -> one line with job "-"

Code search misses private repos, which is why consumers.sh reads the workflows directly.

Evidence

  • Before: no way to list the jobs a label-contract change affects without code search, which misses every consumer (they're private).
    After: make consumers against the live org: 3 repos in the group, 14 jobs listed across all 3 (10 in the fromJSON form). Fixtures cover inline, list, mapping and matrix runs-on.
  • make test: 144 pass, 0 fail. make build: 74,297 of 1,048,576 bytes.
  • git grep -i "traps table" finds only the historical design spec.

Merge Danger

Door: two-way

Docs, one read-only script and a Makefile target. The rulesets are untouched: the controller makes main require the code-review status that review-gate.md describes.

Blast Radius: agents

Changes what agents read and do here. The stack, its functions and the consumers stay as they are.

🤖 Generated with Claude Code

sodre and others added 7 commits November 14, 2026 01:07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Code search misses private repos, so it reads each runner-group repo's
workflows through the contents API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rows move verbatim; every pointer to the runbook's traps table now
names docs/traps.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sodre
sodre merged commit 1873e22 into main Nov 14, 2026
2 checks passed
@sodre
sodre deleted the retro/environment branch November 14, 2026 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant