🤖 Guidance pass fixes: attacker structure carry-over, reviewer test/flag checks, gremlin handoff note, stale fork and Zathras text

This commit is contained in:
2026-10-17 00:50:01 +02:00
parent 5b5fe14221
commit 0f2aee6bc9
6 changed files with 14 additions and 11 deletions
@@ -14,7 +14,7 @@ The harness changes. When a claim fails, fix it here with a new date.
## Rules of thumb
- **Foreground for sequential work.** Pass `run_in_background: false` when the next step depends on the result. Background only for independent leaves whose result can go to the session root.
- **Resume only from the session root.** Igor may `SendMessage` a finished agent (the Athanor between phases, an adept). A subagent should not resume its own children; it dispatches fresh foreground agents instead.
- **Resume only from the session root.** Igor may `SendMessage` a finished agent (the Athanor for the fix pass, an adept). A subagent should not resume its own children; it dispatches fresh foreground agents instead.
- **Pinned agents: omit `model`.** The per-call alias overrides the agent's frontmatter pin. Pass `model` to a pinned agent only when you mean to override it, and say so in the journal or run log.
- **Unpinned agents: pass `model`.** Otherwise they inherit the caller's model, which may be Fable.
- **Stamp the model id.** Every agent reads its exact id from its system prompt and writes it into its output.
@@ -59,9 +59,9 @@ The harness changes. When a claim fails, fix it here with a new date.
|---|---|
| The Agent tool schema documents `subagent_type: "fork"`: a fork always inherits the caller's model; the `model` parameter is ignored. | verified 2026-10-05 (schema text) |
| `fork` is actually offered as an agent type in a given session. | unverified: the schema mentions it, but on 2026-10-05 it was not in the list of agent types offered to the reviewer |
| A fork copies the **caller**, not an arbitrary agent. Only the agent holding a context (e.g. the Athanor as trunk) can fork it. | assumed (no parameter names a fork source) |
| A fork copies the **caller**, not an arbitrary agent. Only the agent holding a context can fork it. Not used by Spire since 2026-10-16; trunk + gremlins replaces it. | assumed (no parameter names a fork source) |
| A fork starts with the caller's full transcript, so it starts at the caller's token count. | assumed, not measured |
| Can a fork fork again? Does a foreground fork return its result to the caller? Does it see the caller's preloaded skills? | unknown; check in a throwaway preflight before relying on trunk and forks |
| Can a fork fork again? Does a foreground fork return its result to the caller? Does it see the caller's preloaded skills? | unknown; check in a throwaway preflight before relying on forks |
## Agent types