docs(agents): the program plan absorbs record 0032 — five units retire the native loop behind pi, one preset at a time - #1005
Merged
Conversation
…e the native loop behind pi, one preset at a time Record 0032 decided pi is the one harness and the native turn loop retires in a replacement series of five steps, each landing a pi piece and deleting its native counterpart behind that preset's live receipt. The orchestration program plan now carries that series as Phase G, units U25 to U29, with requirements R39 to R44 stating what the record decided: the proxy and run bearer (U25), pi in both execution images with the extension, the bridge and the attach route while the coding preset moves (U26), review and explore moving with the /exec executor path for agent commands deleted (U27), ship unchanged as the receipt that a plan runs on pi children (U28), and general, research and conductor moving while the native loop, both provider adapters and the native tool table are deleted with pi-ai as the provider layer (U29). U11 is superseded by the series; Phase C's accept line points at record 0032; the graph, the open questions, the verification contract, the definition of done and the follow-ups ledger follow. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Sep 14, 2026
Contributor
There was a problem hiding this comment.
LGTM: Docs-only plan update absorbing record 0032's Phase G (U25–U29); internally consistent, links resolve — two cosmetic leftovers around superseded U11.
- [nit] F1 docs/plans/2026-09-10-001-feat-orchestration-program-plan.md:183 — Stale mermaid edge U22 --> U11 after U11 is superseded
- [nit] F2 docs/plans/2026-09-10-001-feat-orchestration-program-plan.md:788 — Verification-contract row still lists superseded U11
Verdict: approve — clean, coherent docs-only plan update; the two findings are cosmetic leftovers around the superseded U11 (a stale mermaid edge and a verification-table mention) and don't block.
Contributor
Author
|
Review round 1 (LGTM, two nits) — both skipped under the current severity level (minor), no repush:
Both are cosmetic and pre-existing; the amendment's own lines carry no U11 dependency. Resolved as skipped. |
This was referenced Sep 14, 2026
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.
Record 0032 decided that pi is the one agent harness and that the hand-written turn loop retires in five gated steps, each landing a pi piece and deleting its native counterpart. This PR puts those five steps into the orchestration program plan as units on the board, so the retirement is scheduled, ordered and receipted like every other unit of the program. Docs only.
What & why
Record 0032 is the adoption record the plan's harness track (U10) was waiting for. It decided more than the plan's U11 anticipated: no
harness: native | pipreset property, one harness for every preset, and a replacement series (proxy → coding → review and explore → ship, where nothing moves → general, research and conductor) that never leaves two loops serving one preset. The plan isproposed, so its body may be amended, and this PR amends it the way PR #957 added Phase F: five new units U25 to U29 in a new Phase G, six requirements R39 to R44 stating what the record decided, the phase table, the dependency graph, the open questions, the verification contract, the definition of done and the follow-ups ledger updated to match. Every unit's Files come from the record's "today at sha" table, its Approach from the record's hard-part sections, its Test scenarios from the record's validation criteria and its Verification from the record's rollout gates — no new design.U11 (#833) is superseded by the series and closed pointing here; U9 and U10 stay as they are. Phase C's accept line now points at record 0032. Parent issue: #821; the harness exploration issue the plan retired: #765.
Board items (Phase G, project 4, Status Todo): #1006 U25, #1007 U26, #1008 U27, #1009 U28, #1010 U29 — listed with their dependencies in a comment on the parent, the way the Phase F items were.
Tour
1. The six requirements the series builds to
R39 is the series invariant (one pi piece in, one native counterpart out, per pull request, gated by the preset's live receipt; no
harnessfield; a one-way door after step five). R40 is the detached process and the re-attach on the resident and sandbox. R41 is the gate as a hook that asks the bot per tool call. R42 is the record under pi (the homeless events' dispositions, compaction as a superset, onemodel.turnspan per proxied call). R43 is the presets without a workspace on pi in the bot container, with the deletions of step five. R44 is the generated tool schemas and the version pin. Look for: every clause traces to a sentence in record 0032's difficulty sections, invariants or rollout; nothing here is new design.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 101 to 108 in 47b7f72
2. R20's open parenthetical, closed by the record
R20 left the proxy's wire shape to U10 ("OpenAI-compatible; whether it also speaks the Anthropic shape is U10's call"). Record 0032 decided both shapes; the parenthetical now says so, and the same question leaves the Open questions table (step 11).
switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Line 66 in 47b7f72
3. Phase G in the table, and Phase C's accept line
Phase C now closes on record 0032 (Justin's acceptance flips it and opens Phase G) and no longer lists U11. Phase G carries the record's five gates in order as its receipt, and the dependency chain: U26 on U25, U27 on U26, U28 on U27 and U15, U29 on U27. Look for: the first pull request waits on the record's
acceptedflip — R19 makes the record the gate for any harness code.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 248 to 252 in 47b7f72
4. The graph gains the series' edges
U10 now leads into U25 (the U11 node stays, relabelled superseded), the chain runs U25 → U26 → U27 → U29, and U28 hangs off U27 and U15.
switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 171 to 177 in 47b7f72
5. U25 — the proxy, the run bearer and the meter
Step one of the series: two routes on the bot (
/v1/messages,/v1/chat/completions) reached through the shim like/ingress; a bearer minted per run, expiring at budget plus 5 minutes, revoked byRunEnding, never logged; the preset's model and the profile'smax_tokenspinned on the wire,maxTurnsrefused asturn_budget_exhausted; onemodel.turnspan per call with the runner's four token attrs. Nothing is deleted and no preset moves; the receipt is the spike's driver through the proxy with the overhead measured. Look for: the new module pathsrc/core/harness/proxy.tsis the one thing here the record does not fix (see Decisions).switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 675 to 694 in 47b7f72
6. U26 — pi in both images, the extension, the bridge, the attach route; coding moves
The largest step. Files: the two Dockerfiles under
imagePins, the extension package withgen+checkschemas, the bridge, thePOST /harness/{attach,send,stop}route on both Workers withstopwired into release, detach and the sweep, the tworun_notekinds andtool_refused, the first tool-level policy rows, and the deletions (the run stage's coding path,TOOLSETS.full, the nativewrite_fileandsubmit_*tools, the coding exec path). Approach steps 1 to 8 are the record's trace: the proof before the first pull request, the wrapper and FIFO, the bridge's event map and steers, the re-attach by pid and start time, the hook, the terminal tools, the three open questions closing here, the deletion.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 696 to 711 in 47b7f72
The test scenarios are the record's validation table rows for step 2, one bullet each (the
PI_EVENT_HOMEblock, the route, the bridge's re-attach, the run-page replay, the hook, the image test, thegen+checkpair, the ledger unchanged, the effort map, the source scan); Verification is the record's gate: the re-attach proof plus five coding tasks with a bot kill and a resident roll mid-run.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 712 to 723 in 47b7f72
7. U27 — review and explore move
The head-move re-review and the round loop's review child become a
prompton the run's own session; explore exercises the sandbox Worker's attach route on a cold sandbox; deleted: the nativebash,read_file,diff_digest,submit_verdict, thereadonlyandexploretoolsets, the sandbox executor's tool transport and the/execexecutor path for agent commands. Look for: the bot's own post-step/execcommands (workspace observation, the reading diff, the verification guard) andmeatstay — the record's boundaries.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 725 to 742 in 47b7f72
8. U28 — ship: nothing moves
A receipt-only unit in the U7 shape: no files in the tree; ship's children are
dispatch()runs already on pi, and the receipt is a plan of two dependent units running end to end on pi children with a bot kill during the coding child. Look for: Dependencies name U27 as well as U15 — the record's step four says the coordinator's children are "presets already on pi", which means review too.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 744 to 753 in 47b7f72
9. U29 — general, research and conductor; the native loop is deleted
pi as a child process of the bot container with
--no-builtin-tools; our web, GitHub, run and skill tools as relays to bot routes over loopback with the run bearer; the conductor's spawn relay still callsdispatch(); reflection's one call moves to@earendil-works/pi-ai; deleted:src/runner.ts,src/providers/,src/tools/workspace.ts;run-loop.mdretires. The gate isaskon general and research in production and a conductor run with two children.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 755 to 776 in 47b7f72
10. U11 superseded
One Status line in the plan's convention (U0, U6, U13 and U14 carry the same key): superseded by record 0032, the seam's substance is U26 and U27, not built as written. The unit's text below it is untouched.
switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 435 to 437 in 47b7f72
11. Open questions: one resolved, three carried
The proxy-shape question resolves to "both, by record 0032, built by U25" (the #957 amendment resolved a row the same way). The record's own three open questions (repository skills,
AGENTS.mdversus the injected contract, the effort-to-thinking map) enter the table pointing at U26 and its gate.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 236 to 237 in 47b7f72
12. Verification contract, definition of done, follow-ups ledger
Three new gate rows (the sandbox Worker's verify, the
gen+checkpair, the no-two-loops source scan) and U25 to U29 on the existing rows; the harness bullet of the definition of done names the record and the end state; the ledger'sharnessproperty row flips to superseded and three rows enter for what the record defers or hands elsewhere.switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 788 to 792 in 47b7f72
switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Line 805 in 47b7f72
switchboard/docs/plans/2026-09-10-001-feat-orchestration-program-plan.md
Lines 858 to 861 in 47b7f72
13. Remaining changes
docs/plans/2026-09-10-001-feat-orchestration-program-plan.mdL17–L18 — Goal Capsule: the objective names the retirement; record 0032 joins the authorities for the harness.harnessproperty.Decisions
proposed; docs(ship): the orchestration program absorbs record 0026 slice one and spawn/await as five units, and the plan runner holds plan:merge for plan branches #957 amended R31 the same way).src/core/harness/proxy.ts,src/execution/piBridge.ts(the record's word for the bot-side client),packages/pi-tools/(U11's name for the extension source) — are named because a unit names its files; the record fixes routes and rules, not paths.decisions:checkallows aproposedplan to change freely, but the plan's convention for a superseded unit is a Status line above unchanged text (U0, U6, U13, U14).Validation
npm run decisions:checkgreendecisions:check ok — 45 record(s) carry a valid status, every superseded_by resolves, accepted bodies unchanged against origin/mainnpm run docs:checkgreendocs:check ok — 10 file(s) match the command registry, the decision records and the diagram sourcesnpm run specs:checkgreenspecs:check ok — 43 spec(s), 2697 proof reference(s) checked, every Code/Tests path existsnpm run hygiene:checkgreen (plans are exempt; checked anyway)public-hygiene ok — 0 file(s), 0 hit(s) still listed, 130 line(s) allowednpm run format:checkgreenAll matched files use Prettier code style!npm run check:pr-titleon this titlecheck:pr-title ok — docs(agents): the program plan absorbs record 0032 — …npm run verifygreen, exit 0Test Files 368 passed (368), `Tests 6772 passed#NNNadded to the plan body; no dates in the new units🤖 Generated with Claude Code