From 96ee66ff37cbdc7410c0b0b87a264fb1b2135a0d Mon Sep 17 00:00:00 2001 From: Eureka Date: Mon, 12 Oct 2026 03:37:56 +0200 Subject: [PATCH] Skill: map only what is about to run; later cuts are lines in the prose map's cut sequence Co-Authored-By: Claude Opus 5.5 --- SKILL.md | 20 ++++++++++++++++++-- references/briefs.md | 10 ++++++---- references/campaign-state.md | 3 +++ references/changelog.md | 8 ++++++++ 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/SKILL.md b/SKILL.md index 90769de..5bdc136 100644 --- a/SKILL.md +++ b/SKILL.md @@ -116,8 +116,8 @@ different is not waste; discovering it after the code lands is. ### 1. Imagination maps the cut -Brief an Imagination agent to admit the cuts: one `cut_spec` per cut against -the current Body, ordered by `depends_on`, which names cut labels. The fields are the spec standard: +Brief an Imagination agent to admit the `cut_spec` for the next cut against +the current Body; `depends_on` names the cut labels it waits on. The fields are the spec standard: repo, branch and base; `deletes` first, with exact paths and line counts; `keeps_moves`; `adds`; `file_changes` at `file:line` **for code that exists**; an `authority_map` for anything that changes ownership; `verification` (builds, @@ -126,6 +126,22 @@ for the ledger; and the `rulings` and `questions` it rests on. A changed spec is a new revision, admitted with the resolution that supersedes the old one, never an edit. +**Map only what is about to run.** A `cut_spec` is admitted for a cut Self +dispatches as soon as the spec is in: its dependencies have landed or are in +their Soul pass, and Self has the head and the machine for it. That is the next +cut of a campaign, plus a sibling that can run beside it in its own worktree. +Every later cut is one line in the prose map's cut sequence (a title and what +it waits on), never a spec. A cut split for budget admits its first part; the +rest stay lines. A spec waits on the Body and goes stale: the variants specs of +2026-10-02 sat ten days behind a moving CultLib and needed a fresh Imagination +pass before Hands could use them. Operator, 2026-10-12: "Originally a spec +would get dispatched as soon as it's written, but we've been drifting way ahead +of the work". So the specs-with-no-report recipe is the dispatch queue, and a +spec on it that Self is not dispatching this session is a defect. A spec +already in force from before this rule is refreshed (revision N+1) or +withdrawn when its campaign's frontier reaches it, never dispatched on a base +`tools/context-pack.py` reports as moved. + **Spend the detail where the map can be wrong, not where Hands will rewrite it anyway.** Anchors against existing code earn their length: they say what to delete and what not to touch. They are also Hands' context pack, pinned at base diff --git a/references/briefs.md b/references/briefs.md index 378fc74..f19d553 100644 --- a/references/briefs.md +++ b/references/briefs.md @@ -133,8 +133,10 @@ question ids you admitted. Dispatch: `subagent_type: imagination`, model Opus. ``` -Migration: . Admit a cut_spec for so -Hands can go straight to the cut with little reading. +Migration: . Admit a cut_spec for so Hands can go straight to the cut with +little reading. Map nothing further ahead (SKILL.md step 1, "Map only what is +about to run"): later cuts are one line each in the prose map's cut sequence. Admit only cut_specs, their superseding resolutions, and questions. In the prose map at , edit body facts and rationale. Also edit the model page @@ -177,8 +179,8 @@ The cut_spec's fields are the spec standard. Beyond filling them: revision N by it, in one batch; never a second spec for the same cut If a cut would not fit one Hands pass under , split it into specs ordered by depends_on (cut labels), each with its own -verification. +step 3>, admit its first part as the spec, with its own verification, and add the +rest to the prose map's cut sequence. Where only the operator can decide, admit a question with a recommended option, raised in the spec it blocks. diff --git a/references/campaign-state.md b/references/campaign-state.md index 5ccb328..19f1879 100644 --- a/references/campaign-state.md +++ b/references/campaign-state.md @@ -326,6 +326,9 @@ reads its gaps with this query: happens to it over time, and who decides (SKILL.md step 0b). - **Rationale:** why the cut order is what it is, why a design was rejected, and anything longer than a `Para`. +- **The cut sequence:** one line per cut not yet mapped (a title and what it + waits on). A cut leaves the list when its `cut_spec` is admitted, which is + only when Self is about to dispatch it (SKILL.md step 1). It has no progress section, no per-cut sections, no rulings and no ledger table: those are documents, and the recipes above read them. `docs/-target.md` diff --git a/references/changelog.md b/references/changelog.md index e13407b..33b2f58 100644 --- a/references/changelog.md +++ b/references/changelog.md @@ -2,6 +2,14 @@ Record each change to the skill together with the evidence that motivated it. +## 2026-10-12: map only what is about to run + +Self, session `self-2026-10-12-eureka`. + +Evidence. 26 cut specs in force across nine Eureka-area campaigns had no report, and almost none was blocked: their dependencies had landed. Imagination had mapped each campaign's whole cut chain at once (step 1 said "admit the cuts ... ordered by depends_on"), while each cut took up to seven Soul rounds through one Self. The variants parity specs of 2026-10-02 went ten days stale behind CultLib and need a fresh Imagination pass. Operator, 2026-10-12: "Absolutely it should be a rule. Originally a spec would get dispatched as soon as it's written, but we've been drifting way ahead of the work for some reason." + +What changed. `SKILL.md` step 1 admits a spec only for the cut Self is about to dispatch (plus a parallel sibling); later cuts are lines in the prose map's new cut sequence (`references/campaign-state.md`). The Imagination brief in `references/briefs.md` maps the next cut only, and a budget split admits its first part. Specs already in force are refreshed or withdrawn when their campaign's frontier reaches them. + ## 2026-10-12: the tool-calling map is dated; two admission notes Self, session `self-2026-10-12-eureka`. -- 2.47.3