From 55c1e12fe4025a347430c190239cfeed520299ae Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 18 Aug 2026 14:58:04 +0000 Subject: [PATCH 1/2] docs(ledger): record that PR #2122 landed correctly as squash 092633eb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Immutable prlanded record for the Therapy Compass convergence. The merge was verified by content rather than ancestry, which is the only method that works after a squash: two-dot `git diff --stat 092633eb ` is empty, so nothing was orphaned by the auto-merge race that has bitten this repo before. The pre-merge sync of main into the branch was proven clean the same way — its tree hash equalled `git merge-tree`'s automatic result exactly, so no hand resolution could have silently reverted content. That is the failure mode `#324` exists to catch and currently has no gate. Recorded here rather than on the merged branch: GitHub deleted that head on merge, so a merged PR cannot carry the record of its own landing. Co-Authored-By: Claude Opus 5 --- ...90cd58f3886b76d98f595e149247e894caaa3f51c69d680dcf7.record.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/branch-review-records/af4de581bea0990cd58f3886b76d98f595e149247e894caaa3f51c69d680dcf7.record.md diff --git a/docs/branch-review-records/af4de581bea0990cd58f3886b76d98f595e149247e894caaa3f51c69d680dcf7.record.md b/docs/branch-review-records/af4de581bea0990cd58f3886b76d98f595e149247e894caaa3f51c69d680dcf7.record.md new file mode 100644 index 0000000000..6c15cabed4 --- /dev/null +++ b/docs/branch-review-records/af4de581bea0990cd58f3886b76d98f595e149247e894caaa3f51c69d680dcf7.record.md @@ -0,0 +1 @@ +| 2026-08-18 | claude/therapy-mode-consistency-a466b0 | 092633eb7479b21796790a33b0ff7a3a7d4cf05c | prlanded | Landed correctly. PR #2122 squash-merged as 092633eb; verified by content, not ancestry: two-dot 'git diff --stat 092633eb 7733eb8c' is empty, so nothing was orphaned by the auto-merge race. The pre-merge sync of main into the branch was also proven clean — its tree hash equalled git merge-tree's automatic result exactly, so no hand resolution could have silently reverted content (the failure mode #324 describes). Branch reports 13 ahead of main, which is the squash artifact, not unlanded work. Remote head deleted by GitHub on merge; four inbox requests ride on main awaiting issues:reconcile. | git diff --stat empty; merge-tree hash equality on the pre-merge sync; post-merge verify:cheap green — Test Files 673 passed (673), Tests 7275 passed \| 4 skipped (7279), Design-system contract passed (784 production files), hosted migration-role guard passed | From c35ba04a2586b60382620ec6bc0f9a90e3d9c30e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 18 Aug 2026 14:58:04 +0000 Subject: [PATCH 2/2] docs(issues): queue the ensure/verify:pr-local build-refusal conflict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two required workflow steps are ordered and neither doc says so. AGENTS.md requires `npm run ensure` before browser work; docs/testing.md requires `npm run verify:pr-local` at handoff. Run both in one session and the build stage always fails with BUILD_REFUSED_DEV_SERVER, because the production build refuses to run while the dev server holds the port. The refusal is correct and the request explicitly rules out softening it — a build sharing a port with a dev server is not trustworthy evidence. What is missing is the ordering being documented, or the failure note naming its own remedy. Co-Authored-By: Claude Opus 5 --- .../9226626e-ad01-4504-a8bb-1287fa281f7b.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 docs/outstanding-issues-inbox/9226626e-ad01-4504-a8bb-1287fa281f7b.json diff --git a/docs/outstanding-issues-inbox/9226626e-ad01-4504-a8bb-1287fa281f7b.json b/docs/outstanding-issues-inbox/9226626e-ad01-4504-a8bb-1287fa281f7b.json new file mode 100644 index 0000000000..d588a4846c --- /dev/null +++ b/docs/outstanding-issues-inbox/9226626e-ad01-4504-a8bb-1287fa281f7b.json @@ -0,0 +1,13 @@ +{ + "version": 2, + "id": "9226626e-ad01-4504-a8bb-1287fa281f7b", + "createdOn": "2026-08-18", + "action": "add", + "payload": { + "pri": "P3", + "type": "issue", + "summary": "Two documented workflow steps conflict: npm run ensure guarantees verify:pr-local fails its build stage with BUILD_REFUSED_DEV_SERVER", + "detail": "Reproduced 2026-08-18 on branch claude/therapy-mode-consistency-a466b0. AGENTS.md requires npm run ensure before any browser/UI work, and docs/testing.md requires npm run verify:pr-local at PR handoff. Doing both in one session always fails, because the production build refuses to run while the project dev server holds its port: verify:pr-local exits with 'failed: build (exit 76)' and the note 'production build was refused while the Clinical KB dev server is running (BUILD_REFUSED_DEV_SERVER). This is a failed gate, not a skip.' The refusal itself is correct and should stay - a build sharing a port with a dev server is not trustworthy - but nothing in either doc warns that the two required steps are ordered, so the gate reads as a real failure. Workaround used: stop the dev server, rm -rf .next, re-run npm run build standalone (exit 0), then check:bundle-budget against the fresh output. Options: have verify-pr-local.mjs name the remedy in its own failure note, or document the ordering in the testing speed playbook. Stop rule: do not make the build stage soft-skip when a dev server is up; the existing fail-closed behaviour is the correct half of this.", + "issueUlid": "01M0ANYV88G4M3DV1JNG2DKHPR" + } +}