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.
5.7 KiB
5.7 KiB
Athanor Report: Adept Discovery and Tiered Knowledge Folders
Date: 2026-09-18
Design: designs/2026-09-18-adept-discovery.md
Plan: plans/2026-09-18-adept-discovery-plan.md
Fact-check: reports/2026-09-18-adept-discovery-factcheck.md
Dispatch
Single-agent execution (no subagent fan-out needed). All seven phases of the plan were implemented sequentially, with verification between phases.
Commits
| # | SHA | Message | Files |
|---|---|---|---|
| 1 | 1c4ec76 |
✨ Add spire:adepts roster skill |
skills/adepts/SKILL.md, skills/adepts/roster.sh |
| 2 | d68db18 |
🤖 Update adept agent for tiered layout and handoff protocol |
agents/adept.md |
| 3 | 2dc52e6 |
🤖 Wire Igor to use adept roster for discovery and spawning |
skills/igor/SKILL.md, agents/igor.md, skills/igor/references/journal-template.md |
| 4 | c62d92e |
🤖 Update init templates and supporting files for adept discovery |
skills/init/SKILL.md, skills/workpad/SKILL.md, skills/igor/references/project.md, skills/curator/SKILL.md |
All paths relative to plugins/spire/.
Fact-check adjustments incorporated
| FC | Adjustment | Applied in |
|---|---|---|
| FC-2 | allowed-tools: Bash(bash:*) with comment noting novel pattern |
skills/adepts/SKILL.md |
| FC-4 | spire:adepts added to adept agent's skills: list |
agents/adept.md |
| FC-5 | Quoted glob paths in drift-check templates | agents/adept.md (genesis protocol), skills/init/SKILL.md (_template/handoff.md) |
| FC-6 | First-line --- guard in roster.sh |
skills/adepts/roster.sh (lines 28-32) |
| FC-8 | Plugin cache staleness — noted, not implemented (operational concern) | n/a |
Verification results
bash plugins/spire/skills/adepts/roster.shproduces:## Adept roster — none (no docs/workpad/adepts/)— correct fallbackroster.shis executable (mode755)- No references to "Check the workpad's adepts/ folder" remain in
skills/igor/SKILL.md ## Core Directivesection preserved at line 13 ofskills/igor/SKILL.mdspire:adeptspresent in bothagents/igor.mdandagents/adept.mdskill lists- 10 files changed, 293 insertions, 74 deletions across 4 clean commits
Deviations from the plan
None. All phases implemented as specified.
What was produced per file
New files
skills/adepts/SKILL.md— Skill frontmatter withBash(bash:*)permission, shell injection line, FC-2 comment noting the novel pattern, empty-roster fallback comment.skills/adepts/roster.sh— Workpad resolution chain (env var, just, project.md grep, docs/workpad, .workpad). Iterates domain folders, skips_template. FC-6 first-line guard skips non-frontmatter files early. Parsessummary,status,relatedfrom frontmatter. Derives recency and session count from journal filenames (supports bothjournal/subfolder and legacy root-level files).
Modified files
agents/adept.md— Description updated.spire:adeptsadded to skills (FC-4). Genesis split into successor (9-step bounded protocol with drift check) and founding (9-step protocol with template copy). New Handoff section (rolling, overwritten, frontmatter fields, drift check mechanism). Consultation updated with handoff refresh (step 6), sibling discovery via roster (step 7), index maintenance on doc add (step 8). Knowledge tiers replaced with four-tier table. New Index maintenance section (60-line limit, conditional tiers, 200-line split threshold, index rule, sibling introspection). Journal conventions updated forjournal/subfolder. Domain folder structure rewritten to show tiered layout. End of life updated (refresh handoff + closing journal).skills/igor/SKILL.md— Adepts section rewritten: roster-based discovery, three brief shapes (successor/founding/unmigrated), gravity-well rule, shell-disabled fallback, roster tracking in journal. Session start step 1 seeds journal Adepts section from roster; step 2 may name matching adept in greeting. Wrap-up step 3 adds adept close-out via SendMessage.agents/igor.md—spire:adeptsadded to skills list.skills/igor/references/journal-template.md—## Adeptssection added between Log and Artifacts with comment explaining contents.skills/init/SKILL.md— Phase 4.2 adepts/CLAUDE.md rewritten with tiered structure and eight conventions from design section G. Phase 4.3_template/CLAUDE.mdrewritten as index template with frontmatter fields and tiered reading list. Phase 4.4 added:_template/handoff.mdtemplate with frontmatter, state sections, drift check (quoted paths per FC-5). Phase 7 file list includes_template/handoff.md.skills/workpad/SKILL.md—adepts/added to optional folders list.skills/igor/references/project.md— Adepts line changed from placeholder comment to "Listed byspire:adeptsat boot."skills/curator/SKILL.md— Scope note added: knowledge docs are curator targets;handoff.mdandjournal/are not.
Open threads
- Plugin cache refresh — The new
adeptsskill will not be available until the plugin cache is refreshed (FC-8). User should re-install the Spire plugin after this lands. Bash(bash:*)in settings.json — The projectsettings.jsonallow-list does not includeBash(bash:*). The skill'sallowed-toolsshould pre-approve it at load time, but adding it to the project allow-list would provide defense-in-depth. Not done here to avoid touching settings outside the plugin scope.- Testing with real adept folders — The roster script was tested with the "none" fallback only. Full testing with actual frontmatter, journals, and edge cases requires adept folders to exist.