Goal issue #79 · slug app
1/8 member issues closed
no readiness label yet.
closed members.
Build the user-facing app that replaces safetyGraphics. @jwildfire, 2026-09-10: the desktop app is safety.viz-native, a self-contained local HTML and JavaScript app, and the open.gismo app arc parks for the talk. For the talk this objective is the portfolio view: one page on the safety.viz site shows all thirteen charts organised by data domain on the canonical demo data, with chart navigation, shared filters, a shared participant drill-down and a chart-status panel saying which charts the loaded data supports (plan, 2026-09-10, objective 3, lane A, first). The data loading objective (#329) and the desktop file objective (#330) compose on top of it.
End state: https://jwildfire.github.io/safety.viz/portfolio/ renders all 13 chart modules on the vendored pharmaverse demo data, grouped by the standard domain set (subject-level, adverse events, labs and vitals as one long-format measurement domain, ECG), with navigation by domain, arm, site and population filters applied across every chart, the participant profile opening from any chart, a chart-status panel reading 13 of 13 on the demo data, and a study-configuration JSON that saves and loads round-trip; released.
Proof: the Playwright run over every chart on the page passes (npm run test:e2e -- portfolio) with its screenshots in the evidence set and its evidence page linked from the release notes; the portfolio manifest and the study-configuration schema are served from the site at URLs quoted in the closing comment; every requirement below is closed with its proof comment and the release tag named.
Ships in: safety.viz v1.8.0 (proposed; the version plan for the talk is an open decision on the plan page), milestone 2026-10-talk.
In session order:
Members from the open.gismo arc, parked for the talk on the backlog milestone: the demo-301 v0 study (#134), the action log (#139), GitHub's role in open.gismo v1.0 (#34), and the goal-elicitation prep and sittings (#192, #193).
This issue was drafted by Claude Code using Fable 5 and reviewed by @jwildfire (the goal-era body, 2026-07-24, in this issue's edit history); rewritten as objective 3 from the plan by Claude Code using Fable 5.1 on 2026-09-11, on his in-session approval to edit it. The tree is signed off only by his comment here.
Members are generated from the objective issue's sub-issue links at build time; priority is the selecting session's judgment, not list order (#53 v2). The --auto policy binding — active/paused, grant profile, repo-level backlog feeds — lives in obot.agent/goals/registry.json. Readiness labels: auto = ready for autonomous implementation, draft = needs @jwildfire steering.