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 <noreply@anthropic.com>
This commit is contained in:
Eureka 2026-10-12 03:37:56 +02:00
commit 96ee66ff37
4 changed files with 35 additions and 6 deletions

View file

@ -116,8 +116,8 @@ different is not waste; discovering it after the code lands is.
### 1. Imagination maps the cut ### 1. Imagination maps the cut
Brief an Imagination agent to admit the cuts: one `cut_spec` per cut against Brief an Imagination agent to admit the `cut_spec` for the next cut against
the current Body, ordered by `depends_on`, which names cut labels. The fields are the spec standard: 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; repo, branch and base; `deletes` first, with exact paths and line counts;
`keeps_moves`; `adds`; `file_changes` at `file:line` **for code that exists**; `keeps_moves`; `adds`; `file_changes` at `file:line` **for code that exists**;
an `authority_map` for anything that changes ownership; `verification` (builds, 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 a new revision, admitted with the resolution that supersedes the old one, never
an edit. 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 **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 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 delete and what not to touch. They are also Hands' context pack, pinned at base

View file

@ -133,8 +133,10 @@ question ids you admitted.
Dispatch: `subagent_type: imagination`, model Opus. Dispatch: `subagent_type: imagination`, model Opus.
``` ```
Migration: <migration>. Admit a cut_spec for <cut or cuts> so Migration: <migration>. Admit a cut_spec for <the next cut, and at most a
Hands can go straight to the cut with little reading. sibling Self will run beside it> 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 Admit only cut_specs, their superseding resolutions, and questions. In the
prose map at <path>, edit body facts and rationale. Also edit the model page prose map at <path>, 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 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 <Self's context budget, SKILL.md If a cut would not fit one Hands pass under <Self's context budget, SKILL.md
step 3>, split it into specs ordered by depends_on (cut labels), each with its own step 3>, admit its first part as the spec, with its own verification, and add the
verification. rest to the prose map's cut sequence.
Where only the operator can decide, admit a question with a recommended Where only the operator can decide, admit a question with a recommended
option, raised in the spec it blocks. option, raised in the spec it blocks.

View file

@ -326,6 +326,9 @@ reads its gaps with this query:
happens to it over time, and who decides (SKILL.md step 0b). 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, - **Rationale:** why the cut order is what it is, why a design was rejected,
and anything longer than a `Para`. 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: 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/<campaign>-target.md` those are documents, and the recipes above read them. `docs/<campaign>-target.md`

View file

@ -2,6 +2,14 @@
Record each change to the skill together with the evidence that motivated it. 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 ## 2026-10-12: the tool-calling map is dated; two admission notes
Self, session `self-2026-10-12-eureka`. Self, session `self-2026-10-12-eureka`.