cc-os/docs/research/clutter-pattern-inventory.md

9.1 KiB

Clutter pattern inventory (seed candidates)

Last updated: 2026-07-14 — Wayfinder research ticket #41 (map: issue #31)

Read-only survey of non-code / process-artifact file and directory patterns across four local repos, chosen by recent mtime: cc-os, delta-refinery, hyperthrive_dev, llf-schema. Purpose: seed candidates for a future clutter-management rulebook. These are proposals only — a strong model confirms later. Nothing was deleted or modified.

Lifetime taxonomy used below:

  • keep-indefinitely — durable project record, never auto-removed.
  • temporary (age-triggered) — safe to prune after N days/weeks of no relevance.
  • delete-once-served (purpose-triggered) — safe to remove once its one-time purpose (a merge, a migration, a handoff) has completed; optional extract-then-delete modifier means durable content should be pulled into a keep-indefinitely home first.

Catalog

Glob pattern Repos seen in What it is Proposed lifetime Confidence
graphify-out/ (+ dated subdirs like graphify-out/2026-06-30/) cc-os, delta-refinery, hyperthrive_dev, llf-schema Disposable/rebuildable Graphify knowledge-graph output (already documented as gitignored, rebuildable per CLAUDE.md conventions) temporary (age-triggered) — safe to delete any time, regenerable on demand; dated subfolders are stale snapshots left by re-runs high
autoresearch/<run-id>/ (e.g. classic-260703-1522/, improve-260710-1057/) cc-os Per-run autoresearch loop working directories: round outputs, results.tsv, loop-log.md, handoff.json, candidate drafts delete-once-served, extract-then-delete — keep the final chosen candidate/summary (already promoted to a skill/doc), prune raw round data once the loop concludes high
.claude/skills/openspec-sync-specs/, .codex/skills/…, .pi/skills/… (mirrored skill dirs) cc-os, delta-refinery, hyperthrive_dev, llf-schema Per-assistant mirrored copies of OpenSpec skills (CLAUDE.md notes these must stay in sync across three assistants) keep-indefinitely high
openspec/changes/<change-id>/ (active) cc-os, hyperthrive_dev, llf-schema Live OpenSpec change proposals (design/spec/tasks) delete-once-served, extract-then-delete — archived automatically by /opsx:archive into openspec/changes/archive/; not clutter while active, becomes archive-managed after medium
openspec/changes/archive/<change-id>/ cc-os Completed OpenSpec changes, retained per project convention keep-indefinitely (or long temporary — project already treats these as historical record) medium
docs/plans/*.md cc-os, delta-refinery, llf-schema Point-in-time planning docs for specific efforts (e.g. ws2-os-vault-write-eval.md, eval overviews) temporary (age-triggered), extract-then-delete — durable decisions belong in ADRs/status docs; raw plan often stale once work ships medium
scratch-plans/ incl. scratch-plans/archive/old-plans-<date>/ hyperthrive_dev Ad hoc planning docs with a project-owned archival script (scripts/archive-scratch-plans.sh) that already rotates them into dated archive folders temporary (age-triggered) for the live scratch-plans/ root; archived subfolders are effectively delete-once-served after some longer retention — project has already solved this locally, a good reference pattern high
.scratch/active/*.md (e.g. progress.md, payment-platform-progress.md) hyperthrive_dev Working "current progress" scratch notes, no archive step observed for this dir (distinct from scratch-plans/) delete-once-served, extract-then-delete — once the tracked effort finishes, extract durable notes and delete medium
handoffs/<project>/** (large multi-stage handoff trees: deep-research/, architecture/, implementation/, spec/, copywriting/, plus *.n8n-backup/ variants, ARTIFACTS.md, HANDOFF.md, metadata.json) hyperthrive_dev Multi-agent pipeline handoff artifacts (research → architecture → implementation → spec), including duplicate .n8n-backup snapshot folders delete-once-served, extract-then-delete — final artifacts (final-report.md, final-spec.md) worth keeping; intermediate JSON/mmd/png working files and backup-suffixed duplicate folders are safe to prune once the pipeline completed and shipped medium
HANDOFF-*.md / HANDOFF.md (top-level, not in handoffs tree) cc-os (plugins/os-doc-hygiene/HANDOFF-add-deterministic-core.md), hyperthrive_dev Single-file handoff notes for a specific piece of work-in-progress delete-once-served — once the receiving session/agent has consumed it and the work lands, no longer needed; check if content duplicates commit history first high
PRD.md (single file, per plugin/feature) cc-os (plugins/os-doc-hygiene/PRD.md), delta-refinery (docs/tiny-habit-streak-tracker-cli-prd.md) Product requirements doc for a specific feature/plugin keep-indefinitely while the feature is active/unshipped; consider archiving alongside the shipped feature's docs afterward medium
docs/adr/migration-report.md cc-os, delta-refinery One-time report from ADR-system migration (/os-adr:migrate), explicitly documented as non-authoritative/uncertainty-flagged delete-once-served, extract-then-delete — migration_confidence findings should be resolved into real ADRs; report itself is a one-time artifact high
docs/orchestration-audit/auditor-reports/S*-report.md cc-os Per-session auditor output from the biweekly orchestration IRL audit (os-context:audit-sessions) temporary (age-triggered), extract-then-delete — the tune-up report synthesizes these; raw per-session reports are input data, prunable after synthesis and some retention window medium
plugins/*/eval/results/, plugins/*/eval-b/, plugins/*/eval-c/results/ (eval run output only, not scenarios/fixtures/rubric) cc-os Eval harness run results (scores, transcripts) temporary (age-triggered) — CLAUDE.md's eval discipline treats scenarios/reserves as sacred (never touch), but results are re-run outputs; keep latest, prune old runs medium
plugins/*/eval/scenarios/, .../scenarios-reserve/, .../fixture/, judge-rubric.md cc-os Held-out eval scenario sets and fixtures — explicitly protected by repo convention ("never run informally," "reserves never even read") keep-indefinitely high
reference-schemas/*-COMPARISON-REPORT.md llf-schema One-time comparison/analysis reports generated during schema research delete-once-served, extract-then-delete — conclusions likely already folded into schema decisions; raw report is reference-only low
.dochygiene/report.json, .dochygiene/report.md, .cc-os/dochygiene/report.{json,md} cc-os, hyperthrive_dev Generated hygiene-scan reports from os-doc-hygiene, regenerated each /os-doc-hygiene:check run temporary (age-triggered) — always superseded by the next scan; effectively a cache high
test/, .claude/agents/*.md, .claude/commands/scratch-plans/*.md delta-refinery, hyperthrive_dev Code/tooling, not clutter — included here only to note they were correctly excluded from candidates n/a (not a candidate) high
features/archive/feature-*.md, requirements/feature-level-requirement-*.md delta-refinery Feature-level requirement/handoff docs for an agent pipeline (requirement extraction → handoff), with project already using an archive/ subfolder convention keep-indefinitely for archive/ (project's own durable record); live requirements/*.md closer to delete-once-served once implemented low
docs/agent-pre-post-handoff.md, docs/superpowers/plans/*.md, docs/superpowers/specs/ delta-refinery, hyperthrive_dev "Superpowers" framework plan/spec docs — appear to be a shared third-party or template convention across repos, not repo-specific keep-indefinitely (treat as vendored/framework docs) pending confirmation they're not stale copies low
.claude/skills/**, mirrored .codex/, .pi/ skill dirs generally all four Not clutter — actively used tooling, included for completeness of what the scan touched n/a (not a candidate) high

Notable non-patterns / things ruled out

  • openspec/specs/ (stable, synced specs, not changes/) — this is the durable spec store, not clutter; excluded from candidates.
  • node_modules/, .git/, vendor/, .bundle/, tmp/ were pruned from the search per ticket instructions and are out of scope (already well-understood, not novel clutter).

Method

  • Repos chosen by .git mtime recency under ~/dev: cc-os, delta-refinery, hyperthrive_dev, llf-schema (most recent 4).
  • find with an -iregex filter for known process-artifact name/path fragments (HANDOFF, PRD, TODO, NOTES, scratch, research, transcript, report, openspec, specs, docs/plans, graphify-out, eval, CHANGELOG), pruning node_modules/.git/vendor/.bundle/tmp.
  • Spot-checked sizes (du -sh) for graphify-out/ and autoresearch/ to confirm they're worth flagging as prunable bulk, not just noise.
  • All reads were non-destructive; no files were modified, moved, or deleted in any surveyed repo.