Repository navigation
release(7.10.0): evidence-currency update outside the Protocols tab - #264
Merged
Merged
Conversation
The rendered lock captured the Protocols surface only at 1440 px, so a responsive CSS change could hide, reorder or clip protected content on a phone without failing. `--viewport=phone` (and `tablet`) now replays every fixture at 390x844 against the same desktop baselines, which must match exactly, and additionally fails when protected text is clipped out of reach by an overflow-hidden ancestor or pushed beyond the page's right edge. Baselines are unchanged; --update stays desktop-only. Verified: the current build passes at phone width; a negative control that clips Protocols paragraphs below 500 px fails (138 ICH, 82 ischemic nodes). CI runs the phone pass after the desktop lock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
… protection Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
… ASPECTS no longer score
calculateICHScore now requires an explicit boolean for age >=80, volume >=30 mL,
IVH and infratentorial origin (Hemphill 2001). An omitted or string answer
returned a score before ('false' counted as a point). Encounter callers already
pass booleans, so displayed scores are unchanged. Three calculators.test.js
assertions now state the negative answers explicitly.
evaluateDEFUSE3 returns no screen for an entered ASPECTS that is not a whole
number 0-10 on CT selection (NCT02586415 NCCT ASPECTS <6 exclusion). It was
treated as blank and could read as a met partial screen. A blank ASPECTS still
asks for confirmation; MRI selection ignores it. protocol-source lock: PASS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…k caution, CHA2DS2-VASc and PHQ-2 source notes - Worksheet synonyms now live on the definitions (aliases), so the global quick search finds STOP-BANG by 'sleep apnea', PHQ-2 by 'depression', CHA2DS2-VASc/HAS-BLED by 'atrial fibrillation' and RoPE/PASCAL by 'patent foramen ovale'. Before, only the Calculators-tab search knew them. - STOP-BANG flags a neck circumference under 25 cm (likely inches; 16 in = 40.6 cm) as it already flags height; the caution is shown and copied. - CHA2DS2-VASc limits: the 2023 ACC/AHA/ACCP/HRS AF guideline names CHA2DS2-VASc (s6.1 rec 1, PMC full text); the 2024 ESC AF guideline uses CHA2DS2-VA without the sex category (secondary full-text report), which is not calculated here. - PHQ-2 limits: Kroenke 2003 cutpoint >=3 with its source population (primary care and obstetrics-gynecology, not stroke). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…screen and worksheet 159 cases with expected values derived from Hemphill 2001, Kothari 1996, Cockcroft-Gault 1976, AHA/ASA 2026 dose and DAPT recommendations (archived transcription), DAWN/DEFUSE 3 registry records, large-core trial abstracts and the worksheet source definitions, plus missing/invalid input, copy text, search and deep-link coverage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…answer, copy) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…pecific-population Evidence cards Primary sources were re-read on 2026-10-21 (PubMed abstracts, PMC full text); AHA/ASA AIS 2026 and ICH 2022 grades were checked against the maintained projection or the archived transcription (secondary scope). Corrections: - recovery: grades are AIS 2026 (ais-2026-179/-181/-174/-175/-180), not the unreviewed August 2026 rehabilitation guideline; SSRIs are COR 3: No Benefit; FOCUS/AFFINITY/EFFECTS: no mRS benefit and more fractures. - pediatric-stroke: separate ais-2026-133 (<=6 h) and -134 (6-24 h with salvageable tissue) 2a windows; -135 2b needs salvageable tissue. - preexisting-disability: restore the ICA/M1 and NIHSS >=6 limits (-118/-119). - driving-work: AAN 2025 does propose an ordinary 3-month seizure-free interval. - maternal-stroke: IVT/EVT support is ESO 2022 expert consensus (no RCTs); AHA 2026 abstract wording for imaging and treatment delay. - vte-prevention: CLOTS 3 enrolled days 0-3; add ICH low-dose heparin (2a) and 24-48 h timing (2b). - stroke-pneumonia: COR 3: No Benefit; ESO 2026 criteria and prompt antibiotics. - inpatient-care, imaging-follow-up, poststroke-dysphagia: population/label precision (ais-2026-77, ESO 2026 TCD, FOOD early PEG). Additions (abstract or PMC full text): antiamyloid thrombolysis cautions from the lecanemab/donanemab AURs and the 2026 AHA ARIA Summit (abstract only); ESO 2025 aphasia dose, motor and vision recommendations; AHA 2026 spasticity early-treatment definition; VNS-REHAB 2-year follow-up and 2026 Cochrane review. Review questions that restated their own card were removed to offset bytes. Generated reference +2,215 bytes raw. The 2026-10-17 date pins in three tests move to the 2026-10-21 review cutoff. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Every profile's full ClinicalTrials.gov record was re-read on 2026-10-21 and its LastUpdatePostDate re-established with exact-day search-index queries. - verificationDate 2026-10-17 -> 2026-10-21 for all 16 profiles (all re-read). - Last update posted: SISTER 2026-10-02 -> 2026-10-19; CAPPRICORN-1 2026-09-18 -> 2026-10-20; CAPTIVA 2026-10-13 -> 2026-10-20. The other 13 dates were re-established unchanged. All overall statuses unchanged. - Stored criteria compared with today's records; corrections from the registry text: TELE-REHAB-2 gains registry items to confirm (it had none) and its pregnancy-test residual; SISTER adds inclusion 4c (CT hypodensity) and the planned-breastfeeding/pregnancy-test wording of exclusion 5; ASPIRE adds active infective endocarditis; SCOUTS-3, VERIFY and MR-PICS add missing registry exclusions/timing; MINUTE's time label no longer asserts a randomization time; FASTEST-2 notes the registry calls Part 2 an extension of FASTEST; MR-PICS summary follows the current brief summary. - Updated date assertions in existing trial tests to the new check date. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
- The copied screening summary printed numeric entries the criteria reject (age 150, NIHSS 3.5 or 50, volume 1e3 mL, age -5) as if they were used facts. It now prints the value the criteria read (age 070 -> age 70) and marks a rejected entry "(invalid entry; treated as unknown)". One shared numericFact() keeps the acceptance rules identical to evaluation. - Encounter-anchored onset text now dates both ends when midnight lies between the LKW and "as of" times (previously "LKW 25.0 h (Encounter LKW 11:00, as of 12:00)"), and adds a UTC offset only for a repeated daylight-saving hour, as the notes do. - The timing hint said "Exact interval entered." for a negative interval that the screen treats as unknown; it now says it is not valid. - Age, NIHSS and volume inputs flag an entry the criteria cannot read (aria-invalid, linked hint, existing utility classes only). - "Insufficient information" asks to confirm the unknown fact (several modeled facts have no screener control). - tests/trials-2026-10-21.test.jsx: registry-derived boundaries for every screened criterion, missing/implausible values, midnight/DST/future LKW import, seeded partial-Encounter invariant (never a potential match), exclusion answerability and summary artifact checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…sions as registered SCOUTS-3 exclusion 8 names benzodiazepine, barbiturate, general anesthesia or conscious sedation within 48 h of the sleep study; MR-PICS names the Columbia Suicide Scale ideation score. Prompts now use that wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…Evidence cards Second-check corrections from the 2026-10-21 ev-acute review (sources read today): - thrombolytic-choice: state that US labels cover alteplase and, since February 2025, tenecteplase within 3 h, and that the TNK label's five weight bands (15-25 mg) deliver more than 0.25 mg/kg below 100 kg (0.33 mg/kg at 45 kg). Adds the SVIN editorial reproducing the label (PMID 41573708, PMC12697625) as a Report source; FDA label not reachable. - malignant-edema: keep the two COR 3 categories apart (hypothermia, barbiturates, corticosteroids = 3: Harm; IV glibenclamide = 3: No Benefit, ages 18-70 per CHARM). - acute-bp: ESO 2025 vasopressor statement applies to neurological deterioration without reperfusion therapy; Cochrane 2026 population is after IVT or EVT with targets <160. checkedAt 2026-10-21 for the three sources re-read today. - ich-management: the >70 mm Hg / <110 safeguards are ESO 2025 consensus (ICH guideline and BP update), not 2026. Tests: tests/ev-acute-2026-10-21.test.js (source-derived values, label band arithmetic against the shared calculator). Three validator date pins move from 2026-10-17 to 2026-10-21 because sources re-read today now carry that checkedAt (nonfuture-date rule). Data bytes: data/clinical-reference.json +591 (generated locally, reverted). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Cards, the details modal and the tables already link to each study's ClinicalTrials.gov record; the copied screening summary listed NCT numbers only. Each potential-match and insufficient-information entry now carries a 'Registry record:' line with its registryUrl. Later and not-met groups stay one line each. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Scope inventory, findings with severity, changes and rationale, evidence ledger rows (column order per the review brief), test results, Protocols observations (report only), unresolved uncertainties and proposed cross-area patches for the lead (TIA readiness, discharge rehabilitation fields, PHQ-2 cutpoint). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
The dated onset text formats the anchor with toISOString, which throws for a finite timestamp outside the Date range. anchoredOnsetHours now treats such an anchor or clock as unanchored, so the screen falls back to the stored interval instead of failing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…tion Evidence cards Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
AHA/ASA 2026 ais-2026-75 (COR 3: No Benefit, B-R; archived transcription) limits the intensive post-IVT SBP statement to mild-to-moderate AIS treated with IVT, and the ENCHANTED abstract (PMID 30739745, read 2026-10-21) draws the same boundary. The card now says "After alteplase for mild-to-moderate stroke" instead of an unqualified "After alteplase". Test: tests/ev-acute-2026-10-21.test.js asserts the population wording and the ENCHANTED any-ICH figures (14.8 vs 18.7%). Data bytes: data/clinical-reference.json +28 (cumulative +619; generated locally and reverted). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…ross-area patches docs/review-2026-10-21/calculators.md: inventory of 35 calculators, scores, scales, screens and decision aids plus the MCP calculator tools; findings with severity; changes; ledger rows for every calculator's definition source (access scope stated); tests and results; Protocols observations (none); unresolved uncertainties; exact Encounter/encounter-details/MCP patches for the lead; and the evaluation of proposed additional tools (none added). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Re-verify EVT, prehospital and systems-of-care Evidence cards against primary sources read 2026-10-21 (PubMed abstracts, PMC full text, ClinicalTrials.gov registries; AHA/ASA 2026 at archive scope). - Restore population limits on graded statements (ICA/M1 EVT tiers, prestroke mRS 2-4, direct-to-angiography 2b, MSU thrombolytic-eligible, rural destination 2a with its COR 3: No Benefit counterpart, large-core trial age limits, ATTENTION NIHSS >=10). - Correct trial summaries (PRISMS stopped early, RACE pooled EMS accuracy, RACECAT setting, bridging noninferiority trials, tirofiban COR subtype, ESO BP attribution) and study-source designs (DISTAL, TESLA, PEARL, BEST-MSU). - Add post-guideline evidence with labels: ATLAS, DIRECT ANGIO, CHOICE-2, IAT-TOP, AHA writing-group response, DISTAL 12 months, TESLA, ANGEL-REBOOT. - Re-date only sources re-read today; keep correction notices. - Move DIRECT ANGIO's mapping to evt-selection, which now cites it. - Add tests/ev-evt-2026-10-21.test.js; move three contract-validation cutoffs from 2026-10-17 to 2026-10-21 for the new checkedAt dates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…eet search and cautions Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
The "treated as unknown" hint sat below its input, so a flagged Volume entry made its grid row taller and pushed the neighbouring ICH location select out of line (390 px, dark theme). The hint now sits in the label block above the input, using existing utilities only; the input keeps its aria-label name and aria-describedby link to the hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…odality
calc_crcl returned an adjusted-weight Cockcroft–Gault estimate even when the
height was implausible (for example 66 cm, probably inches), although that
height drives the obesity adjustment and Encounter already withholds the
estimate. It now returns heightWarning with adjBwValue, rawAdjBwValue and
obesityWarning set to null.
calc_defuse3_eligibility accepts perfusionModality ('ct' default, 'mri'):
DEFUSE 3 excluded NCCT ASPECTS <6 only for patients enrolled on CT perfusion,
and evaluateDEFUSE3 already honours the field; the tool could not pass it.
Smoke: 77 calls. The new assertions fail on the unpatched server
(adjBwValue 75.8 instead of null). Found by the calculators review unit.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
- evt-selection: drop the summary's repeat of the bridging-trial list (the caution carries the full list) and label BRIDGE-TNK as China, within 4.5 h, per its primary abstract. - code-stroke-activation: keep the creatinine rule once (CTA/CTP, per ais-2026-49) instead of in both summary and consider. - Lock both with assertions in tests/ev-evt-2026-10-21.test.js. Net generated-data delta for the unit is now +3,054 bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…ches docs/review-2026-10-21/ev-acute.md: scope inventory (24 topics, 169 card sources, 41 graded records, 26 study records, 3 projections), findings with severity, the six corrected statements and one added source, evidence ledger rows (corrected, verified, flagged and unresolved, accessed 2026-10-21 with scope), test results, Protocols observations (report only), cross-area patches for CaseBar.jsx and safety-items.js, and unresolved uncertainties (andexanet regulatory detail, TNK label text, CHARM notice, emerging CVT/ICH evidence). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA # Conflicts: # tests/clinical-reference-data.test.js # tests/evidence-ivt-bp-antiplatelet-content.test.js # tests/ich-sah-evidence-review-2026-10-17.test.js
Scope inventory, findings with severity, changes, evidence ledger with source access scope, test results, Protocols observations (report only), unresolved uncertainties, and cross-area patches for the lead (EVT screen messages in encounter-clinical-review.js; large-core modeled-subset note). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA # Conflicts: # tests/evidence-ivt-bp-antiplatelet-content.test.js # tests/ich-sah-evidence-review-2026-10-17.test.js
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…e sizes in the budget note Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…d review index; consolidate the second Trials ledger rows Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…he Encounter (WIP) Every screener edit goes through answerFacts, which records the keys it writes as the user's latest answer and settles a conflict over them. Each import computes the screen from those answers and the Encounter alone, so an answer that writes the cautious value is never lost on reapply, and the takingOac control no longer clears exclusions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…l of the rule (WIP) An Encounter value equal to the user's entry for a replaced fact (classification, numbers, timing) no longer counts as written by the import. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
… add the verifier's reproductions (WIP) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…ses (WIP) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
The import model, each finding and its decision, the fuzzer and reproduction tests with their fail-before runs and mutations, checks, and the budget (all offline JS gzip -48 B against 042f914). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…flict over a fact it still shows (WIP) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…tradicted-answer invariant and re-entry after a classification in the fuzzer (WIP) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
… in one conflicts record; comments (WIP) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…the §9.1 and §9.2 reclassification text Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Brings in the owner's 7.8.1–7.8.3 releases: case-bar hold reasons and dose-table link, sticky header and external reference tiles (UpToDate Expert AI), dark default, wide-screen list-plus-pane Evidence and Calculators, collapsed bedside quick reference, elapsed-time display. Resolutions keep both sides: - app.jsx: main's header tiles plus this branch's update badge, offline banner and tool gating - CaseBar.jsx: main's hold detail labels plus this branch's contradicted-answer hold and unconfirmed-agent flags - Reference.jsx: main's wide reading pane plus this branch's bottom lines, graded/ungraded counts, section index - shell.css: main's sticky header and tiles; this branch keeps the measured case-bar height (no :has() fallback) - TrialScreener.jsx, tokens.css: main's header offset with this branch's logic - Encounter.jsx: the ticking elapsed-time line keeps role=timer (main had made it a status region, which a screen reader would announce every minute); main's wording is kept Tests pinned to the pre-7.8.1 layout are updated to main's behaviour. Protocols files are main's, byte for byte. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…–7.8.3 Protocols on main main's 7.8.1–7.8.3 edited three frozen Protocols files without updating the lock record, so CI failed there and the rendered lock never ran. Before re-baselining, the rendered lock was run on an untouched checkout of main (88f53b9) and every capture regenerated from it: across all 46 captures the only difference from the 7.8.0 baselines is the removed line 'h2: Bedside quick reference' (now the disclosure summary). The captures committed here are main's, not this branch's; source-lock.json changes only the three file hashes. This branch's Protocols files equal main's byte for byte. Documented in docs/protocols-review-notes-2026-10.md; the CHANGELOG notes the included 7.8.1–7.8.3 changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…er merging 7.8.1–7.8.3 Measured 128.06 KB gzip / 376.9 KB raw on the merged release (62 B and 873 B over the 7.8.0 ceilings), recorded in scripts/check-asset-budget.mjs as a reviewed decision. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…model accurately The final independent verifier (no blocking findings; 40,000 randomized sequences) showed that 'never lost silently' holds only for an import that keeps the screen's classification. A click that hides or restarts a fact, and an import of another classification, start clean; a later import can then take the Encounter's value. Each path needs re-entry and a re-import, and each outcome is identical to the earlier versions. Documented with the reproductions and a more cautious option for the owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…Trials Encounter import, invariant fuzz test, reclassification keeps standing conflicts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…ials conflict model in the changelog Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…g; cue names a contradicted answer The pre-merge review found that the Protocols and Encounter scroll-padding rules kept the pre-7.8.2 formula, which left out the now-sticky header, so reveals landed one header height too high and could hide focus (WCAG 2.4.11). They now include var(--header-h), landing where main does. The static test requires the header height, and Chromium tests check that the focused element clears every stuck bar after the next-entry cue, the case-bar Dose table link and a protocol deep link at 1440 and 820 px (all fail on the old rule). The next-entry cue names a contradicted safety answer as the case bar's dose hold does. Changelog and ledger record the review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…d focus clears the section nav Pre-merge verification of 064b805 found that a contradicted benefit-tier entry (antiplatelet, ACE inhibitor, seizure at onset), which never holds IVT, was named as the cause of a hold and displaced the 7.8.1 anticoagulant cue, and that the cue still named a hold after a recorded administration or a Not recommended decision. src/ivt-hold.js now gives the case bar and the cue one rule: no hold after administration or Not recommended; an unassessed anticoagulant first; then a contradicted answer that can hold IVT; otherwise the safety review. Unit tests cover each state. Stepping between date or time segments partly under the section nav left about 6 px of the field hidden, because Chrome reveals the segment and ignores the scroll margin. The Encounter padding is now 80 px with no field margin (22 px and 58 px where the nav is static), so programmatic reveals land where main puts them. A Chromium test covers it at 1440, 820 and 390 px. The Chromium Next-cue test asserts the focused id, and a new test drives the contradicted-answer cue. Larger-text Protocols reveals (as on main) and the shorter Page Down step are recorded for the owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…he nav; hold title reports a contradiction The second pre-merge verification (11a4ef7) found that the new Encounter field margin overrode the 7.8.3 phone rule, moving cue, section and deep-link targets 64 px lower at 480 px and narrower. The phone margin is now -6 px (22 - 6 = 8 + 8) and short screens keep 58 px; wide screens pad 82 px with a -2 px margin, which clears a date segment's focus ring and keeps the 80 px landing; main-region margins keep the skip link 8 px below the case bar on Encounter and Protocols. The case-bar title again reports a contradicted answer beside an anticoagulant hold. Unit tests cover both halves of the administration gate, every other IVT decision and the CT order. The Chromium reveal tests compare each landing with 7.8.3's at 1440, 820 and 390 px, include the focus ring, and cover a date-and-time field and the skip link. Changelog wording, the ledger and recorded sizes are corrected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…; stricter ring check The third pre-merge verification (83adb11) found nothing blocking. Two deep-link targets without a field or tool class (#calc-alteplase, #calc-defuse3) landed 14 px lower than on 7.8.3 on phones and short screens; they now get -14 px (22 - 14 = 8) and 0 on wider screens, where they land 82 px below the case bar instead of under the section nav. The case-bar hold titles are built per cause again and the CT titles are pinned by a test. The segment-step tests require 1 px of focus-ring clearance and include a time field; a Chromium test covers both calculator links. The shell.css comment, changelog Page Down sentence and ledger wording are corrected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
Seven domain sweeps (IVT and acute systems; EVT and acute BP; hemorrhagic stroke; secondary prevention; AF and cardioembolism; recovery and populations; Trials-screener registry status) searched 2025-01 to 2026-10-31 for guidelines, trials and label changes the content did not yet reflect. Independent verifiers re-read every source (90 of 94 proposals accepted or corrected, 4 rejected); a further verified pass covered missed items; two independent reviews checked the applied diff and their minor findings were fixed (unverified CAPTIVA arm-stop text removed and the 7.7.0 guard test restored, ZODIAC transfer clause dropped, postdating labels added, trial names added to search keywords). New study cards for MILD-MT and LATE-MT; updated topics and source records across thrombectomy, IVT, neuroprotection, CRAO, ICH/SAH/CVT, prevention, AF, recovery and special populations; TELE-REHAB-2 follows its current registry eligibility. Guideline grades unchanged; newer evidence labelled as postdating; no conference-only result used. Protocols files untouched; findings for them are in the owner notes. Ledger: docs/evidence-ledger-2026-10-31.md. Version 7.10.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
…ing label The post-review label on MSU-TELEMED changed the bullet the EVT card test pinned verbatim. The test now pins the unchanged COR 1 sentence as the bullet's opening and requires the "published after the AHA 2026 literature cutoff, not graded" label on the appended trial. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
rkalani1
pushed a commit
that referenced
this pull request
Oct 31, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release 7.10.0 updates the Evidence and Trials content to the current best available evidence, outside the Protocols tab. Seven domain sweeps searched for guidelines, trials and label changes published or presented from January 2025 to 31 October 2026 that the content did not yet reflect. An independent verifier re-read every source and accepted, corrected or rejected each proposal (90 of 94 accepted or corrected, 4 rejected). A further verified pass covered items the verifiers said were missed. Two independent reviews then checked the applied diff, and their minor findings were fixed. Every change, its source, access level and supporting passage is in
docs/evidence-ledger-2026-10-31.md. The Protocols tab is unchanged; findings that bear on it are reported for the owner indocs/protocols-review-notes-2026-10.md.Changes
Not added because the sources could not be verified in this session (unreachable sites): ENRICH-AF results presented at ESC 2026, the 2026 AHA/ASA rehabilitation guideline's recommendation text, asundexian's regulatory status, AVERT DOSE and the CAPTIVA arm change.
Validation
All on the release commit (
7bb9059, plus the test-only fixf606e7c):npx vitest run: 134 files, 2791 passed, 3 skipped. The one failure in the first run was a test that pinned the mobile-stroke-unit bullet verbatim;f606e7cupdates it to pin the unchanged COR 1 sentence and to require the new postdating label, and the file passes 8/8.evidence:validate,content:validate,check:clinical-claims,validate:citations,validate:inline-citations,check:leak-guard,agent:assets:check,check:retirement: all passnpm run build: succeeds;scripts/check-committed-bundle.mjsPASS;check:asset-budgetwithin every ceiling (precache 2.14 of 2.30 MiB; JavaScript essentially unchanged)node scripts/qa-smoke.mjs --local-only: 35/35f606e7c: unit tests, build-and-smoke, Protocols tab lock, MCP smoke, guard, Lighthouse (the adaptive-latency smoke runs onmainonly)Clinical-correctness checklist (only if clinical content changed)
Type of change
Routes to inspect (if UI changed)
#/evidence(thrombectomy, neuroprotection, CRAO, ICH, AF, prevention and recovery topics; the MILD-MT and LATE-MT study cards),#/trials(TELE-REHAB-2, CAPTIVA) and global search (Ctrl/⌘ K, e.g. "MILD-MT", "HeadSOAR").#/protocols/ischemicand#/protocols/ichshould look unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_01UVsY25ktMFcDCDtESeS8aA