← All goals
Objective: Chart coverage — every figure in the FDA safety guidance, static and interactive
Goal issue #78 · slug charts
10/36 member issues closed
Other open members 26
no readiness label yet.
- #37 QT Safety Explorer Phase 2 — QTcI, multi-interval, drill-down, hysteresis & guided ICH-E14 workflow (Backlog · safety · status: backlog)
- #9 FDA ST&F phase 0 — reference criteria as package data, first Derive_* functions, requirement matrix (gsm.safety v1.2.0) (Review · safety · status: review)
- #38 Benefit-risk forest plot (safety-graphics suite) (Backlog · safety · status: backlog)
- #39 Benefit-risk value tree (MCDA) (Backlog · safety · status: backlog)
- #40 Recurrent AE analysis (beyond first occurrence) (Backlog · safety · status: backlog)
- #66 Add next/back navigation between safety.viz example pages
- #15 qcthat-compatible QC reporting for safety.viz (JS issue-linked test matrix) (Backlog · safety · status: backlog)
- #32 hep-explorer user guide — Word doc to HTML (v1.3 release companion) (Backlog · safety · status: backlog)
- #33 legacy renderer issue migration — mine the RhoInc trackers for safety.viz features (Backlog · safety · status: backlog)
- #43 abnormal-baseline DILI tools — migration Sankey + ALT waterfall (Amirzadegan 2025) (Backlog · safety · status: backlog)
- #98 brush multiselect on the scatter renderer family (Backlog · safety · status: backlog)
- #119 Participant profile: the published copy documents the rail but not the adverse-event domain (sv#112 follow-up) (Backlog · safety · status: backlog)
- #161 Kaplan–Meier time-to-event chart family — interactive renderer for safety.viz (Backlog · safety · status: backlog)
- #81 Close out safety-histogram fork and remove from roadmap
- #168 nepExplorer Phase 2 — patient-profile drill-down (KDIGO scatter follow-on) (Backlog · safety · status: backlog)
- #169 hepExplorer — exposure track, v1.2 follow-ups, and waterfall panel legends (Backlog · safety · status: backlog)
- #171 canonical demo data — scripted pharmaverse ADaM pipeline (Backlog · safety · status: backlog)
- #172 safety.viz platform hardening — site generator, fan-out robustness, porting tooling (Backlog · safety · status: backlog)
- #173 participant-profile lab-family dock — roll out across the remaining long-lab renderers (Backlog · safety · status: backlog)
- #164 gsm.safety v1.2.0 — safety.viz v1.6.0 widget parity + parity guard (Review · safety · status: review)
- #165 gsm.safety v1.2.0 — Widget_TimeToEvent + participant-profile surface (safety.viz v1.7.0 parity) (Review · safety · status: review)
- #323 FDA ST&F phase 1 — four static engines, twelve figures in gsm.safety (Backlog · safety · status: backlog)
- #324 FDA ST&F phase 1b and the Kaplan–Meier family — static coverage 22 of 22 (Backlog · safety · status: backlog)
- #349 the Patient Journey Explorer — one participant's whole safety course on one study-day axis (Ready · safety · status: ready)
- #350 Widget_PatientJourneyExplorer() — the Patient Journey Explorer from R (Backlog · safety · status: backlog)
- #351 AI narratives for the Patient Journey Explorer — drafted, cited, reviewer-accepted (Ready · safety · ai · status: ready)
✅ Done 10
closed members.
- #35 nepExplorer migration — KDIGO kidney-safety explorer for safety.viz (Released · safety · status: released)
- #64 move safety.viz requirement matrix out of obot.agent (Released · infrastructure · status: released)
- #88 hepExplorer follow-up enhancements — interaction, animation & data handling (Released · safety · status: released)
- #75 participant profile v2 — sidebar surfacing + AE domains (Released · safety · status: released)
- #2 Safety Histogram migration (pilot) (Released · safety · status: released)
- #21 safety.viz documentation site — example gallery, test evidence, and API reference (Released · documentation · safety · status: released)
- #25 canonical demo data for safety.viz renderers (Released · safety · status: released)
- #29 safety.viz v1.3 — remaining renderers + explorer demo environment (Released · safety · status: released)
- #45 participant profile — shared drill-down module for safety.viz (Released · safety · status: released)
- #138 participant-level metrics and flags in gsm.safety — a 2_metrics phase over the existing charts (Released · safety · status: released)
Direction
Intent
Keep growing the safety-chart portfolio, static and interactive, through the requirement lifecycle: safety.viz renderers (with their full done-gate — gallery demo + evidence page + API ref on the deployed site) and gsm.safety Widget_* bindings / static FDA ST&F charts.
For the R/Pharma talk this objective is chart coverage: every figure in the FDA safety guidance rendered as a static chart in gsm.safety, and every safety.viz module reachable from R (plan, 2026-09-10, objective 1, lane B).
Definition of done
End state: all 22 figures of the FDA Standard Safety Tables and Figures Integrated Guide (v2.0, April 2025) render as static charts in gsm.safety, each with visual-regression evidence and an entry in a static gallery on the gsm.safety site beside its safety.viz twin where one exists; all 13 safety.viz modules have an R widget with the parity check green; the releases that carry them are published.
Proof: the gsm.safety static gallery on the deployed pkgdown site shows a coverage table reading 22 of 22 with every figure linking its evidence; .github/parity-allowlist.yaml in gsm.safety is empty and the safety-viz-parity workflow is green on the last release; every requirement listed below is closed with its proof comment and its release tag named.
Ships in: gsm.safety v1.2.0, v1.4.0, v1.5.0 and the static-chart releases that follow (v2.0.0 and v2.1.0 proposed), milestone 2026-10-talk.
Requirements
In session order:
- #164 — gsm.safety v1.2.0: safety.viz v1.6.0 widget parity and the parity guard (in review; release candidate gsm.safety#68)
- #165 — gsm.safety v1.4.0:
Widget_TimeToEvent() and the participant profile (in review; ships after v1.3.0, gsm.safety#69)
- #9 — FDA ST&F phase 0: reference criteria as package data, first
Derive_* functions, requirement matrix, ADaM alignment (gsm.safety v1.5.0)
- #323 — FDA ST&F phase 1: four static engines, twelve figures (gsm.safety v2.0.0 proposed)
- #324 — FDA ST&F phase 1b and the Kaplan-Meier family: static coverage 22 of 22 (gsm.safety v2.1.0 proposed)
Members not scheduled for the talk: #43 and #161 shipped in safety.viz and need their closing comments; #37, #168, #169, #171, #172, #173, #98, #119, #15, #32, #33, #38, #39, #40, #66 and #81 stay in the backlog and are prepped only if the five above close early.
Boundaries
- The renderer done-gate is part of the increment: a chart is not done until it is on the deployed site with evidence, and for the static charts the five-part definition of done for a chart in the developer guidelines applies.
- gsm.safety is a clinical repository: work merges to
dev on green checks, and nothing reaches main without @jwildfire's approving review on the release-candidate pull request. The stacked candidates (v1.2.0, then v1.3.0, then v1.4.0) must be reviewed and merged forward in order before v1.5.0 can be cut; a session on #9 builds on dev regardless and opens its candidate behind them.
- The shared derivation layer moves the guide's normative rules into R once. It is proven on the DILI pair in phase 1 before the other engines commit to it, and nothing removes a derivation from a shipped safety.viz module until that proof exists.
- The Kaplan-Meier family arrives by wrapping an existing survival package, not by building a survival engine, and its static twin must agree with the interactive renderer's endpoint semantics (#161, #165).
- Cut line if the calendar slips: phase 1b and the Kaplan-Meier family (#324); phase 1's twelve figures ship first.
- New chart ideas found mid-session are filed, never built.
Generated by Claude Code
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.