You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem — The agent picker's order is stock-alphabetical while the product config has named plan → build → autodev → autoresearch as the intended order for weeks, and there is no posture indicator or mid-session posture switch in the titlebar — the "interim Tab-switch" the director cards call interim. Approach — Two patch-stack fork changes riding ONLY the committed message/event contract: (a) the agent-list sort patch (picker order plan → build → autodev → autoresearch — a rendering constant); (b) a posture indicator with mid-session switching composed on the existing agent-switched message/event plumbing (the ledger-persists model the cards claim). Display metadata is generic-over-agents — no mode-name branch in fork logic. Scope — in: the sort patch + the indicator/switcher + the vendoring pin bump + overlay regen · out: any agent-payload widening (amendment-gated by the spec — never silent), any new engine contract.
Acceptance Criteria
Agent list order is plan → build → autodev → autoresearch, measured against the PINNED release binary (not dev)
A headless mid-session agent-switch round-trip: prompt → switch → next prompt carries the new posture's card; the campaign ledger file is untouched on disk
The indicator renders on the titlebar surface the pinned binary actually ships (the v2 titlebar dependency is named — this slice sequences after its landing, rendering on the existing titlebar until then)
The fork patch stack entry is recorded in the patches log
The vendoring pin is bumped and the overlay regenerated in-slice; the product repo's picker-order sentence stays softened (names the patch as pending) until the fork fixtures are green on the pinned binary
Testing Decisions
Fork fixtures (list order + switch round-trip) against the pinned binary; the product side keeps its existing config tests.
Key Decisions
Sequencing: lands immediately after the harness-agnostic campaign's next vendoring pin — with a BREAKER: if no pin lands within 14 days of this slice's start, this slice may bump the pin itself under the shared-checkout discipline (a breaker-fired bump is recorded in the harness-agnostic session ledger and the checkouts registry). The shared fork checkout is three-way (this campaign, harness-agnostic, session-device-lifecycle): every fork-touching cast claims it in the checkouts registry and checks the branch before every commit.
Constraints & Invariants
Fork-minimal and patch-stack-native: composes only on the message/event contract the harness campaign is committed to preserve; no new engine contract; any widening requires the amendment path named in the spec.
Prior Art
Spec decision D5; the harness-agnostic campaign's session ledger (the release-train counterpart); the session-device-lifecycle campaign (the v2 titlebar dependency and the shared checkout discipline).
Source
Spec spec-20260905-063000-modes-first-class (campaign of record: the amicode product repo's campaign ledger) · Blocked by the mode-registry slice landing (what this renders) and the harness-agnostic campaign's next pin (or the 14-day breaker). Published with Aaron's standing approval to execute (autodev, 2026-09-05).
Important
Problem — The agent picker's order is stock-alphabetical while the product config has named plan → build → autodev → autoresearch as the intended order for weeks, and there is no posture indicator or mid-session posture switch in the titlebar — the "interim Tab-switch" the director cards call interim.
Approach — Two patch-stack fork changes riding ONLY the committed message/event contract: (a) the agent-list sort patch (picker order plan → build → autodev → autoresearch — a rendering constant); (b) a posture indicator with mid-session switching composed on the existing agent-switched message/event plumbing (the ledger-persists model the cards claim). Display metadata is generic-over-agents — no mode-name branch in fork logic.
Scope — in: the sort patch + the indicator/switcher + the vendoring pin bump + overlay regen · out: any agent-payload widening (amendment-gated by the spec — never silent), any new engine contract.
Acceptance Criteria
Testing Decisions
Fork fixtures (list order + switch round-trip) against the pinned binary; the product side keeps its existing config tests.
Key Decisions
Sequencing: lands immediately after the harness-agnostic campaign's next vendoring pin — with a BREAKER: if no pin lands within 14 days of this slice's start, this slice may bump the pin itself under the shared-checkout discipline (a breaker-fired bump is recorded in the harness-agnostic session ledger and the checkouts registry). The shared fork checkout is three-way (this campaign, harness-agnostic, session-device-lifecycle): every fork-touching cast claims it in the checkouts registry and checks the branch before every commit.
Constraints & Invariants
Fork-minimal and patch-stack-native: composes only on the message/event contract the harness campaign is committed to preserve; no new engine contract; any widening requires the amendment path named in the spec.
Prior Art
Spec decision D5; the harness-agnostic campaign's session ledger (the release-train counterpart); the session-device-lifecycle campaign (the v2 titlebar dependency and the shared checkout discipline).
Source
Spec spec-20260905-063000-modes-first-class (campaign of record: the amicode product repo's campaign ledger) · Blocked by the mode-registry slice landing (what this renders) and the harness-agnostic campaign's next pin (or the 14-day breaker). Published with Aaron's standing approval to execute (autodev, 2026-09-05).