Prepared 2026-07-25 for review-guide #114 item R1 · promotes dev → main from v1.4.1 (2026-07-22) · full user-facing notes live in the #114 promotion PR body
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.
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.
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.
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).
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.
Housekeeping: stale PR-preview links stop 404ing. No runtime code.
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.
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.
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