safety.viz v1.5.0 — release plan

Prepared 2026-07-25 for review-guide #114 item R1 · promotes devmain from v1.4.1 (2026-07-22) · full user-facing notes live in the #114 promotion PR body

What v1.5.0 ships: the participant-profile drill-down module + lab-family dock, the migration Sankey + ALT waterfall (DILI tools), the hepExplorer follow-up set (waterfall panel hover/legend, draggable Hy's-Law cut-lines, marginal distributions, CSV exports, LLOQ imputation), axis-limit prefill, and the requirement matrices moving in-repo, and participant-profile v2 (right-hand rail + expand + adverse-event domain, sv#112 — added by decision 07-25 evening). 981 unit + 219 e2e green pre-#112; Linux baselines regenerated.

Review order — merged content (already on dev, review = confirm release face)

  1. 1 ·sv#105 — participant profile: shared drill-down module + dock (combined)MERGED 07-24

    The overnight hub#45 build, combined into one PR per your one-PR-per-session rule: hep-core split into per-view components, a full-parity standalone participant-profile module, the dock surfacing, and the lab-family rollout. This is v1.5.0's headline feature and the foundation the v2 sidebar work (#75) designs against.

    Review: gallery demo + evidence pages; the v2 mockup reuses this module live.

  2. 1b ·sv#112 — participant profile v2: rail, expand, AE domainADDED 07-25 — merging to dev

    Included in v1.5.0 by your call (review guide, 07-25 evening). The profile moves from the dock into a right-hand rail with an expand state, and gains the adverse-event domain: an AE summary block plus a timeline on the labs chart's study-day axis. Implements hub#75 with D1–D9 as taken; supersedes the dock (D4) so the dock API never ships. Built overnight in your RC-driven lane; 120 files.

    Status: conflict resolution against current dev in flight (branch predated #110/#111/#113), then CI, then merge — the release notes in sv#114 already describe the rail form.

  3. 2 ·sv#97 — migration Sankey (Fig 3) + ALT waterfall (Fig 5)MERGED 07-23

    The abnormal-baseline DILI tools: a study-flow Sankey and the per-participant ALT waterfall with flanking box-and-whisker panels. Shipped as prototypes; your box-plot legibility feedback (#82/#83) is addressed by the follow-up in item 3.

    Review: hep-waterfall gallery page — check the Sankey hover + waterfall panels together with item 3's additions.

  4. 3 ·sv#110 — hepExplorer follow-ups (hub#88)MERGED 07-25 (you, overnight)

    Six of the eight #88 gaps: waterfall flank-panel hover + legend/labelling (your #83 ask), draggable Hy's-Law cut-lines with live reclassification, marginal box plots + rugs, quadrant/legend polish incl. clinical-meaning rows, dropped-record/participant CSV exports with per-row reasons, below-LLOQ imputation ported from the original.

    Open sub-decisions you flagged in the PR: marginals default on/off · the agent-drafted quadrant clinical prose (matrix row marked needs-jeremy-review in merged oa#47). Not in v1.5.0: sv#46 animation, sv#48 sparklines, sv#49 exposure track (needs adex).

  5. 4 ·sv#108 — axis-limit inputs pre-filled with data-driven defaultsMERGED 07-24

    The --auto maiden-run feature (sv#85): axis inputs load showing the limits actually in force via state.axisDomain, making auto-vs-override explicit; invert guard fixed for prefilled boxes. 24 unit + 3 e2e tests.

  6. 5 ·sv#107 — Pages: closed-PR previews redirect to the dev siteMERGED 07-24

    Housekeeping: stale PR-preview links stop 404ing. No runtime code.

  7. 6 ·sv#111 — requirement matrices move in-repo (hub#64)MERGED 07-25 (guide M1)

    13 matrices now live in safety.viz/requirements/ with the extractor retargeted; parity proven (11 extracts byte-identical, 1,105 requirement blocks identical) and the post-merge regen verified as a no-op. Chart features now ship code + requirements in one PR.

Action items — the release itself (these two are R1's checkbox)

  1. 7 ·sv#113 — release prep: version bump, vendored bundle, fixture unpinMERGED 07-25 evening (approved in-session)

    Bumps to 1.5.0 and fixes a real release bug the prep run caught: all 11 e2e fixtures pinned the bundle by version (a bump strands them — now unpinned, closes sv#109), and dist/safety.viz-1.4.1 on dev had grown unreleased hepWaterfall code that would have republished under the 1.4.1 name. The freeze commit is separate and droppable if you disagree.

  2. 8 ·sv#114 — the v1.5.0 promotion (dev → main)DRAFT — the release button

    Carries the full user-facing v1.5.0 notes in its body (review them there — they become the GitHub release text). Checking R1 on the guide = I ready + merge #113 to dev, merge this to main via the approval lane citing your checkbox, publish the v1.5.0 release, and verify Pages + dist.

Drafted by Claude Code using Fable 5 (lead session) — reviewed by @jwildfire