- Route default `subminer stats` through attached `--stats`; keep daemon path for `--background`/`--stop` - Update overview metrics: lookup rate uses lifetime Yomitan lookups per 100 tokens; new words dedupe by headword - Suppress repeated macOS `Overlay loading...` OSD during fullscreen tracker flaps and improve session-detail chart scaling - Add/adjust launcher, tracker query, stats server, IPC, overlay, and stats UI regression tests; add changelog fragments
3.8 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, references, parent_task_id, priority
| id | title | status | assignee | created_date | updated_date | labels | dependencies | references | parent_task_id | priority | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-177.1 | Fix overview lookup rate metric | Done |
|
2026-03-19 17:46 | 2026-03-19 17:54 |
|
|
TASK-177 | medium |
Description
Update the stats homepage Tracking Snapshot so Lookup Rate reflects lifetime intentional Yomitan lookups normalized by total tokens seen, matching the newer stats semantics already used in session, media, and anime views.
Acceptance Criteria
- #1 Overview data exposes the lifetime totals needed to compute global Yomitan lookups per 100 tokens on the homepage
- #2 The homepage Tracking Snapshot Lookup Rate card shows Yomitan lookup rate as
X / 100 tokenswith tooltip/copy aligned to that meaning - #3 Automated tests cover the lifetime totals plumbing and homepage summary/rendering change
Implementation Plan
- Extend overview lifetime hints/query plumbing to include total tokens seen and total intentional Yomitan lookups from finished sessions.
- Add/adjust focused tests first for query hints, stats overview API typing/mocks, and overview summary formatting so the homepage metric fails under old semantics.
- Update the overview summary/card to derive Lookup Rate from lifetime Yomitan lookups per 100 tokens and align tooltip/copy with that meaning.
- Run focused verification on the touched query, stats-server, and stats UI tests; record results and blockers in the task notes.
Implementation Notes
Extended overview lifetime hints to include total tokens seen and total intentional Yomitan lookups from finished sessions so the homepage can compute a true global lookup rate.
Extracted the homepage Tracking Snapshot into a dedicated presentational component to keep OverviewTab smaller and make the Lookup Rate card copy directly testable.
Focused verification passed for query hints, IPC/stats overview plumbing, stats server overview response, dashboard summary logic, and homepage snapshot rendering.
SubMiner verifier core lane artifact: .tmp/skill-verification/subminer-verify-20260319-105320-7FDlwh. bun run typecheck passed there; bun run test:fast failed for a pre-existing/unrelated environment issue in scripts/update-aur-package.test.ts because scripts/update-aur-package.sh reported mapfile: command not found.
Final Summary
Homepage Lookup Rate now uses lifetime intentional Yomitan lookups normalized by lifetime tokens seen, matching the existing session/media/anime semantics instead of the old known-word hit-rate metric. I extended overview query hints and API typings with total token and Yomitan lookup totals, updated the overview summary builder to reuse the shared per-100-token formatter, and replaced the inline Tracking Snapshot block with a dedicated component that renders X / 100 tokens plus Yomitan-specific tooltip copy.
Tests added/updated: query hints coverage for the new lifetime totals, stats server and IPC overview fixtures, overview summary assertions, and a dedicated Tracking Snapshot render test for the homepage card text. Focused bun test runs passed for those touched areas. Repo-native verifier --lane core also passed bun run typecheck; its bun run test:fast step still fails for the unrelated existing scripts/update-aur-package.sh: line 71: mapfile: command not found environment issue.