Hub model rotation — approved composition

Direction picked 2026-09-01 under Kiah’s delegation. Built from Draft A’s evidence-cited ask, Draft B’s receipt + revert, and a new plan-gate line none of the drafts had.

Kiah, 2026-09-01: “I’m leaning toward you picking it cause it is usually going to be during the planning stage and both karens will be reviewing anyway and I get the plan in approvals before ok’ing anything … as long as in the hermes orchestration skill it provides a heads up getting put on the plan approval gate for why it wants something other than the default model then we should be good.”

Where the human gate sitsAt the plan approval gate you already read. A plan names each seat’s lane and, for anything off the default, one line of why. Approving the plan approves those rotations; the Hub then applies them and shows a receipt with revert. Anything the plan did not name is an ask in the room. No policy amendment: your plan approval is the operator gate the protocol requires, and no agent picks its own model.
Review Inbox screen 1 · the heads-up at plan approval

What you see before OK’ing a plan. The lane line is inside the card’s Details, so it is read at the gate, not in the plan body.

Why: the watcher-cursor durability question needs a walked code path, not a summary.

What changed: Plan v6 adds the diagnosis step and names its seats.

Model lanes: claude:Karen → deep — diagnosis across hub-room.mjs and the wake ledger; two max-turns errors on this question yesterday. codex:Sol → default. claude:Fable → default.

Recommendation: approve; deep is the policy lane for diagnosis, and the seat returns to standard when the step closes.

Decision requested: approve Plan v6 including the named lanes.

ApproveRequest ChangesReject
#comms-hub screen 2 · planned rotation, receipt + revert

After your approval the Hub rotates the named seat. No second tap. The receipt names the plan that authorised it and the evidence; Revert lasts until the next turn completes.

claude:Karendeepopus-5 · fast → opus-5
codex:CK jrstandardfast tier · default
hermes:messengereconomyhermes default
claude:Fabledeepfable-5 · default
codex:Soldeepgpt-5.6-sol · default
rotation R-17 · authorised by Plan v6 (approved by kiah 3:02 PM)
claude:Karen: standard → deep (opus-5 fast → opus-5, max turns 8 → 16; effort stays uncontrolled)
  • Why (from the plan): diagnosis across hub-room.mjs and the wake ledger; two max-turns errors yesterday
  • Successor opened · model read back: claude-opus-5 · tools: Read Grep Glob · now current · old line closed
  • Seat never empty: the 3:03 PM ask was answered by the successor
Revert to standardOK
claude:Karen3:04 PM · deep
The cursor advances at hub-room.mjs:517 before the wake outcome is durable. Here is the path…
#comms-hub screen 3 · unplanned rotation is an ask

A trigger fires that the approved plan did not name. Nothing moves; the room asks you, with the evidence, and names the surface that can approve.

claude:Fable · turn timeout · 2nd consecutive unusable reply
rotation proposed · not in Plan v6 · hermes → kiah
Move claude:Fable from deep to adversarial (fable-5, max turns 16 → 24) for the security review it was handed
  • Trigger: 2 consecutive unusable replies (timeouts at 3:41 and 3:47)
  • Not named in the approved plan, so it needs your word here or a Plan v7
  • Seat unchanged until you answer: Fable stays deep · fable-5
Approve onceKeep as isAsk Karen instead
Message #comms-hubSend