Files
reliquary/docs/workpad/reports/2026-10-17-00-guidance-pass-c-steering.md
T

64 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Guidance pass C: steering sentences
- **Date**: Sat Oct 17 00:24:15 WEDT 2026
- **Model**: claude-opus-5-5
- **Scope**: handoff [part C](../plans/2026-10-17-00-spire-guidance-pass-handoff.md), audit §4, framing from the brainstorm's "Steering sentences cut both ways"
- **Commit**: 46dbc86 (skill and agent text). Line numbers are after that commit. Paths are relative to `plugins/spire/`.
## Changes
| file:line | before | after | counterweight |
|---|---|---|---|
| agents/reviewer.md:22 | "Answer **every** deviation and flag … one by one" | "Read every flag …; answer one … only where it changes a finding or a verdict" | every flag is still read |
| agents/reviewer.md:23 | "Hunt **weakened checks** … tests that cannot fail" | "Check the phase's diff for weakened checks (… deleted tests) …; each one you find is a finding" | the check stays mandatory; its scope is the diff |
| agents/reviewer.md:24 | "List what was built that the plan did not ask for. On record only" | short "Size and unrequested surface" section, one line each; "You list; Igor and the user decide" | an unplanned addition may be good; the reviewer never removes |
| agents/reviewer.md:27 | "Grade findings Critical, Important or Minor …" | "Findings come first … Name the gates and tests you ran in one line; do not list what you checked and found fine" | evidence of what ran stays |
| agents/reviewer.md:38 | "and the unplanned additions" | "and the size and unrequested-surface lines" | (follows :24) |
| skills/implementation/SKILL.md:54 | "answers every deviation and flag … one by one. It looks specifically for weakened checks" | "reads every flag …, answering one only where it changes a finding or a verdict. In the phase's diff it looks for …" | same as reviewer :22–23 |
| skills/implementation/SKILL.md:55 | "It lists what was built that the plan did not ask for" | "short size and unrequested surface section … The reviewer lists; Igor and the user decide" | same as reviewer :24 |
| skills/implementation/SKILL.md:26 | "consumers of changed semantics … (… callers in other crates)" | "+ every direct reader or caller of what the change touches, and further only where the changed meaning is passed on" | every direct consumer still covered |
| skills/implementation/SKILL.md:34 | "A plan holds decisions, contracts, invariants and the scope fence" | "+ the code structure … (… the main signatures)" | code still only where its form is the decision |
| skills/implementation/SKILL.md:41 | (missing: tests per block) | "a test for each behaviour and failure path the plan names, not one per branch, and never cut a test a plan box needs to save size" | named failure paths get tests; size never cuts one |
| skills/implementation/SKILL.md:62 | "If you cannot write the failing test, keep investigating" | "investigate further; if it still will not reproduce …, fix on the evidence you have and say so in the handoff note" | still investigates; the gap is recorded |
| skills/implementation/SKILL.md:63 | "Explore before you focus. Look one or two layers up …" | "… when the cause is not plain: … and stop exploring once you can name the cause" | exploring stays the default for unclear bugs |
| skills/implementation/references/run-log.md:34 | (no length expectation) | "A few lines per block: findings, not narration. 'none' is the normal answer …" | "a real deviation or doubt is never left out" |
| run-log.md:41 | "Done: … in a few lines" | "in one or two lines" | (inside the :34 rule) |
| run-log.md:42 | "Deviations from plan: <what, and why>" | "+ including size well over the plan's estimate" | size budget gets explained, not obeyed |
| run-log.md:43 | "Flagged for review: <anything the reviewer should look at …>" | "<a point you are unsure of …> — or 'none'" | an unsure point is still flagged |
| run-log.md:56 | "Flags for the reviewer: every deviation and every … line above, one per bullet" | "the deviations and flags from the block notes above, one line each … or 'none'" | nothing from the notes is dropped |
| run-log.md:57 | "Not run / untested: <anything the tests do not cover>" | "<behaviour the plan names that no test or gate ran> — or 'none'" | named behaviour gaps still listed |
| agents/attacker.md:23 | "Consumers of changed semantics …: other readers, stats, migrations, callers …" | "every direct reader or caller of what the change touches (…), and further only where the changed meaning is passed on" | every direct consumer still covered |
| agents/attacker.md:25 | "Missing function: …, error handling, security" | "something a goal box needs that the plan does not deliver, … or the error handling and security that box implies" | error handling and security stay in scope where a box implies them |
| agents/attacker.md:26 | (new) | "A function no box needs is not missing: propose it under the open decisions with a one-line reason" | proposed, not silently dropped |
| agents/attacker.md:34 | "Scope cut back to the goal." | "… each block traces to a box, and cutting never removes a failure path or a test a box names" | cutting is bounded |
| agents/planner.md:23 | (new) ecosystem inventory | "what the harness, CLI output, the stdlib and the project's existing tools already provide … build only what the boxes need and the inventory does not cover" | "a one-line reason where a listed tool falls short" |
| agents/planner.md:24 | (new) code structure | "modules, the data model, the main interfaces (signatures …, no bodies) and where the special cases live" | "no more than the boxes need" |
| agents/planner.md:25 | (new) size estimate | "per module, in lines: a budget the builder explains deviations from in the run log" | "not a cap that justifies dropping a failure path or a test" |
| agents/planner.md:29 | "Phases that each end in a testable state; … steps with a completion criterion each" | "+ happy path end to end before the failure paths the boxes name (order, not priority); a step no box needs carries a one-line reason" | failure paths still built; extra steps allowed with a reason |
| agents/planner.md:32 | "(a schema, a wire format, a state machine)" | "+ the signatures in the code structure" | bodies still left to the builder |
| agents/athanor.md:32 | (missing: digest check) | "If you write a contract digest …, check it once against the plan and the code before any block builds on it" | "a gap that needs a design decision goes back to Igor, not into the digest" |
| agents/athanor.md:33 | "A mechanical or distant block goes to a fresh Agent-tool agent" | "+ on a cheaper model (Sonnet, or Haiku for a scripted transform)" | "unless the block needs design judgment" |
| agents/athanor.md:39 | "read the fix's diff for loosened assertions or deleted checks before you report green" | "report green only from your own test run, and if a fix changed a test, name it in the phase close" | changed tests reach the reviewer |
| agents/athanor.md:40 | "phase close with every deviation and flag listed for the reviewer" | "One short handoff note per block …; 'none' is a normal answer" | "a real deviation is never left out" |
| agents/athanor.md:45 | "When Igor resumes you for the next phase, start again at intake" | "The next phase goes to a fresh Athanor, which starts at intake from the run log and trunk notes you leave behind" | state carries over through the files |
| agents/athanor.md:52 | (missing: time budget) | "Every block brief carries a time budget" | "never a skipped gate or test" |
| agents/athanor.md:59 | (missing: re-plan) | "A broken premise stops the phase … hand back for a re-plan instead of documenting it" | a detail-level surprise stays a default plus flag |
| agents/athanor.md:75 | "room left for the fix pass and the next phase" | "room left for the fix pass" | (follows :45) |
| skills/igor/SKILL.md:61 | "**Best over fastest.** … finishing well, not finishing first" | "**Right over fast.** … finishing well means what the goal asks for, built and checked, not more" | "built and checked" |
| skills/igor/SKILL.md:90 | (missing: time budget) | "Every Athanor brief carries a time budget for the phase: an estimate it reports against" | "never a reason to skip a gate or a test" |
| skills/igor/SKILL.md:98 | "it answers every handoff flag, hunts weakened checks …" | "reads every handoff flag and answers one only where it changes a verdict, checks the phase's diff …, lists size and unrequested surface for you and the user to decide" | same as reviewer |
| skills/igor/SKILL.md:105 | "Approach is wrong … back to design" | "+ includes a preflight or block that removed a premise the design rests on: re-plan instead of documenting it" | "a result that only shifts a detail stays a flag" |
| skills/igor/SKILL.md:111 | "Between phases, and for the fix pass, Igor resumes the same Athanor" | "For the fix pass, … resumes the same Athanor … Each new phase gets a fresh Athanor started from the run log and trunk notes" | the fix pass keeps the builder's context |
| skills/research-tree/SKILL.md:41 | "List every sub-topic …, even ones that feel redundant" | "List the sub-topics the question needs answered, including ones you are unsure about; merge or drop the redundant ones" | unsure topics still listed |
## §4 items left alone
- igor SKILL:92 stamp-check and its 11 repeats: part D.
- igor SKILL:186 wrap-up (adept handoffs, accretion, graduation): runs once per session and is Igor's guard against forgetting; part D can trim the wording.
- adept.md:61/81 handoff refresh after state-changing consultations: capped at ~40 lines, a few lines per refresh, and it is what survives an abrupt end.
- adept "Don't guess" search dispatches: cheap, and it prevents stale priors.
- Missing "smallest change that meets the goal" / "prefer deleting to adding": deliberately not added. The brainstorm warns that these fire the other way. Tracing to boxes plus the size budget covers them.
- Missing size caps for plans, build plans, journals: not added as caps. The per-module size estimate, short handoff notes and a short review section are the budget instead.
- implementation:58 and igor:109 "extra reviews need a stated reason": already balanced.
- run-log.md trunk notes "every consumer of a changed semantic": already bounded by "a page".