clean-artifacts
Cleanup Artifacts — Orchestrator
Single-agent — orchestrator IS the runner; critic in-procedure. Audit + groom docs/forsvn/artifacts/: classify every file, surface refs + risk, archive non-KEEP on --apply. Never deletes. Metadata: routing.yaml. Methodology / when-not-to-use: references/playbook.md.
Core question: load-bearing, or cruft from weeks ago?
Critical Gates — load first
- MOVE, never delete.
mvintodocs/forsvn/artifacts/.archive/[YYYY-MM-DD]/.--purge-archive(v1 out of scope) is the only deletion path. - HARD-NEVER refused. Canonical (
brand/,research/,architecture/); VCS (.git/,.gitmodules, submodules); infra (.forsvn/index/manifest.json); append-only (docs/forsvn/experience/); anchors (docs/forsvn/artifacts/meta/{roadmap,tasks}.md). --dry-rundefault. No move without--apply+ per-category confirm.- Critic gate non-negotiable. Grep 5 random STALE/ORPHAN refs across
docs/forsvn/artifacts/,brand/,research/,architecture/. Live ref → escalate (no prompt), refs surfaced. - Manifest-sync. Re-run
bun scripts/manifest-sync.tsafter any move.
Before Starting + Pre-Dispatch
Apply references/_shared/{before-starting-check, pre-dispatch-protocol, mode-resolver}.md. budget: standard; --fast bypasses prompts — Critical Gates supersede --fast. Read .forsvn/index/{manifest.json,artifact-index.md} + docs/forsvn/experience/technical.md (prior excludes). Manifest missing/stale (>1d) → NEEDS_CONTEXT. Dimensions: scope, mode, threshold (90d), excludes.
Session execution profile (single-vs-multi): inherit per references/_shared/execution-policy.md.