Wave 0 — preserve current work
0.1 Approval and commit boundary
Finish current visual acceptance and commit the existing Recall/status/dedupe work separately before starting this roadmap. Do not mix unapproved deployment changes with new architecture.
Wave 1 — immediate UX and provenance
1.1 Stable carousel
UWPTDD
Key items by Recall ID; poll only when count/revision changes; preserve selection; add Follow latest.
Tests: widget structural tests + pure reconciliation helper tests + installed click-through.
1.2 Raw VLM envelope
BridgeMigration
Persist exact provider envelope before normalization; add on-demand detail command and Image/Extracted/Raw tabs.
1.3 Drawer compression
UWP
Shared filter/header/plus pattern, type-specific editable prompts, recap prompt conversion, icon swap. Replace Research/Memory refresh controls with plus actions, add the same to Notes, and update cards live from revision-aware invalidation.
Wave 2 — durable trace inspector
2.1 Trace store
Add SQLite metadata/events/blob storage; redact before write; link history turn IDs to run IDs. Persist live because Hermes events/status expire.
2.2 Hermes event fidelity
First enhance Hermes Runs/tool-dispatch to emit or reference redacted call IDs, arguments and raw results; consume existing reasoning.available. Add contract fixtures for absent reasoning.
2.3 Live/historical UI
Four-line fading tail, expand/collapse, per-tool raw pager and historical bubble traces.
2.4 Local explanations
Dynamic LM Studio model discovery; background cached summaries/annotated breakdowns; never replace raw.
Wave 3 — source ledger and ingestion
3.1 Tool artifact capture
Use the Hermes-side capture envelope to persist every eligible GTC/HTTP/local extraction output with run/tool provenance and versioning.
3.2 Protocol + Sources viewer
Declare corpus commands in the shared JSON schema; add raw/extracted/version/chunk views, citing runs, delete/export/refresh and storage dashboard.
3.3 New-game wizard
PowerShell inventory, approved roots, source proposals, ingestion manifest and resumable jobs.
3.4 PDF/wiki adapters
Structure-aware PDF pages and bounded GTC crawl jobs with provenance. Prioritize the verified Torment manuals/strategy guide/novellas; leave decorative media metadata-only by default.
Wave 4 — hybrid retrieval
4.1 Chunk/index migration
Heading/page-aware chunks and FTS retrieval contract.
4.2 Nomic embeddings
LM Studio adapter, hash/model cache, fallback and job status.
4.3 Fusion and spoiler filter
RRF, trust/version filtering, evidence budgets and citations.
4.4 Evaluation gate
Torment benchmark; enable hybrid only when it improves source recall without spoiler leakage.
Parallel work lanes
| Lane | Can proceed independently after shared schema brief | Hard dependency |
|---|---|---|
| A · UWP UX | Carousel, drawers, icons, trace components | Detail/trace API shapes |
| B · Trace backend | Trace DB, event capture, blobs, redaction | Hermes event fixtures |
| C · Corpus backend | Source artifacts, ingestion jobs, extraction | Canonical source/version schema |
| D · Retrieval | Chunking, embeddings, evaluation | Source versions + chunks |
Concrete file map
- Modify:
bridge/game_assist_bridge/recall.py,runs.py,hermes_adapter.py,commands.py,corpus.py,game_store.py,server.py. - Create:
trace_store.py,source_artifacts.py,ingestion.py,retrieval.py,embeddings.py. - Modify:
apps/windows-gamebar-widget/Widget1.xaml,Widget1.Commands.cs,Widget1.xaml.cs. - Create PowerShell helpers under
scripts/for inventory/import. - Tests: add focused modules for traces, artifacts, ingestion, retrieval; expand Recall/commands/widget tests.
Verification gate for every slice
python -m pytest tests/<focused> -q python -m pytest tests -q python -m py_compile bridge/game_assist_bridge/*.py powershell.exe -NoProfile -ExecutionPolicy Bypass -File ./scripts/build-widget.ps1 -Configuration Release -Platform x64 git diff --check # install signed package with application-data preservation # physically verify in Xbox Game Bar
Release risks
- Storage growth: quotas, compression, paging and retention by artifact class.
- Sensitive tool data: schema-aware redaction before persistence, not at display time.
- Reasoning availability: provider-specific; UI must distinguish absent, summary and raw.
- Copyright/terms: local personal indexing, attribution and bounded approved ingestion—not public redistribution.
- UWP responsiveness: all large content/details are on-demand and paged.
- Migration: additive SQLite migrations with backup and rollback tests; preserve UWP LocalState during installs.
Definition of done
- Fresh tests/build logs, not stale summaries.
- All records and retrieval constrained by canonical game ID.
- Raw evidence/tool output is inspectable and linked to derived content.
- No fabricated reasoning labels.
- Installed signed x64 package physically verified.
- Each wave committed separately only after approval.