108 lines
8.3 KiB
Markdown
108 lines
8.3 KiB
Markdown
# PDF Triage Audit โ 2026-04-20 (M-33..48 status close-out)
|
|
|
|
**Scope:** Verify each item in `PDF-E2E-ISSUES-2026-04-17.md` against current code as
|
|
of `bf18e16` (head of `main`). The 2026-04-19 plan estimated M-33..48 at ~5 d
|
|
"audit first, many likely shipped in S2/S3/S4." This audit confirms that
|
|
estimate was conservative โ most items have shipped under M-XX commit numbers
|
|
since S2.
|
|
|
|
## Method
|
|
|
|
For each P-item still marked ๐ deferred or ๐ก partial in the source PDF doc:
|
|
1. `git log --since="2026-04-17"` for commits referencing the area
|
|
2. Grep current source files for the relevant component/handler
|
|
3. Cross-reference recent session handoffs (S2 / S3 / S4 / S1)
|
|
4. Classify: โ
shipped / ๐ก needs verification / ๐ still open / ๐ด blocked
|
|
|
|
## Findings โ full P-item disposition
|
|
|
|
| # | Item (one-liner) | Prior | Audit verdict | Evidence |
|
|
|---|---|---|---|---|
|
|
| P1 | Opens as General Purpose โ should be Researcher | ๐ก | ๐ก wired, needs LIVE test | OnboardingWizard.tsx:134 maps template โ persona; handleFinish:275 saves `persona: selectedPersona`; useWindowManager.ts:230 reads `ws?.persona`; ChatWindowInstance.tsx:87 falls back to `'general-purpose'` if `initialPersona` undefined. Chain is correct in code; bug is either server-side persona save OR first-window-before-workspace-load timing |
|
|
| P2 | Chat input too small | โ
| โ
shipped (S2 batch `1c6d9f2`) | confirmed at PDF source |
|
|
| P3 | Tier-gated menu items | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P4 | Mutation Gates / 3-level approval | ๐ | โ
shipped S1 `07cbf25` + `575f2c9` | `defaultAutonomy` enum + radio + new-window inheritance |
|
|
| P5 | Advanced Settings actionable | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P6 | Room โ verify 2 parallel agents | ๐ | โ
shipped (S4 verification) | per S4 handoff "PDF picks shipped (P14/P15/P6/P10)" |
|
|
| P7a | `//` slash commands | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P7b | "No tools assigned" | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P8 | Agents vs Personas naming | ๐ก | โ
shipped โ addressed by M-01 | `a8b6548` PersonaSwitcher two-tier + `02c029d` rich tooltip โ the redesign disambiguates personas as "modes" vs "specialists", removing the naming ambiguity |
|
|
| P9 | AI-generate agent โ Stripe link broken | ๐ด | ๐ด blocked (Stripe products) | external โ Marko's Stripe dashboard work; see `[M]-01` |
|
|
| P10 | Bee-style persona icons (light + dark) | ๐ | โ
shipped (S4 PDF picks) | per S4 handoff |
|
|
| P11 | Group members shows only 3 | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P12 | Workspace template Blank twice | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P13 | Group filter Projects/Research | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P14 | Virtual path truncated + Local D-drive only | ๐ | โ
shipped S4 (option 1: home on C: + D:) | per PDF-DEFERRED-DECISIONS pick + S4 handoff |
|
|
| P15 | Create Template modal overlap | ๐ | โ
shipped S4 (option 2 / viewport check) | per S4 handoff |
|
|
| P16 | Files app only Virtual storage | ๐ | โ
shipped S1 `516090c` | 3-tab `<FilesAppTabs>` |
|
|
| P17 | Tooltips missing app-wide | ๐ | โ
shipped S1 (P17.1..5, ~80 sites) | `bf18e16` is the last commit; zero `title=""` remain in `components/os/` |
|
|
| P18 | Waggle Dance signals | ๐ | โ
shipped โ M-41 `9faaf78` | "Waggle Dance deterministic signal ordering" |
|
|
| P19 | Cockpit System Health "Ok" red | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P20 | AI Act warning explanation | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P21 | Timeline always empty | ๐ | โ
shipped โ M-42 `0b49a42` | "align Timeline vocabulary with server AuditEventType" |
|
|
| P22 | Telemetry "Upgrade to unlock" | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P23 | Backup & Restore doubled | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P24 | Events Replay unclear | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P25 | Scheduled Jobs toggle stays off | ๐ | โ
shipped โ M-43 (per code comment) | ScheduledJobsApp.tsx:106-114 explicit "M-43 / P25" comment โ server auto-enables on trigger; client syncs from response |
|
|
| P26 | New scheduled job creation unclear | ๐ | โ
shipped โ improved UX | ScheduledJobsApp uses CRON_SCHEDULE_PRESETS + CRON_JOB_TYPES + describeCronExpr (plain-English schedule summary) โ far clearer than raw cron |
|
|
| P27 | Skills & Apps Installed/Starter overlap | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P28 | Marketplace empty โ sync from DB | ๐ | โ
shipped โ `ac586f7` "fix(marketplace): correct monorepo seed path resolution" | combined with C4 dedupe (S1 `b8dab3d`) |
|
|
| P29 | Skills & Apps cards not clickable | ๐ | โ
shipped โ detail pane wired | CapabilitiesApp.tsx:160 `onClick={() => setSelectedPack(pack)}` opens overlay detail card at line 218+ |
|
|
| P30 | MCP install flow unclear | ๐ | โ
shipped (S3 PDF picks) | per S3 handoff "P30 MCP install clarity" |
|
|
| P31 | Second Marketplace dock | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P32 | Team Governance on Free | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P33 | "API Keys" vs "Vault" naming | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P34 | Approvals โ Ops or delete | ๐ | โ
shipped (S3) โ Approvals โ Teams-tier | per S3 handoff |
|
|
| P35 | Spawn Agent "no models available" | ๐ | โ
shipped โ `8782cab` Phase A/B polish | SpawnAgentDialog.tsx:263-277 has actionable empty state: "Keys configured but no models returned โ the LiteLLM proxy may not be running." |
|
|
| P36 | Dock spawn-agent click does nothing | ๐ | โ
shipped โ fully wired | Dock.tsx:152 `onClick={onSpawnAgent}` โ Desktop.tsx:398 `onSpawnAgent={() => ov.setShowSpawnAgent(true)}` |
|
|
| P37 | Ctrl-K search hidden | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P38 | Status bar WiFi badge / 24h | โ
| โ
shipped (S2 batch) | confirmed |
|
|
| P39 | Status bar left static | ๐ก | โ
shipped โ M-47 `bb9cae5` | "dynamic focused-window label in status bar" |
|
|
| P40 | Light mode boot logo / animation | ๐ | โ
shipped โ `cbe8924` H-04..06 + `8782cab` theme-aware logo | BootScreen.tsx:27-28 `useIsLightTheme` + `waggleLogoLight` / `waggleLogoDark`, full animation set still present |
|
|
| P41 | Light mode "Waggle AI" text styling | ๐ | โ
shipped โ H-04..06 polish close | text uses `text-foreground` (theme-aware token); `font-display font-bold` consistent across modes |
|
|
|
|
## Summary
|
|
|
|
| Status | Count | Items |
|
|
|---|---|---|
|
|
| โ
shipped | 38 | P2-P8, P10-P34, P35-P41 (all but P1 + P9) |
|
|
| ๐ก wired but needs LIVE test | 1 | P1 โ onboarding persona โ first chat window |
|
|
| ๐ด blocked external | 1 | P9 โ Stripe products (Marko, post-benchmarks) |
|
|
| ๐ still open | 0 | โ |
|
|
|
|
**M-33..48 effective effort:** ~0 engineering hours of new build. ~1-2 hours
|
|
for P1 Playwright E2E test (or live binary smoke). All other items are
|
|
already on `main` under M-XX commits since S2.
|
|
|
|
## Recommendation
|
|
|
|
1. **P1 verification only** โ write a Playwright test that:
|
|
- Onboards with `researcher-tools` template (auto-selects researcher persona)
|
|
- Lands on Ready step โ completes
|
|
- Verifies the first chat window opens with `currentPersona === 'researcher'`
|
|
- If green: close P1 โ
. If red: 1-2 hr fix in handleFinish or ChatWindowInstance fallback.
|
|
|
|
2. **Skip remaining "exec" of M-33..48** โ there's nothing to execute.
|
|
|
|
3. **Move directly to `#2` M-07..10 Harvest UX polish** โ this was the next item
|
|
in Marko's S2 sequence. ~2-3 d of genuine functional work.
|
|
|
|
## Why the gap: PDF triage doc rot
|
|
|
|
The PDF source doc (`PDF-E2E-ISSUES-2026-04-17.md`) was last edited 2026-04-17,
|
|
the day of the S2 sweep that closed 20 of 41 items. Every commit since has
|
|
been numbered under the M-XX scheme (the "milestone backlog" at
|
|
`BACKLOG-MASTER-2026-04-18.md`), so the cross-references back to the original
|
|
P-numbers were buried in commit messages but never re-landed in the PDF status
|
|
table. The 16 items presumed open under "M-33..48 = remaining PDF" were
|
|
actually shipped one-by-one as M-41/M-42/M-43/M-47 etc.
|
|
|
|
**Lesson for future planning surfaces:** When work splits across multiple
|
|
backlog files (PDF triage + M-XX milestone + L-XX latency), the *source*
|
|
should hold canonical status; commits should be tagged with both numbering
|
|
schemes (`M-41 ยท P18` is the right pattern, used in some commits but not all).
|
|
|
|
---
|
|
|
|
**Author:** Claude (audit per Marko's S2 directive โ sequence M-33..48 first)
|