diff --git a/docs/branch-review-records/6fe6f89aef723a52b7a0abbd9fb38c4eec193bafc303312bf16c9201630bffaf.record.md b/docs/branch-review-records/6fe6f89aef723a52b7a0abbd9fb38c4eec193bafc303312bf16c9201630bffaf.record.md new file mode 100644 index 0000000000..62ca9b7ebe --- /dev/null +++ b/docs/branch-review-records/6fe6f89aef723a52b7a0abbd9fb38c4eec193bafc303312bf16c9201630bffaf.record.md @@ -0,0 +1 @@ +| 2026-08-17 | claude/regrade-322-warfarin | 5259f388992a1ed5f9d3ab757ccf40b21705326d | docs/outstanding-issues-inbox — #322 re-grade to P1 on traced evidence | Traced data/medication-interaction-index.json and src/lib/medication-interactions.ts. The row's 'ZERO in common' claim is wrong - rows 0 and 2 are shared. Real defect is complementary incompleteness: warfarin-vka holds the CRITICAL CYP2C9 inducers row (carbamazepine, St John's Wort) and warfarin-anticoagulant holds the HIGH NSAID/Aspirin/SSRI row (12 counterparties, 6 SSRIs); neither holds the other's. Resolution is per-slug via INDEX.bySlug with no union (medication-interactions.ts:207,241), so which record is opened determines the warnings shown, and both display as Warfarin. Re-graded P2 to P1. Structural finding only; clinical correctness and the merge/delete/relabel decision left to the clinician. | verify:pr-local (11 completed, 0 failed) | diff --git a/docs/outstanding-issues-inbox/7c602a99-9db9-4a56-9d7b-1692db146b5d.json b/docs/outstanding-issues-inbox/7c602a99-9db9-4a56-9d7b-1692db146b5d.json new file mode 100644 index 0000000000..a7594672f3 --- /dev/null +++ b/docs/outstanding-issues-inbox/7c602a99-9db9-4a56-9d7b-1692db146b5d.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "7c602a99-9db9-4a56-9d7b-1692db146b5d", + "createdOn": "2026-08-17", + "action": "update", + "payload": { + "id": "#322", + "pri": "P1", + "detail": "RE-GRADED TO P1 AND CORRECTED 2026-08-17 on traced evidence, not inference. The original claim that the two records carry \"three interaction rows each with ZERO in common\" is FACTUALLY WRONG and understates the defect. Traced in data/medication-interaction-index.json: rows 0 (Pharmacokinetic, CYP2C9 inhibitors - amiodarone/fluconazole/metronidazole/cotrimoxazole) and 2 (Dietary, vitamin K) ARE substantively shared by both records. The real defect is COMPLEMENTARY INCOMPLETENESS, and it lands precisely on psychiatric drugs. warfarin-vka carries a CRITICAL CYP2C9 INDUCERS row (carbamazepine, St John's Wort - INR collapses toward 1.0, stroke risk) which warfarin-anticoagulant does NOT have. warfarin-anticoagulant carries a HIGH bleeding row for NSAIDs/Aspirin/SSRIs with twelve counterparties including six SSRIs (citalopram, escitalopram, fluoxetine, fluvoxamine, paroxetine, sertraline) which warfarin-vka does NOT have. So neither record is complete on its own, and each omits a psychiatrically central interaction the other holds. Resolution is strictly per-slug with no union anywhere: src/lib/medication-interactions.ts:207 and :241 read INDEX.bySlug[slug], and INDEX.names maps slug to display name, not name to slugs. Practical consequence for this app's actual user: a psychiatrist checking warfarin against sertraline sees the bleeding warning only if they happened to open warfarin-anticoagulant, and sees NOTHING if they opened warfarin-vka; checking warfarin against carbamazepine is the exact mirror. Nothing on screen distinguishes the two records - both display as \"Warfarin\". Secondary artefact worth fixing in the same pass: each record lists the OTHER as a counterparty (warfarin-vka's row-0 counterparties include warfarin-anticoagulant), so the duplicate is being treated as a drug that interacts with itself. Scope of this finding: it establishes the STRUCTURAL inconsistency only. Whether the interaction content of either record is clinically correct is not assessed here and is not an agent's call. Next: a clinician decides whether to merge the two records, delete one, or relabel them, and confirms the merged interaction set is complete - merging is the obvious candidate precisely because the two sets are complementary. Stop: do not patch the catalogue data automatically; this is clinical content. Grouping: treat alongside #318 as the clinical-content cluster - both are unvalidated medication-interaction surfaces in a prescribing tool." + } +}