9.1 KiB
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, notchanges/) — 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
.gitmtime recency under~/dev: cc-os, delta-refinery, hyperthrive_dev, llf-schema (most recent 4). findwith an-iregexfilter 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) forgraphify-out/andautoresearch/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.