Fable Session
A Fable session owning a piece of work end to end, in a worktree of its own.
Roles
Fable holds the arc and checks coherence across pieces. It delegates the implementation rather than doing it, keeping its own context under ~200k.
Delegation mechanism, by phrasing:
- fable session — Fable's call
- fable team session —
Agent - fable workflow session —
Workflow
Model per delegated task:
- Opus — default
- Sonnet — simple and fully specified
- Fable — needs nuance
Done
A commit plus a demonstrated run — an e2e recording where there's a UI.
Brief
A written plan the session can read, pointed at rather than pasted, plus a
short who-does-what naming the split above. Point at whatever already holds the
plan — a backlog map, a PRD, the tracking issue. The handoff itself is not
committed: post it as a "Session handoff" comment on the
arc's tracking issue and have the first prompt say "read the session handoff
comment on #N", or keep it as a local untracked file. Durable findings go to
docs/research/<topic>/.
Host
Where the session runs is a separate choice from how it delegates. Default to the surface the work already lives in.
| Host | Fits when | Mechanics |
|---|---|---|
| Orca terminal | orca worktree current --json resolves |
orca-cli skill, "Fable session handoff" |
| cmux workspace | $CMUX_WORKSPACE_ID is set |
cmux-orchestrator skill — cmux new-workspace --cwd <worktree> --command <launch> |
| WorkSpaces | the repo is registered with the workspaces CLI (workspaces repo list) |
workspaces ws new <repo> <name>, then workspaces open <ws> --cmd <launch> |
| Plain terminal | none of the above, and the work wants a session that outlives this one | git-worktree skill for the worktree, then a terminal tab in it |
Agent subagent |
the arc fits inside this session | Agent with model: "fable", isolation: "worktree" |
The first four launch a CLI and share the same three failure modes:
claude --model claude-fable-5
Pass the model flag explicitly — bare claude has come up Opus. Wait for the TUI
to settle before sending. Send a one-line prompt pointing at the brief; multi-line
pastes sit unsubmitted in the composer. Read the screen once to confirm the status
line says Fable 5 and the prompt was submitted rather than left sitting in ❯,
then stop monitoring.
Wait-then-send is a verb per host: Orca terminal wait --for tui-idle then
terminal send; cmux read-screen then send and send-key Enter; workspaces
automation wait --for prompt_ready then automation input write --submit,
which is operator scope and needs the app running with the Automation Operator
experiment on; a plain terminal you type into yourself.
A subagent host has none of those: the brief path goes in the prompt, the model is a parameter, and there is no screen to check. The trade is that the report lands here rather than on a surface Michael can talk to, so relay it — and the arc ends when this session does.