Use when the lab module has accumulated too many tabs and needs cleanup, pruning, or reorganization
Systematic triage of the Lab module's experiment tabs. Assess each tab's health, present recommendations, get user approval, then execute.
Don't use this for graduating a single known tab or deleting one specific experiment. Just do those directly.
Read the current lab tabs from src/lib/shared/navigation/config/tab-definitions.ts (the LAB_TABS array) and src/lib/features/lab/LabModule.svelte (the tabComponents map).
Build a table of every tab with:
For each tab, quickly check its component to determine:
Use parallel subagents (batches of 5-6 tabs each) to assess quickly. Each subagent should:
git log -1 --format="%ar %s" -- <component-path> for recencyPresent the full inventory as a table with a recommended disposition for each:
| Disposition | Meaning | Action |
|---|---|---|
| GRADUATE | Ready for production | Move to its own module outside lab |
| KEEP | Active experiment, still being worked on | Leave in lab |
| ARCHIVE | Not active but has value for reference | Move code to docs/archived-labs/ or a branch |
| DELETE | Dead experiment, placeholder, or abandoned | Remove tab + component entirely |
| MERGE | Overlaps with another tab | Combine into one |
Format:
| Tab | Last Touch | Substance | Disposition | Rationale |
Sort by disposition (DELETE first, then ARCHIVE, MERGE, KEEP, GRADUATE).
DO NOT act on any disposition without explicit user approval.
Present the table and ask the user to confirm, override, or discuss each one. They know which ideas they're still excited about.
Expect pushback. Some "dead" tabs are ideas the user plans to revisit. That's fine.
Only after the user confirms, execute in this order:
LAB_TABS in tab-definitions.tstabComponents in LabModule.sveltesrc/lib/features/<name>/, check if the entire feature directory can be deleted (no other references)npm run check after each batch to catch broken importsSame as DELETE, but first copy the component to docs/archived-labs/<tab-id>/ with a brief README.
Confirm which tab survives with user, move useful code over, then DELETE the merged tab.
Follow the New Module Checklist in project-patterns.md. Remove from lab's tabComponents and LAB_TABS.
After all changes:
npm run check
npm run build
Report final tab count vs. starting count.
git rm not rm so history is preserved.