Files
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

3.1 KiB

PR3.5 Memory-Trust — Live Smoke Evidence (2026-06-16)

Branch feature/warm-hive-pr3 @ 876737e6. Live browser smoke via chrome-devtools MCP against the running dev env (FE vite hot-reload on the page origin; API base :3333). Screens captured to this dir.

Verdict: PASS (UI) — 0 console errors, dark + light

# Screenshot What it proves
01 01-trust-manage-dark.png Trust is the default Memory view; segmented Manage/Why; editorial hero; 4-stat bar with honest "—" gating on "High confidence & fresh" (no confidence in the set); All/Stale/Needs-confirm chips + disabled "Forgotten"; 3 real rows (M-47/M-45/M-1) with ConfidenceRing (—/unknown), ⬡ M-id · source: you · ● fresh, M-1 = "aging — added 9w ago"; principle footer.
02 02-trust-why-dark.png Why view: hero ("PROVENANCE · ACCOUNTABILITY" + quote H1), honest empty state ("Open a memory's ⬡ trace…"), Why-specific principle.
04 04-trust-manage-light.png Same Manage view in light — pure token swap (PR1 architecture), honey accent + warm-light tokens intact.

Also verified interactively (a11y snapshots):

  • Cross-view flow: Manage row → edit drawer (Correct editor + EvidencePanel "source: user_stated" + Save/Why/Forget) → "Why is this here?" switches to the Why view and loads that memory's trace.
  • a11y: ConfidenceRing role=img + aria-label; row buttons aria-labelled; segmented = toggle buttons (aria-pressed); "Forgotten" chip aria-disabled with rationale.
  • Console: 0 errors / 0 warnings across Manage, Why, drawer, dark + light.

Constraint — live verification of the NEW sidecar routes deferred

The running :3333 sidecar (PID 28776) started 2026-06-12 22:53 — 4 days before PR3.5 (first PR3.5 commit c4794737, 2026-06-16 14:13). tsx does not hot-reload, so the running sidecar does not register PR3.5's new routes. Therefore, live:

  • GET /api/memory/:id/trace → the Why view showed its error state ("Not found") for M-1 instead of the honest {trace:null} empty state — because the route is unregistered on the June-12 sidecar, NOT a code bug. With the route present, M-1 (no trace_id) returns {trace:null} → the "No trace is linked to M-1" empty state.
  • POST /api/memory/:id/confirm and the Part 1A frame.source projection on the /api/workspaces/:id/context route likewise need a fresh sidecar to see live.

These are all unit-verified (memory-center 25/25 incl. /confirm + /trace null/404 paths; workspaces.ts projection covered by server tsc) and the FE calls them correctly. To verify the new routes end-to-end: restart the sidecar from this working tree, then re-open /memory (Trust) and a memory's "Why is this here?".

Notes

  • Rows show source: you because the seeded/identity memories are genuinely user_stated. The PR3.5-review write-fix stamps NEW agent memories agent_inferred, so agent-derived rows will read "agent" once such memories exist.
  • The two-nav-layer (MemoryCenterApp tab bar + Trust segmented control) and the Hive-DS-vs-warm token seam are a known, documented integration trade (review MED, deferred — broader restyle).