Files
reliquary/docs/workpad/reports/2026-09-18-athanor-adept-discovery.md
T
g4borg 9e6deea36e 📝 Add adept discovery design pipeline artifacts and harness investigation goal
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.
2026-09-18 15:56:01 +02:00

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.sh produces: ## Adept roster — none (no docs/workpad/adepts/) — correct fallback
  • roster.sh is executable (mode 755)
  • No references to "Check the workpad's adepts/ folder" remain in skills/igor/SKILL.md
  • ## Core Directive section preserved at line 13 of skills/igor/SKILL.md
  • spire:adepts present in both agents/igor.md and agents/adept.md skill 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 with Bash(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. Parses summary, status, related from frontmatter. Derives recency and session count from journal filenames (supports both journal/ subfolder and legacy root-level files).

Modified files

  • agents/adept.md — Description updated. spire:adepts added 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 for journal/ 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:adepts added to skills list.
  • skills/igor/references/journal-template.md — ## Adepts section 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.md rewritten as index template with frontmatter fields and tiered reading list. Phase 4.4 added: _template/handoff.md template 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 by spire:adepts at boot."
  • skills/curator/SKILL.md — Scope note added: knowledge docs are curator targets; handoff.md and journal/ are not.

Open threads

  1. Plugin cache refresh — The new adepts skill will not be available until the plugin cache is refreshed (FC-8). User should re-install the Spire plugin after this lands.
  2. Bash(bash:*) in settings.json — The project settings.json allow-list does not include Bash(bash:*). The skill's allowed-tools should 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.
  3. 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.