Files
bullpen/src
Markus Fritsche f0ab8b8f35 mneme: read-only web viewer at GET /
mneme held 124 migrated episodes and had no human interface at all — curl only.
Adds a self-contained HTML page (stdlib http.server, no deps, bullseye house style)
consuming the EXISTING endpoints client-side: namespace tree with counts, recent
memories, a search box over /query, and a status line with degraded flag + queue depth.

READ ONLY by design. No edit/delete — curation (idea 130) needs delete semantics,
the consolidation-clobber flag and an audit trail settled first.

XSS: memory text is escaped via createTextNode -> innerHTML, not string concat.
mneme ingests web-derived digests (gap R5), so a stored <script> reaching a browser
is a real path. The spec test executes the DOM and asserts window.__pwned stays unset
and zero script/img nodes are created — a real check, not a string match.

Ground by @py on local deepseek-v4-flash-dspark, GREEN in 90 seconds, one shot.
15 viewer tests, 70 mneme tests, 246 repo-wide.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 22:20:06 +02:00
..