plan(2026-06-01) + feat(telemetry): weekly plan & exportable engine session report (#699)#697
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughUpdated ChangesWeekly knob-drift-kill planning
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1. Weekly planner run — 2026-06-01 (User Idea mode)
Updates
weekly_plan.md: knob render-pass plumbing moved to Done (landed onmain, build passing); the idea's core drift-kill carried into today's focus (sharedknobMaterialcontract). Reconciled backlog — closed-unmerged PRs #506/#507 removed, 0-open-issues flagged, duplicate Copilot PRs #685/#686 + Jules PR #693 added.2. feat(telemetry): exportable hybrid-engine session report — Closes #699
Adds a manual, privacy-preserving export of hybrid audio-engine telemetry.
Changes
src/utils/engineTelemetry.ts— bounded per-subsystemresolutionHistory(cap 20);sampleCount+p95Reliableonsnapshot()(threshold 128, consistent with the 256-sample ring cap — not 500);getBrowserCapabilities()(capabilitytier; no raw userAgent, optional low-entropyuserAgentData); pureserializeEngineReport(); injectableDownloadProvider;generateReportJSON()+exportReport().src/main.tsx— registerswindow.__devtools.exportEngineReportat app bootstrap (not on HUD/component mount), gated onimport.meta.env.DEV || ?devtools.src/components/EngineHUD.tsx— "Download Report" + "Copy JSON" buttons via event delegation (survives the 500msinnerHTMLre-render); clearsinertwhile visible so buttons are clickable.src/utils/__tests__/engineTelemetry.test.ts— 9 tests: serialization shape, no-userAgent-leak, filename safety, capability shape, p95Reliable boundary (127→128), history cap (25→20), ring cap (300→256), injected export provider.Verification
npx tsc -b→ 0 errorsnpx vitest run→ 934 passed, 1 skipped, 0 failed (new file: 9/9)eslinton touched files → cleannpm run buildnot run here — needs the WASM toolchain (asc/wasm-pack/emscripten) absent from this container; covered by CI / the mid-day pipeline task.Design notes (resolved open questions)
?devtoolsgated.https://claude.ai/code/session_01WGd5LsqEqQawHbQ4QKT4dd