TTL inference per base and ttl_downgrade; warmth with init --warm-margin-s; ping rule (activity window, break-even caps 19/11, pings on/off) with C3(d) in-flight dedupe under the lock; pings returned once through wait's pings list, partial refreshes, miss/failed flag ping_missed; tick in every supervisor (60 s), in wait (start + 30 s) and as tick --run (N3-refused). M16: job-file and running-info progress counter renamed to messages. M8: visible-window check widened (console/Terminal diff, positive control, skip without desktop). Billed-error test (stub directive billed).
- I1: model_refused only on the restriction warning or a real substitution;
API errors get usage_limit / overloaded / prompt_too_long / api_error
- I2: a dead root claims only children created during the job's lifetime
- I3: continue no longer advances the base's last_hit
- M1: registry status before the ledger line; ledger dedupes by job
- M2: stale lock = dead holder or > 300 s; atomic rename-based break;
deadline and sleep on a failed break
- M3: supervisor cuts clock jumps out of max_minutes, re-arms the orphan
watchdog, flags clock_jump
- M4: kill/expire/init refused in a fork; a fork never stamps the orchestrator
- M5: --permission-mode choices from claude 2.1.299
- M9: ANTHROPIC_BASE_URL kept explicitly; where warns on a non-default value
Captures the lean-build redesign work: goal, session journal, Athanor
usage research from dirigent and spacecraft, and the implementation
and review reports.
Repins both agents to claude-opus-5-5[1m] per user decision (2026-10-05),
bumps Spire to 0.2.0, and resolves the open question in
spawning-claude-code.md about Athanor's context window suffix.
Adept dispatches no longer pass a model alias over the pin. Igor checks
the stamped model id of plan, attack and phase-review outputs before
acting on them. Implementation work no longer goes to the Athanor as an
unplanned brief. The spawning reference says plainly that "verified"
means read from the schema, marks fork availability unverified, and
cites the 184/184 evidence for alias-over-pin. Minor consistency fixes:
trunk notes, re-check failure path, staging, fallout diffs, run-log
timing.
Adds the attack-the-plan step and per-phase review to the development
cycle, the fix-pass stop rule, Athanor resume between phases, and the
alias-over-pin model rule. Drops the stale 4.6-for-implementation
guidance and per-task review convention. Harness notes now point to the
implementation skill's spawning reference.
The implementation skill now states the lean loop: attack the plan
against the code before building, build phases in blocks with a cheap
gate between them, test and review once per phase, one fix pass, stop.
Harness mechanics, model observations and the run-log template move to
references with dated, sourced claims.
The Athanor becomes a build furnace pinned to claude-opus-5-5: one phase
per turn, no planning, no plan attack, no self-review. It no longer
preloads superpowers; those skills stay available as tools.
Standalone plugin with one skill: when to use orbit and when grep, a
mandatory preflight for stale indexes and blind regions (cfg(test),
features, macros, dyn dispatch), a scripted review pass over isolated
worktree DBs, and a JSONL feedback log for mining real usage later.
Registered in the marketplace as a prototype.
Research tree on using the orbit code-graph CLI for review in Rust
projects: the Python/Django field guide recorded as phase 0, orbit 0.133
capabilities on spacecraft and dirigent, fit with Spire's review stage,
and tested review recipes (changed definitions, blast radius, blindness
preflight). Includes the orbit-skill goal and the Igor session journal.
Igor now has a Development Cycle section with six stages, review decision
tree, Athanor queuing rules, and separation principle. Athanor, implementation,
research, and research-tree skills all reference their cycle stage. Fixed
remaining Athanor metaphor inversions in the plugin design spec.
Addresses Gitea issue #5 (Agent Rails): Explore/Plan agent types are
read-only but were recommended for tasks that need to write artifacts.
Replaced with write-capability guard in model-tiers.md, steered delegation
to scout/search/researcher. Tightened Athanor metaphor across all skills
— it IS the oven, plans go into it. Fixed assistant skill to route to Igor.
Scaffold .claude/spire/project.md with reliquary-specific facts,
create adept templates at docs/workpad/adepts/, build the Zathras
agent and skill (Spire's self-maintenance coordinator), and wire
/assistant as a local alias for spire:zathras.
Design, plan, fact-check report, and athanor implementation report for
the adept discovery and tiered knowledge folders feature. Also captures
the harness behavior investigation as an open goal.
spire:project now emits a one-line hint instead of injecting the full
blank references/project.md into context. The template stays as a
reference for spire:init.
Shell-injected skill that derives an adept domain roster from workpad
frontmatter and journal filenames. Loaded by Igor at boot; any agent
may invoke it on demand for fresh discovery.
Human-triggered skill that detects install type, auto-fills project
facts, scaffolds .claude/spire/project.md and workpad adept
templates, handles gitignore for personal installs, and optionally
commits for shared installs. All seven phases from the design.
Igor and Athanor now load project knowledge via the spire:project
skill instead of hard-bound @ imports. Removes static references
that resolved into the plugin cache, replacing them with the
shell-injection fallback chain.
New skill loads .claude/spire/project.md at agent startup with
fallback to the bundled blank template. Blank template now hints
the user to run /spire:init.
Three-commit plan: create spire:project skill with shell injection,
rewire Igor and Athanor to drop @ imports, and add spire:init with
shared-vs-personal detection and adept scaffolding.
Fable-authored research on how to replace the hard-bound @ directive
in Igor and Athanor with a load-time shell injection that falls back
to the bundled template. Recommends .claude/spire/project.md as the
override location and a spire:init skill modelled on tome:init.
Plan covers: stale tome.just path (quick fix), curator stub skill
(minimal first step), and journal graduation-candidate signal
(journal template + wrap-up update). Design questions deferred
for findings 4 and 6; actionable first steps defined for all three.
Fable-authored report comparing how each plugin handles project
adoption/init and cross-session knowledge accumulation. Surfaces
six gaps including missing spire:init, unshipped adept scaffolding,
and a stale tome.just path from the extraction commit.
When a ticket context is active (user named a ticket, ticket skill
opened one, or explicit request), task-scoped artifacts route into the
ticket folder while journals and goals stay in the main workpad.
Research and specs are a judgment call based on reusability.
Also: tighten resolution step 3 to distinguish project-level tickets
folder from per-ticket context, add ticket lifecycle to the "does not
cover" list, update steering section to include ticket routing.
Enable spire@reliquary, remove g4b_ai@reliquary and the dead
workpad@reliquary entry. Update root CLAUDE.md references to point
at Spire skills and agents instead of g4b_ai.
Voice section: Spire fixtures are real to Igor — one dry flourish per
named concept, then immediately proceed with the work. Theatrics face
the user only; briefs and journals stay plain.
Rules: a declined follow-up ("no") is a lull, not a stop — use it to
save the journal and close the beat with one line.
Igor's references/project.md ships read-only in the plugin cache with no
mechanism for per-project override. Projects can't fill in the template,
so Igor rediscovers basics each session. This goal captures the fix:
project-local resolution, an init skill, and /assistant alias docs.
Tome is opt-in per project — each project declares its own knowledge
management approach. Spire retains a small knowledge-awareness skill
that explains what tome does and provides a fallback strategy for
projects without it.
- New plugins/tome/ with own manifests, README, all 5 sub-skills
- Spire keeps skills/knowledge/SKILL.md as awareness stub
- Updated all READMEs and marketplace JSONs
- tome: namespace refs now correct (tome is its own plugin)
Plugin name: Spire. Orchestrator renamed from Forge to Athanor
("put it in the oven"). Trope reframed from mage tower to
alchemist's tower to bridge lab-fiction and arcane registers.
Design spec for the g4b_ai replacement plugin — component inventory,
deployment model, architecture, and existence map. Fable naming review
evaluates candidates and recommends "Keep" as the plugin name.