-
Notifications
You must be signed in to change notification settings - Fork 182
Description
Summary
The /seed skill puts processed source files in ops/queue/archive/ instead of root archive/, contradicting both reference/three-spaces.md and skills/setup/SKILL.md. This causes archive/ to be created by setup but never used, and source files to either end up mixed with task files in ops or in ad-hoc locations like inbox/archive/.
The inconsistency
three-spaces.md (line ~262) defines the filesystem layout:
├── archive/ # processed sources
├── ops/
│ └── queue/
│ └── archive/ # completed task batches
setup skill (lines 589-608) creates both folders with distinct purposes:
[domain:archive]/— "processed, inactive" (content tier)ops/queue/archive/— "completed task batches" (ops tier)
seed skill (line 108) ignores root archive/ entirely:
ARCHIVE_DIR="{config.ops_dir}/queue/archive/${DATE}-${SOURCE_BASENAME}"And at lines 112-114, documents the conflation as intentional:
The archive folder serves two purposes:
- Permanent home for the source file (moved from {config.inbox_dir})
- Destination for task files after batch completion
This "two purposes, one folder" is exactly the space conflation that three-spaces is designed to prevent — mixing content (durable source files) with ops (temporal task artifacts).
Downstream effects
- setup creates archive/ but nothing ever writes to it — the folder sits empty forever
- The generated CLAUDE.md doesn't document archive/ in its "Where Things Go" table, so the agent has no awareness of the folder's purpose
- In practice, agents improvise — in our vault, sources ended up in inbox/archive/ (a path that exists in no spec) because the agent intuitively wanted to keep processed sources near inbox but not in the pipeline ops folder
- Source files and task files become inseparable in ops/queue/archive/, making it impossible to purge task artifacts without risking source data loss
Expected behavior
The correct flow per three-spaces:
inbox/source.md
│ /seed
├──→ archive/{date}-{source}/source.md ← source (content tier)
└──→ ops/queue/{source}-extract.md ← task file (ops tier)
│ /reduce → /verify → /archive-batch
└──→ ops/queue/archive/{date}-{source}/
├── extract.md, claims, summary ← task artifacts
Files involved
- reference/three-spaces.md — defines the architecture
- skills/setup/SKILL.md — creates both folders correctly
- platforms/shared/skill-blocks/seed.md — the conflation (line 108, 112-114, 118-137)
- platforms/claude-code/generator.md — doesn't include archive/ in generated CLAUDE.md