From 45bfa53cdc26b62379788a6f3f6ce58db8bf5426 Mon Sep 17 00:00:00 2001 From: Eureka Date: Sat, 3 Oct 2026 12:04:30 +0200 Subject: [PATCH] Rotation: a clear ends background agents, so rotate with none in flight; briefings carry each question's options The 2026-10-03 clear killed three agents that the handoff expected to survive: commits survived on branches, two cut reports and a verdict were never admitted. The same morning's catch-up gave the operator recommendations without options, because it read the handoff instead of the question documents. Co-Authored-By: Claude Opus 5.5 --- SKILL.md | 13 ++++++++++--- references/tool-calling-cut.md | 7 ++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/SKILL.md b/SKILL.md index 734830d..3b6c883 100644 --- a/SKILL.md +++ b/SKILL.md @@ -201,7 +201,10 @@ default, a naming choice, or a guard against our own code (the proportion rule below). When unsure, run the pass. Put the open questions to the operator together, from the open-questions recipe, -each with its options, recommendation, and what depends on the answer. Self +each with its options, recommendation, and what depends on the answer. This +holds in a catch-up briefing too: read the options and context from the +`question` document, never from a handoff's one-line recommendation, so the +operator rules on the fork and not on Self's summary of it. Self admits every answer as a `ruling` that answers its question, keeping the operator's words in `operator_quote` when they carry meaning a paraphrase would lose. An operator direction that answers no question is still a ruling, with @@ -533,8 +536,12 @@ and reconciles the target doc with the Body. - **Never claim an agent's result before its notification arrives.** - **Self's own context is the most expensive in the pipeline.** Every notification re-reads all of it. Rotate at about 300k context or at a phase - boundary: write a short handoff (campaign slug, session label, in-flight - agent ids, next action) to the scratchpad and ask the operator to `/clear`. + boundary: write a short handoff (campaign slug, session label, next action) + to the scratchpad and ask the operator to `/clear`. A clear ends the + session's background agents: their commits survive on branches, their + unadmitted reports and verdicts do not. Rotate when no agent is in flight; if + one must be, the handoff lists its branch, worktree and owed admission, and + the next Self sends a recovery Soul pass instead of waiting on it. Agents are capped at about 300k context or 150 calls, after which a fresh continuation agent takes over. Never read logs or diffs in the root; `view` reports and verdicts. diff --git a/references/tool-calling-cut.md b/references/tool-calling-cut.md index 5e8b733..f617419 100644 --- a/references/tool-calling-cut.md +++ b/references/tool-calling-cut.md @@ -227,8 +227,9 @@ Shape: at ~500k, which is **~30% of root reads**. 2. **Rotate the root at about 300k, or at each phase boundary, whichever comes first.** All campaign state is in Huginn, so the handoff is short: the - campaign slug, the session label, in-flight agent ids, and the next action, - written to the scratchpad. Self then asks the operator to `/clear` (Q3). A + campaign slug, the session label and the next action, written to the + scratchpad. A clear ends the session's background agents (observed + 2026-10-03), so rotate when none is in flight; see SKILL.md. Self then asks the operator to `/clear` (Q3). A fresh root rehydrates with the campaign recipes, at about 100k. At a median root context of ~200k instead of ~500k, **every remaining root call costs about 60% less**. @@ -299,7 +300,7 @@ Shape: - **451-513 (Self's discipline): add two bullets:** - **Self's own context is the most expensive in the pipeline.** Every notification re-reads all of it. Rotate at ~300k or at a phase boundary: - write the handoff (slug, session label, in-flight agent ids, next action) + write the handoff (slug, session label, next action; no agent in flight) and ask the operator to `/clear` (ruling: Q3). Never read logs or diffs in the root; `view` reports and verdicts. - **A subagent that notifies before its report is a brief defect.** Count