vestige/apps/dashboard
Sam Valladares e60e568160 fix(dashboard): audit pass — clickable field cells, empty-data substrate, reduced-motion
Full multi-team audit of the living-field work (adversarial fleet + fresh-eyes
pass + foundation deep-dive). 11 real bugs found and fixed; 7 false positives
adversarially refuted. All re-verified live on the real brain.

Pick contract: field cells were unclickable in intentions/schedule/memory-prs/
importance — the click handlers read the old text-item id off a node payload.
Read the id from either shape; importance now also picks the field pass;
intentions gets a dedicated filter toggle instead of flipping the filter on every
click. RouteStage now picks passes top-down (front-rendered text before
back-rendered field) so a background cell can't steal a foreground control's
click. Proven live: cell clicks fire real promote/act with real memory ids.

Empty data: /patterns went black when the cross-project set is empty (it is
recomputed). Seeded a real memory-pool substrate it falls back to, like
contradictions — alive at zero patterns.

Correctness: memories unsuppress now honors UnsuppressResult.stillSuppressed
(compounded suppression stays scarred). LivingFieldPass no longer writes the
shared params[2] node_count lane (was corrupting the co-resident scene renderer
on graph/observatory/memories). Finite-guard every value reaching the GPU buffer
so a bad mapper can't NaN-out the field. blackbox selected-cell highlight tracks
selectedRunId. graph nulls its field handle when leaving field mode.

Accessibility: /memories and /importance (direct ObservatoryCanvas mounts) now
honor prefers-reduced-motion via engine.setPaused — the field freezes for
reduce-motion users. Gate pins reducedMotion:'no-preference' so the motion
assertion is stable.

Gates green: check 0/0, build ok, palace-launch-gate 22/22 + curated tour,
all-routes-smoke 20/20, ChangelogResponse gains totalEvents.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 06:57:19 +07:00
..
build fix(dashboard): audit pass — clickable field cells, empty-data substrate, reduced-motion 2026-07-12 06:57:19 +07:00
e2e feat(dashboard): every organ is a living WebGPU field (LivingFieldPass) 2026-07-12 06:20:35 +07:00
src fix(dashboard): audit pass — clickable field cells, empty-data substrate, reduced-motion 2026-07-12 06:57:19 +07:00
static feat(dashboard): MSDF text engine — the all-WebGPU text linchpin 2026-07-09 12:43:58 -07:00
.env.example v2.1.2 Honest Memory 2026-05-06 02:22:24 -05:00
OBSERVATORY-SPEC.md feat(observatory): raw-WebGPU living cognitive field with 5 deterministic demos 2026-07-08 10:49:18 -07:00
package-lock.json Release v2.1.23 Receipt Lock hardening 2026-05-27 19:03:16 -05:00
package.json chore(release): v2.2.0 — Retroactive Salience + Tool Consolidation 2026-06-29 15:15:54 -05:00
playwright.config.ts fix(dashboard): audit pass — clickable field cells, empty-data substrate, reduced-motion 2026-07-12 06:57:19 +07:00
svelte.config.js ci(pages): deploy dashboard to GitHub Pages with subpath-aware base 2026-06-21 17:46:43 -05:00
tsconfig.json feat: live memory materialization — nodes spawn in 3D graph in real-time 2026-03-03 14:04:31 -06:00
vite.config.ts feat(observatory): raw-WebGPU living cognitive field with 5 deterministic demos 2026-07-08 10:49:18 -07:00