✨ Spire plugin — MVP build (phases 1-3)

Complete plugin at plugins/spire/ replacing g4b_ai:
- Igor (session coordinator skill + agent)
- Adept (domain knowledge agent)
- Athanor (dispatching orchestrator, "the oven")
- Tome (generic knowledge layer, opt-in)
- Ported from g4b_ai: workpad, research-tree, research,
  implementation, svg skills + researcher/search/scout agents

All warpspace-specific content stripped. Tome genericized.
Project-specific config via shadowed project.md reference.
This commit is contained in:
2026-09-14 14:28:26 +02:00
parent 882ba1c661
commit e054ffd2bd
31 changed files with 4267 additions and 2 deletions
@@ -0,0 +1,23 @@
# Journal Template
```markdown
# <Topic> — Assistant Session Journal
**Date**: YYYY-MM-DD
**Topic**: <session topic from invocation>
**Worktree/branch**: <if any>
## Log
<!-- Append-only. One entry per dispatch/result/decision. -->
- HH:MM — <what was dispatched / what came back / decision taken>
## Artifacts
<!-- Files produced this session, with paths. -->
## Open threads
<!-- Unfinished work, follow-ups, questions for the user. -->
```
@@ -0,0 +1,29 @@
# Model Tiers for Delegation
Prefer a project-pinned agent from `.claude/agents/` when one matches the task; the tiers below are the fallback and the rationale.
| Task type | Tier | Rationale |
|-----------|------|-----------|
| Domain knowledge, repeated consultation | `adept` agent (Opus, long-lived) | Accumulated priors, informed search, journal continuity; domain-scoped |
| Deep research, bug investigation | Opus-tier research agent | Depth, reasoning; writes reports, never modifies code |
| Planned implementation | implementer agent | Executes plans, verifies with the project's check/test commands |
| Multi-part jobs needing their own subagent fan-out | `athanor` (Opus-tier, may use Agent/Task tool) | Decomposes a brief and runs its own subagents |
| Complex summaries, git fixes, small code changes | Sonnet subagent | Capability/speed balance |
| Test runs, compiles, commits, linear-data summaries | Haiku subagent | Fast, cheap, mechanical |
Rules of thumb:
- One task -> one subagent with an explicit output file path in the workpad.
- A job with 3+ independent subtasks, or research + implementation combined, goes to `athanor` as a single brief (scope, output paths, completion criteria).
- When unsure between tiers, prefer the cheaper tier and escalate on failure.
Sub-delegation guard:
- **Sub-delegation guard.** Agent types without the Agent tool cannot spawn children: `Explore` (read-only search) and `Plan` (design) are safe leaves. `general-purpose` and research/implementer agents may have the Agent tool and *can* sub-delegate — give them explicit "do not delegate" instructions, or route fan-out work to `athanor` on purpose. Only ever expect a second, differently-`task-id`'d notification when you dispatched something that was allowed to fan out.
Model selection rules:
- **Never dispatch a Fable-tier subagent unless the user explicitly asks.** Always pass `model` explicitly on `Agent` calls (`"opus"`, `"sonnet"`, `"haiku"`) — omitting it inherits the coordinator's model, which may be Fable. Subagents are Opus or lower.
- **Prefer Opus 4.6 for implementation and detail-precise lookups; Opus 5 only for reviews.** Pinned implementer/researcher agents should be Opus 4.6. `subagent_type: "general-purpose"` + `model: "opus"` resolves to Opus 5, which tends to hallucinate — use it for review/critique-style tasks only.
This table can grow — add new agents and heuristics here as they prove out.
@@ -0,0 +1,21 @@
# Project Knowledge (per-project — swap this file when adopting Igor)
Project-specific facts for Igor and the athanor. The generic behavior files
stay unchanged across projects; only this file (and any tome/navigation skill
preload) changes.
## This project
<!-- Replace the placeholder sections below with your project's specifics. -->
- **Tome skill**: <!-- e.g. `my-project-tome:navigate` — or remove this line if the project has no tome skill. Igor will orient via direct file reads instead. -->
- **Workpad**: <!-- Workpad location, e.g. `docs/workpad/` with its subfolder structure (goals/, plans/, reports/, research/, designs/, journals/, bugs/, specs/, archive/, adepts/). Reference the workpad's AGENTS.md or README for formatting rules. -->
- **Adepts**: <!-- Domain knowledge agents with persistent folders at `<workpad>/adepts/<domain-slug>/`. See Igor skill's Adepts section for spawning/consulting conventions. -->
- **Pinned agents** (prefer these over generic tiers):
<!-- List project-specific agents from `.claude/agents/` that should be preferred for certain task types. Example:
- `my-researcher` — research/bug investigation, writes reports, never modifies code
- `my-implementer` — executes plans in the codebase
-->
- **Verification commands**: <!-- e.g. `cargo check`, `npm test`, `make lint` — whatever confirms changes are correct. -->
- **Domain skills to route to subagents when relevant**: <!-- e.g. `log-analysis` (crash logs), `my-framework` (before touching framework code). -->
- **Conventions**: <!-- Project-specific conventions: branching strategy, merge direction, backward-compat policy, trust rules for user observations, etc. -->