Files
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

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.ts extended 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.