Skip to content

Seed skill contradicts three-spaces architecture for source file archival #26

@arkenis

Description

@arkenis

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:

  1. Permanent home for the source file (moved from {config.inbox_dir})
  2. 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

  1. setup creates archive/ but nothing ever writes to it — the folder sits empty forever
  2. 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
  3. 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
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions