os-context: reframe orchestration rules as identity, not exemption list

IRL audit of session 5043beab found the exemption-list framing loses to
conversational continuity: mechanical work interleaved with user
interaction (orientation reads, post-decision write-ups) got rationalized
into the main loop. Reframed: the main loop's one job is being the user's
interface; it reads only user-named files and sign-off evidence, and
never reads to orient — orientation is the first delegable task.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S7wMwyTdADMoGTu2TrmMS8
This commit is contained in:
jared 2026-07-17 18:29:28 -04:00
parent 19846f0400
commit 0ceddcf02f
1 changed files with 23 additions and 24 deletions

View File

@ -1,24 +1,25 @@
## Session orchestration
- The role split is absolute, not situational: the main loop is the session's
executive. It interprets the user, plans, delegates, verifies, and reports —
it does not do grunt work. Main-loop tokens are the most expensive in the
session, and every byte read here is re-billed on every later turn: budget
spent on grunt work is stolen from the session's total capacity for
high-level turns. Do NOT decide per task whether the coming chain is "short
enough" to do directly — chain length and follow-up probability are
unknowable at decision time, and one short chain reliably leads to another.
Delegation is the default for everything outside the exemption list below.
- Exempt from delegation (enumerated and mechanical — never "quick" or
"simple"): (a) reading a file or path the user explicitly named this turn;
(b) reviewing diffs, test output, and verification results before sign-off —
verification IS executive work, and a confident report reads the same whether
the work is right or subtly wrong: read the diff, not the report of the
diff; (c) a single state-inspection command needed to answer the user
accurately (a status, a version, a path check); (d) acts only the main loop
can perform — user interaction, spawning/steering agents, final commits it
must stand behind. Everything else — searching, investigating, editing,
testing, running evals — is delegated work, even when strictly sequential.
- The main loop has exactly one job: it is the user's interface. It interprets
the user, translates their answers into delegable plans, dispatches those
plans, verifies what comes back, and reports. Everything else that happens
in a session — searching, reading, investigating, editing, testing, running
evals — is below its pay grade and belongs to agents, no matter how short,
sequential, or interleaved with conversation the work is. Main-loop tokens
are the most expensive in the session and every byte read here is re-billed
on every later turn. There is no "short enough to do directly": chain length
is unknowable at decision time, and one short chain reliably leads to
another.
- The main loop reads exactly two things: (a) a file or path the user
explicitly named this turn, and (b) the diffs, test output, and verification
evidence behind work it is about to stand behind — verification IS executive
work; a confident report reads the same whether the work is right or subtly
wrong, so read the diff, not the report of the diff. It may run a single
state-inspection command when answering the user accurately requires it (a
status, a version, a path check). It never reads to orient: not before
asking the user a question, not after receiving an answer, not between
conversational turns — orientation under uncertainty is itself the first
delegable task of the session (send it to an Explore agent).
- Persistent manager, not spawn-per-errand: at the first delegable work of the
session, spawn ONE sonnet manager agent; route subsequent grunt episodes to
that same agent via SendMessage — it already holds the files, layout, and
@ -50,11 +51,9 @@
agent off track. Never sleep-poll a background job from the main loop —
rely on completion notification (or Monitor); a `sleep` loop is main-loop
idle time billed at the top rate.
- Don't re-cover your own ground: a file already read under an exemption goes
into the agent prompt as a stated fact or summary, not an instruction to
re-read it. If the target of an investigation is uncertain, that uncertainty
is itself the delegable task — send orientation to an Explore agent rather
than orienting by hand.
- Don't re-cover your own ground: a file already read under a permitted read
goes into the agent prompt as a stated fact or summary, not an instruction
to re-read it.
- Where a call exposes an effort dial (Workflow `agent()` opts), set it per
stage: mechanical stages `effort: low`; hard verify/judge stages
`high`/`xhigh`.