From ce4a0b303d7aaa55ac25d3c9597896093e89dcb8 Mon Sep 17 00:00:00 2001 From: Timmy Date: Thu, 15 Oct 2026 08:37:02 +0000 Subject: [PATCH] queue: PR #77 (tty) verified on my own instrument -- safety improvement reproduces (main catches 1 of 12 of my phrasing probes, branch 11 of 12; detectUrgentFlags({blood:1}).urgent false on main -> true on the branch via the new isReportedSymptom at src/domain.js:49/:65) and the residual is real with a runtime receipt (sanitizeEntry :102 still reads === true while importLedger :133-:136 maps every imported entry through it, so {blood:1}, {blood:'yes'}, {blood:'true'} all come back false and an imported ledger round-trips to hasUrgentLedgerContext false -- the headline 'never clear a reported symptom' fails on the one path the PR did not touch, and the same file now holds two opposite readings of 'reported'; identical on main so no regression, reachability is imported/hand-authored JSON only). Live state: PR open/mergeable/head b4be7049ea1ce463a0397467de5822e2d227b00a/base a033cb3/9 files +430 -9/CI success/0 reviews 0 comments/Closes #21, issue #21 OPEN with 3 unticked boxes (the #76/#34 shape). One further probe case of mine offered as a scope question: 'bloody poop' is missed by the new BLEEDING_TEXT and by main. Probe bug of mine confessed: my first harness scored 12/12 on both refs because the detector returns an object with keys even when urgent:false and my predicate counted any-keyed object as urgent -- assert on the field carrying the verdict (r.urgent === true), never on the shape of the return. Dispatched a bounded contract to Vincent (do NOT push into the merge-candidate branch; new branch off b4be704 in an isolated worktree; TDD on the import path; receipts back). Nothing merged, nothing deployed, no production touch, no credential used; the scope decision stays Alexander's. --- WORK-QUEUE.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index af2ab71..9493de9 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -9425,3 +9425,14 @@ different. unchanged and now demonstrated twice: **rc 0 / 192 / 0 / ALL GATES PASS** (twinF's shape). **Nothing deployed, no another-party file edited, no item closed, none opened.** + +--- + +**PR #77 verified, its residual confirmed with a runtime receipt, and a bounded contract dispatched to Vincent. 2026-10-15 08:38Z (control plane; clock read immediately before this edit).** + +- **Live state, my own reads (08:35Z):** PR **#77** open / `merged:false` / `mergeable:true` / head `b4be7049ea1ce463a0397467de5822e2d227b00a` on `timmy/21-escalation-regression` / base `main` = `a033cb3ae9e9…` (12:03:35Z, unchanged since #76 merged) / 9 files **+430 −9** (per-file additions 1+3+38+50+2+13+274+29+20 = 430 ✓, deletions 1+6+2 = 9 ✓) / CI `Quality gates / quality (pull_request)` **success** / **0 reviews, 0 comments** / body carries `Closes #21`. Issue **#21** is **open** with **3 unticked** acceptance boxes and 0 ticked (`area/safety`, `priority/P0`, `type/test`). That is the #76/#34 shape again: the morning release job merges by push and the merge message closes the issue with its boxes unticked. +- **The safety improvement reproduces on my instrument.** Both refs extracted to isolated trees and their own modules run: **main catches 1 of 12** of my phrasing probes (only the old `blood in my stool` form); **the branch catches 11 of 12**. The silently-cleared symptom flips too — `detectUrgentFlags({blood:1}).urgent` is **false on main, true on the branch** (`src/domain.js:65`, through the new `isReportedSymptom` at `:49`). +- **The residual is real and the receipt is a runtime one.** `sanitizeEntry` (`src/domain.js:102`) still reads `input.symptoms?.[key] === true` and `importLedger` (`:133`–`:136`) maps every imported entry through it: on the branch, `sanitizeEntry({symptoms:{blood:1}}).blood` → **false**, `{blood:"yes"}` → **false**, `{blood:"true"}` → **false**, and an imported ledger round-trips to `hasUrgentLedgerContext → false`. The headline "never clear a reported symptom" therefore fails on the one path the PR did not touch, and the same file now holds two opposite readings of "reported" — `isReportedSymptom` for the detector, `=== true` for the write/import path. **Identical on main, so #77 introduces no regression**; reachability is imported or hand-authored JSON only (the UI writes booleans and escalates before sanitizing). +- **One further probe case, mine, offered as a scope question rather than a defect:** `"bloody poop"` — adjective + noun, no in/on/with — is missed by the branch's new `BLEEDING_TEXT`, as it is by main. It is my phrasing, not one of the PR's named examples, so it is the author's coverage call. +- **A probe bug of mine, confessed because it produced a wrong number first:** my initial phrasing harness scored **12/12 on both refs**, which would have read as "the PR fixes nothing". The detector returns an object with keys even when `urgent:false`, and my predicate counted "object with any keys" as urgent, making the test vacuous. Rule restated for my own instrument: **assert on the field that carries the verdict (`r.urgent === true`), never on the shape of the return.** Every number above comes from the corrected harness. +- **Dispatched, not executed:** a bounded contract to **Vincent** (queued, `4b4a8bafedbdd044…`) — test-first on the import path; read reported-ness through `isReportedSymptom` in `sanitizeEntry`; decide the `"bloody poop"` coverage question with evidence; **do not push into `timmy/21-escalation-regression`** (it is the live merge candidate and moving its head under the release job is a race); new branch off `b4be704`, isolated worktree, no merge, no deploy, receipts back. Nothing merged, nothing deployed, no production touch, no credential used. The scope decision — accept the PR's narrower claim or require the import-path hardening first — stays Alexander's.