Add phase5-week orchestration skill and unblock dependency fetch in proxied environments - #1
Merged
Conversation
Encodes the Phase 5 weekly cycle as a single invocation: teach, implement, audit, fix, commit. The orchestrator runs the verify gate itself between stages rather than trusting a subagent's claim, snapshots each round to a patch so a bad fix round can be reverted, and requires new queries to land in the SQLite oracle rather than only the self-authored regression harness. The post-Week-36 pass audits seams between weeks (join chain, subquery chain, engine divergence, optimizer preservation, storage) instead of one agent per week, since each week is already audited in its own cycle. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MLtcWMhsW9Xk4cv4Sp9xoy
The orchestrator has to carry weeks 26-36 in one context, so any step that produces bulk text now writes to a file and returns a summary of ten lines or less. Teaching output goes to docs/week-<y>-plan.md, audits and gate logs to scratchpad/, and the commit split is delegated rather than done inline so the week's diff never enters orchestrator context. Verification moves to a dedicated verifier subagent with a fixed reply schema requiring real pass counts. This keeps the property that mattered — the agent being graded is not the one reporting the grade — without the orchestrator absorbing three full gate runs per week. The cycle now auto-advances through Week 36 and runs the seam audit, with the state file as the resume point if a session is compacted mid-run. Ignore scratchpad/ so orchestrator working files cannot reach a commit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MLtcWMhsW9Xk4cv4Sp9xoy
Agent B is launched immediately after a green gate, so running the tests teaches it nothing and offers a path to concluding "no issues found" without reading anything. Tell it the tree is already green, that a green suite is not evidence of correctness, and that reading the code is the job. Point it at the concrete failure mode this codebase actually has: silent dispatch sites missed in development.md's checklist, which never fail a test. Require file:line plus a triggering input on every finding, so an ungrounded hunch cannot pass as an issue. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MLtcWMhsW9Xk4cv4Sp9xoy
Sandboxed agent and CI environments commonly proxy egress and reject GitHub's codeload archive endpoints with a 403 while permitting the git protocol, so FetchContent could not populate googletest or nlohmann/json and configure failed before reaching a compiler. Declare both by GIT_REPOSITORY at the same pinned tags, shallow. Verified in a proxied container: configure succeeds, the build is warning-clean, 524 unit tests pass, the SQLite oracle passes 440 queries and the regression harness 231 across all modes. Also make the verify skill's job count portable. sysctl is macOS-only; on Linux the substitution was empty, leaving a bare -j that spawns unbounded compile jobs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MLtcWMhsW9Xk4cv4Sp9xoy
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds
/phase5-week, a skill that runs one Phase 5 week as an orchestrated teach → implement → audit → fix → commit cycle and auto-advances through Week 36, plus the build fix that lets it run in a sandboxed cloud session at all.The skill
.claude/skills/phase5-week/SKILL.md. The orchestrator holds control flow and state only — it writes no engine code, runs no builds, and reads no diffs or audits.Two properties it is built around:
Nothing verifies its own work. The implementing agent is explicitly told not to report test status. A separate verifier subagent with no stake runs the
verifygate and returns a fixed block requiring real counts (unit: PASS (524/524)), never prose. Same reasoning that makes the auditor a different agent than the implementer.Bulk text goes to a file, never to the orchestrator. Teaching output lands in
docs/week-<y>-plan.md, audits inscratchpad/audits/, gate logs inscratchpad/gates/, and the commit split is delegated so the week's diff never enters orchestrator context. Every subagent returns ≤10 lines. This is what makes weeks 26–36 fit in one session; the per-week budget is roughly 80 lines.The auditor is told the tree is already gate-green, that a green suite is not evidence of correctness, and that reading the code is the job — pointed specifically at the silent dispatch sites in
development.md, which never fail a test. Findings requirefile:lineplus a triggering input.Round snapshots go to
scratchpad/*.patchso a bad fix round can be reverted rather than restarting the week. Three consecutive red gates abort the cycle instead of looping.scratchpad/is gitignored so none of it can reach a commit.After Week 36 the final pass audits seams between weeks — join chain (26→29), subquery chain (30→34), engine divergence, optimizer preservation, storage — rather than one agent per week, since each week is already audited twice in its own cycle. Week 37 is left alone.
The build fix
FetchContentdeclared googletest and nlohmann/json by archive URL. Sandboxed agent and CI environments commonly proxy egress and reject GitHub's codeload archive endpoints with a 403 while permitting the git protocol, so configure failed before reaching a compiler. Both are now declared byGIT_REPOSITORYat the same pinned tags (v1.14.0, v3.11.3), shallow.Also made the
verifyskill's job count portable —sysctlis macOS-only, so on Linux the substitution was empty and left a bare-jspawning unbounded compile jobs.Verification
Full gate run in a proxied Linux container, on this branch:
No engine code is touched by this PR — the changes are the skill, the two dependency declarations, and one line in the
verifyskill.The skill itself is unexercised. Week 26 is its first real run.
Generated by Claude Code