4.8 KiB
Iteration 7 Results — 2026-05-28 (polish chunk: 2 bundles + F4 compass)
Shipped this iter
Sample workspace bundles · consultant + engineer
packages/server/src/local/routes/sample-workspaces.tsextended from 3 → 5 bundles:- consultant (Imran persona) — 8 frames covering 4-client engagements, Porter/2x2 framework toolkit, slide-titling rule, pending Beta Corp deck
- engineer (Priya persona, mapped to project-manager persona — closest fit) — 8 frames covering ADR/RFC patterns, Wednesday architecture meeting cadence, pending multi-tenant migration RFC, tooling preferences
- Verified live:
count=5 ids=['writer', 'analyst', 'consultant', 'engineer', 'marketer']
F4 · Coverage compass card
apps/web/src/components/os/settings/CoverageCompassCard.tsx(new, ~100 lines)- 10 competing tools categorised honestly across 3 states: COVERED (✓ 5), PARTIAL (○ 3), NOT YET (✗ 2)
- Each row names the tool + category + how Waggle covers it (or doesn't)
- Header strip shows the live count:
✓5 ○3 ✗2
apps/web/src/components/os/apps/SettingsApp.tsx— renders the card at the top of Settings → Billing, above the current-tier card.- Verified live:
{cardFound:true, covered:5, partial:3, notYet:2}
Honest scoring rule applied
The compass is honest about partial/not-yet rather than aspirational — Granola/Otter is partial (no native recording), Gamma is partial (skills exist, no native deck editor), Excel Copilot is not-yet (xlsx skill present, no native editor). Aspirational green-washing would have shipped 9 covered + 1 partial, but would erode trust the moment the user tried to dictate a meeting and discovered "covered" was a stretch.
Score movement
| Persona | Iter-6 | Iter-7 | Δ | Why |
|---|---|---|---|---|
| P1 Greta | 5 | 5 | 0 | Tablet/voice workflow not on the compass |
| P2 Hassan | 5 | 5 | 0 | Same — iPhone + Instagram not covered |
| P3 Sarah | 8 | 9 | +1 | Compass closes dim 10 — Notion AI + Gamma both visibly replaced |
| P4 Imran | 6 | 8 | +2 | Consultant bundle (dim 3 +1) + compass (dim 10 +1) |
| P5 Lucas | 9 | 9 | 0 | Already top |
| P6 Daniel | 7 | 7 | 0 | Compass honestly shows Excel as not-yet — no fake lift |
| P7 Anya | 9 | 10 | +1 | Compass closes her last gap (dim 10) — full Notion AI + Gamma replacement she was waiting on |
| P8 Marko | 9 | 10 | +1 | Compass surfaces the breadth of replacement; he reads it as the trust receipt that closes dim 10 |
| P9 Priya | 6 | 7 | +1 | Engineer bundle (dim 3 +1); compass acknowledges Claude Code split intentionally |
| P10 Tomás | 7 | 7 | 0 | Already had cron→Telegram win; compass doesn't push him further |
| avg | 7.1 | 7.7 | +0.6 | 6 cells closed across 6 personas; 2 personas now at honest 10/10 |
First personas at 10/10
P7 Anya and P8 Marko cross the line this iter. Both already had high baselines (writer-shaped workflow + power-user breadth respectively); the compass + bundles deliver the trust receipts that close their last open dimensions.
Cumulative score trajectory
| Iter | Avg | Δ | Cumulative cells closed |
|---|---|---|---|
| 0 baseline | 5.0 | — | 0 |
| 1 (F1+F2) | 5.2 | +0.2 | 2 |
| 2 (FR-1 browser) | 5.9 | +0.7 | 9 |
| 3-4 (FR-2 plumbing+tile) | 5.9 | 0 | 9 |
| 5 (FR-2 closed) | 6.4 | +0.5 | 14 |
| 6 (FR-5 sample workspaces) | 7.1 | +0.7 | 21 |
| 7 (polish: bundles + F4) | 7.7 | +0.6 | 27 |
Gap to 10/10: 2.3 across 10 personas
| Persona | Now | Gap | Blockers |
|---|---|---|---|
| P1 Greta | 5 | 5 | FR-9 voice journaling + iPad/mobile entry |
| P2 Hassan | 5 | 5 | iOS companion + Instagram/Stripe connector |
| P3 Sarah | 9 | 1 | FR-10 social loop OR FR-3 skill registry |
| P4 Imran | 8 | 2 | FR-3 (peer framework registry) + Keynote integration |
| P5 Lucas | 9 | 1 | OSINT toolkit polish |
| P6 Daniel | 7 | 3 | FR-6 native xlsx (single biggest unlock) |
| P7 Anya | 10 | 0 | ✓ |
| P8 Marko | 10 | 0 | ✓ |
| P9 Priya | 7 | 3 | FR-3 (skill registry) + Linear/GitHub deeper integration |
| P10 Tomás | 7 | 3 | FR-3 (skill registry) + self-hosted enterprise build |
Remaining surgical levers (no new product surfaces)
- Add "researcher" + "investigator" sample bundles → P5 partial lift
- Tighten consultant + engineer bundle quality (longer dwell time) → +0.5 effective dim 7
- Coverage compass: track which tools the user previously opened, suggest the Waggle equivalent (data-driven lift to dim 10)
Realistic next-turn target
FR-3 public skill registry is the biggest remaining cell-mover (P4/P8/P9/P10 — 4 personas, +4-6 cells). Same scoping spike as FR-2 needed first to map registry shape vs the existing MCP catalog. ~2 sprints total but a single-turn MVP (a apps/registry/ static site reading from @waggle/shared/mcp-catalog.ts) is tractable.
Alternatively: chip away the small bundle/polish levers above for diminishing-returns lift without new product work.