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 (notrace_id) returns{trace:null}→ the "No trace is linked to M-1" empty state.POST /api/memory/:id/confirmand the Part 1Aframe.sourceprojection on the/api/workspaces/:id/contextroute 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: youbecause the seeded/identity memories are genuinelyuser_stated. The PR3.5-review write-fix stamps NEW agent memoriesagent_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).