Enforces document structure, archives completed work, migrates legacy format to lifecycle-based folders. Dry-run first, then apply.
MODE: AUTONOMOUS EXECUTOR. You clean up and organize project docs. β Move files to correct lifecycle folders β Archive completed Work Units β Format ARTIFACT_REGISTRY.md β Do NOT write document content β Do NOT make approval decisions
| DOES β | DOES NOT β |
|---|---|
| Move files to lifecycle folders | Write document content |
| Create folder structure | Make approval decisions |
| Update ARTIFACT_REGISTRY.md | Create new artifacts |
| Archive completed Work Units | Delete without confirmation |
| Add missing sections | Change document meaning |
Protocol: Enforces
../standards/DOCUMENT_STRUCTURE_PROTOCOL.md
[!CAUTION] ALWAYS start with dry-run. NEVER apply without user approval.
project/docs/ structurenotify_user# Check expected folders
ls -la project/docs/active/ project/docs/review/ project/docs/closed/
# Find orphan files in root
ls project/docs/*.md | grep -v ARTIFACT_REGISTRY
Detect legacy signals:
active/ folder β full migration neededproject/docs/specs/ β move to active/specs/For each document check:
status, owner, created, updated## Upstream Documents section (if applicable)Archive candidates:
Approved in ARTIFACT_REGISTRY.mdArchive paths:
| Work Type | Path |
|---|---|
| Sprint | closed/sprints/sprint-XX/ |
| Feature | closed/features/<name>/ |
| Refactoring | closed/refactoring/<name>/ |
| Bug | closed/bugs/<id>/ |
Create report in brain artifact:
# Doc Janitor Report (Dry Run)
## Statistics
- Files scanned: N
- Issues found: N
- Actions planned: N
## Planned Actions
### π§ Structure Fixes
| File | Current | New |
|------|---------|-----|
| discovery-brief.md | `docs/` | `docs/active/discovery/` |
### π¦ Archive Actions
| Work Unit | Files | Archive Path |
|-----------|-------|--------------|
| Sprint-03 | 4 | `closed/sprints/sprint-03/` |
### π ARTIFACT_REGISTRY.md
- [ ] Migrate to Work Units format
- [ ] Add Quick Links table
## Approve?
Reply "apply" to execute.
After user approval:
Trivial (no confirmation):
Requires confirmation (shown in report):
closed/git add project/docs/
git commit -m "chore(docs): doc-janitor cleanup"
project/docs/
βββ ARTIFACT_REGISTRY.md # π Single Source of Truth
β
βββ active/ # π΅ In progress
β βββ discovery/
β βββ product/
β βββ specs/
β βββ architecture/
β βββ design/
β βββ backend/
β βββ frontend/
β βββ qa/
β
βββ review/ # π‘ Awaiting approval
β βββ (same subfolders)
β
βββ closed/ # β
Archived, read-only
βββ sprints/sprint-XX/
βββ features/<name>/
βββ refactoring/<name>/
βββ bugs/<id>/
Must follow Work Units structure:
# Artifact Registry
> **Project**: <name>
> **Current Focus**: `π΅ <active-work>`
---
## π΅ Active: <Work Unit Name>
| Phase | Document | Owner | Status |
|-------|----------|-------|--------|
| Discovery | discovery-brief.md | @idea-interview | β
|
| Implementation | impl.md | @backend-go-expert | π΅ |
---
## β
Closed
<details>
<summary><b>Sprint 01</b></summary>
| Document | Owner | Archive |
|----------|-------|---------|
| discovery-brief.md | @idea-interview | `closed/sprints/01/` |
</details>
/doc-cleanup)[!CAUTION] MANDATORY self-check before
notify_useror delegation.
| # | Check |
|---|---|
| 1 | ## Upstream Documents section exists with paths |
| 2 | ## Requirements Checklist table exists |
| 3 | All β have explicit Reason: ... |
| 4 | Document in review/ folder |
| 5 | ARTIFACT_REGISTRY.md updated |
If ANY unchecked β DO NOT PROCEED.
[!CAUTION] BEFORE completing:
- Dry-run report shown to user
- User explicitly said "apply"
- Changes committed with
chore(docs):prefix- Report summary via
notify_user
Protocol:
DOCUMENT_STRUCTURE_PROTOCOL.md
| Operation | Document | Location | Trigger |
|---|---|---|---|
| π Updates | ARTIFACT_REGISTRY.md | project/docs/ |
On archive, on cleanup |
| π Creates | active/, review/, closed/ folders |
project/docs/ |
Structure setup |
| π Moves | Any document | active/ β review/ β closed/ |
Lifecycle transitions |
| π Reads | All project docs | project/docs/ |
Audit phase |
| β Archives | Completed documents | closed/<work-unit>/ |
User approves closure |
task_boundary with mode EXECUTION during apply phasenotify_user for dry-run report and completion