Assignment
Audit all agent swarm code, create a new "Agent Swarm Mode" feature system classification, audit the notebook quality, and evaluate the swarm-upgrade skill for daily autonomous operation.
Subset: 5-agent subset: pure internal audit + classification — no buyer research, no client-facing copy, no deal context needed
Roster
What we found
The Agent Swarm Mode feature system spans 107+ files across the monorepo: 53 files in the maxswarm skill alone, 20 in swarm-upgrade, 2 Next.js pages, 7 public HTML archives, 14 engine files (7 are duplicates from the pre-consolidation era), and 2 database tables. The notebook system is genuinely strong — scoring 4/5 on template design, 4/5 on learning trajectory, and 4/5 on journal quality. The weakest area (3.5/5) is run-to-run consistency: run 002 is abandoned, the currency scoring is arbitrary across runs, and the Signal Deployment Status table (the best innovation in the system) gets skipped on client-facing runs. The swarm-upgrade skill is well-designed but NOT safe for unsupervised daily automation yet — it needs 6 specific guardrails before being let loose.
Why this matters
Bear and Charlie proving the swarm works on their machines means the capability is no longer trapped on the Mac mini. That's a real milestone. But capability without organization means drift — three machines running swarms with no shared classification of what "the swarm" even includes. The feature system classification gives everyone a map. The notebook audit ensures the learning loop works. The swarm-upgrade safety assessment prevents the system from modifying its own brain without proper checks.
Where we agreed
All 5 agents agreed on:
- The notebook system is strong conceptually but needs mechanical tightening
- Runs 006-008 are missing from the Vercel dashboard and public archives (the biggest gap)
- The swarm-upgrade skill is proposal-first (good) but enforcement is prompt-level only (risky for automation)
- Daily 5 PM is too frequent given current run volume (~1-3/week) — weekly is smarter until run volume grows
Where we disagreed
No meaningful dissent. This was a classification/audit run, not a strategic judgment call. The only tension: data-architect wanted to classify `deal-valuation-swarm` as core (it uses swarm patterns), while architect classified it as adjacent (it's a separate 4-agent system). We went with adjacent — it shares DNA but has its own notebook and lifecycle.
What surprised us
- Run 002 is completely abandoned — every section says "(pending)". It's dead weight in the notebook corpus.
- The engine has 7 duplicate files from the pre-consolidation era (engine/contacts/ mirrors engine/lib/).
- The swarm-upgrade skill already lowered its own thresholds — all 15 applied proposals came from single-run evidence despite a documented 3+ threshold. The model used "severity judgment" to bypass its own rules.
What we'd do differently
- Add runs 006-008 to the Vercel dashboard and public archives immediately
- Enforce Signal Deployment Status table on ALL runs, including client-facing
- Fix the `~/claude-skills` git pull path to use the monorepo path (flagged in run 008, still broken)
- Add a "Prior runs" field to the notebook template header
Currency events
| From → To | Action | Multiplier | Base | Score | Notes |
|---|---|---|---|---|---|
| data-architect → architect | Produced complete 107-file inventory for feature classification | 3x | 3 | 9 | Inventory enabled the classification |
| storyteller → debrief | Identified notebook gaps that improve future debrief output | 3x | 2 | 6 | Signal Deployment skip pattern |
| audit-quality → swarm-upgrade | 6 guardrails prevent harmful automation | 3x | 5 | 15 | Prevents potential SKILL.md corruption |
| tech-translator → writer | Plain-English brief usable as external pitch | 3x | 2 | 6 | Saves writer from translating technical output |
Cross-system gaps
| Flagger | Affected | Gap | Recommended change |
|---|---|---|---|
| architect | maxswarm/SKILL.md | Phase 6 does not instruct Conductor to copy archive HTML to `public/swarm/` | Add `cp` step to Phase 6 sequence |
| architect | src/app/swarm/page.tsx | RUNS array is hardcoded, missing runs 006-008 | Either add runs manually or make RUNS dynamic from recent_runs.json |
| data-architect | engine/lib/ | 7 duplicate files in engine/contacts/ from pre-consolidation | Delete engine/contacts/ duplicates |
| storyteller | notebook/_template.md | Raw drafts section populated in 1 of 8 runs | Remove or make optional |
| audit-quality | swarm-upgrade/SKILL.md | Threshold bypass risk on automated runs | Add hard-minimum for scheduled runs |
Signal Deployment Status
| Signal | Supabase status | Code status | Skill/doc status | Verdict |
|---|---|---|---|---|
| Runs 006-008 missing from public/swarm/ | N/A | UNDONE (need cp + page.tsx update) | UNDONE (SKILL.md Phase 6 gap) | OPEN |
| Engine duplicate files cleanup | N/A | UNDONE (engine/contacts/ dupes exist) | N/A | OPEN |
| Swarm-upgrade guardrails for automation | N/A | UNDONE (SKILL.md edits needed) | UNDONE (6 guardrails specified) | OPEN |
| Notebook template fixes (prior runs field, raw drafts removal) | N/A | N/A | UNDONE (template edit needed) | OPEN |