Third feedback round: today's curves, cost layout and Junie sources
2026-10-03, following second-round corrections. Source inspection and read-only local database snapshots identified the issues. No production-database or Agent-file writes. Scripts, snapshots, replay databases and logs are in ignored build/feedback-round3/; browser screenshots are in ignored build/browser-smoke/.
Causes and corrections
- Today’s hourly grouping branch used calls; a single hour used a separate call bar chart. Changing only the overview curve could not fix grouped views. Model, Agent and Agent-plus-model now share hourly token curves, including a single hour’s axis. Known zero displays zero; missing complete totals remain gaps, without replacing them with calls or input lower bounds.
- Token tooltips repeated the whole Copilot explanation and input/output after every series missing total. Shared compact forms are name: value, name: ≥ value, or name: —. Explain lower bounds once; full explanations remain in the short note’s tooltip. Shared chart code limits width and wraps long names.
- Cost summary cards repeated partial-estimate counts while panels expanded every coverage explanation, adding height. Cards show compact original-currency amounts and applicable USD reference, with coverage counts in tooltips. Panels retain amounts, gap counts and curves; coverage/model prices expand on demand and wrap in narrow windows.
- Junie errors came from an empty false registration created by the old telemetry-root broadcast. The actual snapshot’s instance directory was the application telemetry parent, with no files, usage or diagnostics. Both failures were source_files.file_id uniqueness conflicts. Junie discover promotes the supplied events.jsonl directory to its parent. Last round’s exact-original-root recovery missed this transformed instance; it was not failure to read a newly discovered native Junie session.
Recovery now runs discover across the whole adapter registry to reproduce candidates from old managed roots, then repairs false registrations without usage history by exact adapter/path. Retain settings, files, diagnostics and period history; real-source errors remain visible. Regressions cover parent promotion and repeated recovery rather than adding another Junie-specific exception. Requirements are synchronized in dashboard interaction, Copilot telemetry and root AGENTS.md.
Validation
Windows x64, Node.js 24.21.0, installed Edge and locked dependencies.
| Check | Result and scope |
|---|---|
| npm run verify | Exit 0; Markdown/assets, three script tests, 20 frontend tests, Svelte, fmt, Clippy, 820 Rust tests and web build passed |
| source_routing | Five passed: actual discover candidates, targeted managed-root routing, physical-file ownership, history retention and repeat recovery |
| Local snapshot-copy recovery | Both runs exited 0; visible erroneous Junie instances 1→0, false registration retained as not_applicable; event/file/diagnostic counts unchanged |
| npm run test:browser | Exit 0; actual Edge with simulated IPC; multi-hour/single-hour curves for all three groups, actual token data, zeros and gaps |
| Tooltips/layout | Tooltip≤482 px with no repeated long explanation; dual-currency summary card<115 px, panel 478 px; 760 px window has no horizontal overflow with coverage/prices expanded |
| npm run check | Exit 0 again after final layout adjustment; Svelte zero errors/warnings |
| npm run build:desktop | Exit 0; Windows x64 release executable and NSIS 0.2.1 installer, about 3.59 MiB |
Complete validation log: verify.log. After final layout adjustment, browser-final.log and the desktop build’s web build checked the result. Junie-copy recovery: probe.log. Screenshots visually checked: today-token-groups.png, token-tooltip-compact.png, cost-summary-compact.png, cost-panel-compact.png, cost-details-narrow.png. Desktop build log: build-desktop.log. Installer: desktop/src-tauri/target/release/bundle/nsis/LLMUsage_0.2.1_x64-setup.exe.
Browser regressions do not verify native GUI/IPC. This batch installed/started no new application and did not write the production database. Normal collection with the updated application restores false registrations without clearing the database. No commit, push or deployment.