From bd7d109e5228cd50e6e4122dafde9ae2f5cf8e68 Mon Sep 17 00:00:00 2001 From: BigSimmo <87357024+BigSimmo@users.noreply.github.com> Date: Fri, 21 Aug 2026 03:09:50 +0800 Subject: [PATCH 1/3] docs(issues): queue 25 ledger requests from a verified sweep of open rows Verified every open ledger row that makes a concrete code claim against main at 1cc0d2987, plus a read-only inspection of the pinned production Supabase project. - 11 done requests for rows whose fix is already in the code - 12 update requests correcting rows partly overtaken by later work - 2 add requests: a production migration absent from this repository, and a worktree sweep that destroyed an in-use session's work Touches docs/outstanding-issues-inbox/ only. The canonical ledger is not edited and issues:reconcile is deliberately not run here. Co-Authored-By: Claude Opus 5 --- .../0177f340-3275-472f-8ef3-3a415e335125.json | 11 +++++++++++ .../01cacbb4-9d47-4d05-bf34-becd134b9075.json | 11 +++++++++++ .../02846e88-de52-42be-8c67-a5335e722fea.json | 11 +++++++++++ .../3bb892c3-a2c5-4718-828a-1ccedface10e.json | 11 +++++++++++ .../3d23b389-3d2b-4043-b3b1-85633b5962a1.json | 11 +++++++++++ .../4aa68f9f-0961-4681-9859-dd0560a1bbbf.json | 11 +++++++++++ .../53491e9a-64f0-4e67-b175-1e69c82a1be4.json | 11 +++++++++++ .../5b3c1df6-69e3-4f90-877f-915ee75358de.json | 11 +++++++++++ .../5b6fdafd-91f9-4225-a472-52b4a5d16303.json | 11 +++++++++++ .../65a686fe-7165-4fc9-9f1b-4b98c1824203.json | 14 ++++++++++++++ .../7c385a4f-f54b-41f8-8841-883cd1995068.json | 11 +++++++++++ .../81b9bb52-9f07-496e-b12b-7795c93c8e24.json | 11 +++++++++++ .../8da919a5-4e1b-417c-89df-7a1692a61f17.json | 11 +++++++++++ .../a56255bc-102a-4483-b7eb-c387e758054e.json | 11 +++++++++++ .../a718d880-9295-4019-8a60-d0952293668b.json | 11 +++++++++++ .../ae71cb9d-8094-44aa-bb1e-f1022156acc5.json | 11 +++++++++++ .../b9aea308-80d5-43e1-b464-902e499e46a4.json | 11 +++++++++++ .../bd007515-51b0-49d5-ad9e-4e97ea701ab4.json | 11 +++++++++++ .../bd931cc7-71ad-430e-8921-241633e1c5be.json | 11 +++++++++++ .../ca09fd31-c3c7-43f1-8277-34afa27c85c6.json | 11 +++++++++++ .../d0a9a345-d7da-44e4-b512-e7d413ad2239.json | 11 +++++++++++ .../da3fce96-1480-40e9-b2fd-07dcb7d3bae8.json | 14 ++++++++++++++ .../e9386425-20e9-436d-ab13-7e076310c5bb.json | 11 +++++++++++ .../f7499c28-d1ac-4230-abbe-517b02001f7e.json | 11 +++++++++++ .../fc70be6e-e56f-4377-99b6-54745c5c5ea6.json | 11 +++++++++++ 25 files changed, 281 insertions(+) create mode 100644 docs/outstanding-issues-inbox/0177f340-3275-472f-8ef3-3a415e335125.json create mode 100644 docs/outstanding-issues-inbox/01cacbb4-9d47-4d05-bf34-becd134b9075.json create mode 100644 docs/outstanding-issues-inbox/02846e88-de52-42be-8c67-a5335e722fea.json create mode 100644 docs/outstanding-issues-inbox/3bb892c3-a2c5-4718-828a-1ccedface10e.json create mode 100644 docs/outstanding-issues-inbox/3d23b389-3d2b-4043-b3b1-85633b5962a1.json create mode 100644 docs/outstanding-issues-inbox/4aa68f9f-0961-4681-9859-dd0560a1bbbf.json create mode 100644 docs/outstanding-issues-inbox/53491e9a-64f0-4e67-b175-1e69c82a1be4.json create mode 100644 docs/outstanding-issues-inbox/5b3c1df6-69e3-4f90-877f-915ee75358de.json create mode 100644 docs/outstanding-issues-inbox/5b6fdafd-91f9-4225-a472-52b4a5d16303.json create mode 100644 docs/outstanding-issues-inbox/65a686fe-7165-4fc9-9f1b-4b98c1824203.json create mode 100644 docs/outstanding-issues-inbox/7c385a4f-f54b-41f8-8841-883cd1995068.json create mode 100644 docs/outstanding-issues-inbox/81b9bb52-9f07-496e-b12b-7795c93c8e24.json create mode 100644 docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json create mode 100644 docs/outstanding-issues-inbox/a56255bc-102a-4483-b7eb-c387e758054e.json create mode 100644 docs/outstanding-issues-inbox/a718d880-9295-4019-8a60-d0952293668b.json create mode 100644 docs/outstanding-issues-inbox/ae71cb9d-8094-44aa-bb1e-f1022156acc5.json create mode 100644 docs/outstanding-issues-inbox/b9aea308-80d5-43e1-b464-902e499e46a4.json create mode 100644 docs/outstanding-issues-inbox/bd007515-51b0-49d5-ad9e-4e97ea701ab4.json create mode 100644 docs/outstanding-issues-inbox/bd931cc7-71ad-430e-8921-241633e1c5be.json create mode 100644 docs/outstanding-issues-inbox/ca09fd31-c3c7-43f1-8277-34afa27c85c6.json create mode 100644 docs/outstanding-issues-inbox/d0a9a345-d7da-44e4-b512-e7d413ad2239.json create mode 100644 docs/outstanding-issues-inbox/da3fce96-1480-40e9-b2fd-07dcb7d3bae8.json create mode 100644 docs/outstanding-issues-inbox/e9386425-20e9-436d-ab13-7e076310c5bb.json create mode 100644 docs/outstanding-issues-inbox/f7499c28-d1ac-4230-abbe-517b02001f7e.json create mode 100644 docs/outstanding-issues-inbox/fc70be6e-e56f-4377-99b6-54745c5c5ea6.json diff --git a/docs/outstanding-issues-inbox/0177f340-3275-472f-8ef3-3a415e335125.json b/docs/outstanding-issues-inbox/0177f340-3275-472f-8ef3-3a415e335125.json new file mode 100644 index 0000000000..3617e1caed --- /dev/null +++ b/docs/outstanding-issues-inbox/0177f340-3275-472f-8ef3-3a415e335125.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "0177f340-3275-472f-8ef3-3a415e335125", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#6GW95D", + "detail": "UPDATE 2026-08-21 (measured on this machine): the figure recorded here is badly understated and moving the wrong way. git worktree list reported 69 registered worktrees under .claude/worktrees, not nine. At the ~0.89 GB / 51,735-file node_modules per worktree measured in #6SMMB4, even partial installs put this well beyond the 4.5 GB recorded, on a Dev Drive noted as 51% full. SAFETY, learned the hard way on 2026-08-21: a sweep removed an in-use worktree during this very session and destroyed its uncommitted work - see the separate row filed for that. Re-measure actual on-disk size, then prune, but confirm each worktree is landed, holds no uncommitted or unpushed work, AND is not currently checked out by a live agent session before removing it.", + "baseRowFingerprint": "dfbd575a8b0986c259e939186e0366290ba4215cd4e75220c59c5817fb11b4e6" + } +} diff --git a/docs/outstanding-issues-inbox/01cacbb4-9d47-4d05-bf34-becd134b9075.json b/docs/outstanding-issues-inbox/01cacbb4-9d47-4d05-bf34-becd134b9075.json new file mode 100644 index 0000000000..1d745bd4ec --- /dev/null +++ b/docs/outstanding-issues-inbox/01cacbb4-9d47-4d05-bf34-becd134b9075.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "01cacbb4-9d47-4d05-bf34-becd134b9075", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#SZGPAH", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): one of the two named assertions is provably gone. The phone test for the shared local-filter behaviour still exists but no longer asserts the exact text 2 showing anywhere in the file - that string has zero occurrences in tests/ui-tools-search-mode-mockup.spec.ts. The desktop test that keeps results beside the selected-tool panel still exists at line 24. NOT VERIFIED: whether the spec now passes - that needs node scripts/run-playwright.mjs --project=chromium-mockups on this file, which was not run. Re-measure before closing or quarantining.", + "baseRowFingerprint": "91c2e882526fd9783e8deea3a2261efda6879c336b108101424dcbdcb6e2c961" + } +} diff --git a/docs/outstanding-issues-inbox/02846e88-de52-42be-8c67-a5335e722fea.json b/docs/outstanding-issues-inbox/02846e88-de52-42be-8c67-a5335e722fea.json new file mode 100644 index 0000000000..b8f94c65d4 --- /dev/null +++ b/docs/outstanding-issues-inbox/02846e88-de52-42be-8c67-a5335e722fea.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "02846e88-de52-42be-8c67-a5335e722fea", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#71NT23", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): partially advanced. playwright.config.ts now carries a documented phone-PWA standalone emulation strategy annotated with this issue id, and defines chromium, chromium-mockups, firefox and webkit projects. What still appears absent is a genuinely mobile-WebKit project - the webkit entry is the desktop engine - and no display-mode standalone project was found. Re-measure the exact project list before scoping the work; physical iPhone Safari/PWA acceptance remains out of scope for any container evidence.", + "baseRowFingerprint": "b6c90688b0030ababdfe0e368ce212cd4b0dd746ec10e9f7986e28ab243c7207" + } +} diff --git a/docs/outstanding-issues-inbox/3bb892c3-a2c5-4718-828a-1ccedface10e.json b/docs/outstanding-issues-inbox/3bb892c3-a2c5-4718-828a-1ccedface10e.json new file mode 100644 index 0000000000..c032886d8c --- /dev/null +++ b/docs/outstanding-issues-inbox/3bb892c3-a2c5-4718-828a-1ccedface10e.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "3bb892c3-a2c5-4718-828a-1ccedface10e", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#ZF006G", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: there is now exactly one SectionHeading definition, src/components/ui/section-heading.tsx, and the former independent implementations re-export it - dashboard-shell.tsx re-exports SectionHeading and SectionHeadingProps, formulation-ui.tsx and specifier-ui.tsx re-export SectionHeading. The fifth (therapy-compass/ui.tsx) was already deleted unreferenced. The stop rule was respected: the shared component lives in its own file, not folded into ui-primitives.tsx. Verification: grep for the SectionHeading declaration across src/ (one hit) plus the three re-export lines.", + "baseRowFingerprint": "f38c6f1947fb845da03b8d01d4a4723699d337e0ebbdaff0c7c1f9d194f64270" + } +} diff --git a/docs/outstanding-issues-inbox/3d23b389-3d2b-4043-b3b1-85633b5962a1.json b/docs/outstanding-issues-inbox/3d23b389-3d2b-4043-b3b1-85633b5962a1.json new file mode 100644 index 0000000000..bc216669a4 --- /dev/null +++ b/docs/outstanding-issues-inbox/3d23b389-3d2b-4043-b3b1-85633b5962a1.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "3d23b389-3d2b-4043-b3b1-85633b5962a1", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#102", + "detail": "UPDATE 2026-08-21 (read-only Supabase MCP get_advisors performance lint against production ref sjrfecxgysukkwxsowpy): documents_title_trgm_idx exists on public.documents and is reported by the unused_index lint as never used. TREAT THAT AS WEAK EVIDENCE, NOT CONFIRMATION: 20260819100200_restore_search_health_trigram_indexes was applied two days earlier and recreating an index resets its usage statistics, so a zero-use reading is expected regardless of whether the bare-column ILIKE predicates can reach it. The same lint currently reports 31 unused indexes, several of them freshly restored in the 20260819100000-100300 batch, which is consistent with a stats reset rather than dead indexing. The row's actual claim - that the index covers a CONCATENATED expression and so cannot serve the bare-column predicates in the documents API route and rag-candidate-sources - was NOT tested, because that needs EXPLAIN or a pg_indexes read and SQL execution was blocked in this session. Re-measure with EXPLAIN in the operator window before applying the prepared runbook.", + "baseRowFingerprint": "e276f20a6b7bd27d1491c07fbcb3d8bc0e27e35945759348cf61157fdb184856" + } +} diff --git a/docs/outstanding-issues-inbox/4aa68f9f-0961-4681-9859-dd0560a1bbbf.json b/docs/outstanding-issues-inbox/4aa68f9f-0961-4681-9859-dd0560a1bbbf.json new file mode 100644 index 0000000000..7188538082 --- /dev/null +++ b/docs/outstanding-issues-inbox/4aa68f9f-0961-4681-9859-dd0560a1bbbf.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "4aa68f9f-0961-4681-9859-dd0560a1bbbf", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#DREDWA", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: Crockford/ULID-style id fixtures are now present in the shared ledger test surfaces - 12 matching occurrences in tests/outstanding-issues-writer.test.ts and 10 in scripts/outstanding-issues.mjs, including the all-digit case that defeats id-shape branching. The writer entry points are therefore driven through both id generations. Verification: grep count for the Crockford fixture markers in both files.", + "baseRowFingerprint": "7ca4d5abe3a1d16386a354ab0980be98fc8c03279c02d56657d83b48964a1613" + } +} diff --git a/docs/outstanding-issues-inbox/53491e9a-64f0-4e67-b175-1e69c82a1be4.json b/docs/outstanding-issues-inbox/53491e9a-64f0-4e67-b175-1e69c82a1be4.json new file mode 100644 index 0000000000..29eafa3483 --- /dev/null +++ b/docs/outstanding-issues-inbox/53491e9a-64f0-4e67-b175-1e69c82a1be4.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "53491e9a-64f0-4e67-b175-1e69c82a1be4", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#164Z0H", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): the repo-side half is now proven green. git ls-files -s .claude/hooks/ reports mode 100755 for all five hooks, session-start.sh included, so the 100644 asymmetry recorded here is fixed in the index rather than only on disk. What remains is exactly what this row was filed for and cannot be proven from Windows: one real Claude Code web/container session confirming the hook actually runs and provisions Node 24.", + "baseRowFingerprint": "2e9aa08de4ac42c17397e2b8aa520a8e8ebc48821043e50fb1bf4e5b53453f74" + } +} diff --git a/docs/outstanding-issues-inbox/5b3c1df6-69e3-4f90-877f-915ee75358de.json b/docs/outstanding-issues-inbox/5b3c1df6-69e3-4f90-877f-915ee75358de.json new file mode 100644 index 0000000000..d0c146fcec --- /dev/null +++ b/docs/outstanding-issues-inbox/5b3c1df6-69e3-4f90-877f-915ee75358de.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "5b3c1df6-69e3-4f90-877f-915ee75358de", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#97VQK5", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): the documentation half is DONE. CLAUDE.md now reads 15 app modes, and the mode index in docs/site-map.md now carries rows for Calculators, Therapy, Factsheets and Dictionary, so the four missing modes and the stale count are both corrected. REMAINING SCOPE, and the only reason this row stays open: the placeholder-punctuation split (ASCII three dots vs Unicode ellipsis vs no terminator on differentials) and the heading-level inconsistency (h2 on answer/documents/prescribing, h1 elsewhere, so the Documents home has no h1). Both are decisions, and the heading change moves visual baselines.", + "baseRowFingerprint": "613151322bad442a568da3c651e77b94d119c55367fffc88d6f74e8edd89aef8" + } +} diff --git a/docs/outstanding-issues-inbox/5b6fdafd-91f9-4225-a472-52b4a5d16303.json b/docs/outstanding-issues-inbox/5b6fdafd-91f9-4225-a472-52b4a5d16303.json new file mode 100644 index 0000000000..30b15633e4 --- /dev/null +++ b/docs/outstanding-issues-inbox/5b6fdafd-91f9-4225-a472-52b4a5d16303.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "5b6fdafd-91f9-4225-a472-52b4a5d16303", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#43SSS0", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: --spring-tight, --spring-bouncy and --spring-gentle have zero occurrences anywhere under src/, including src/app/globals.css, so the three dead theme tokens were deleted rather than wired. --ease-spring remains and is still referenced 8 times from globals.css, so the working precedent is intact. Verification: ripgrep over src/ for all three token names, no matches.", + "baseRowFingerprint": "6149767334ce65fe06d8bf51484682b910d9ef0a1c78b93d49284ed1428a1130" + } +} diff --git a/docs/outstanding-issues-inbox/65a686fe-7165-4fc9-9f1b-4b98c1824203.json b/docs/outstanding-issues-inbox/65a686fe-7165-4fc9-9f1b-4b98c1824203.json new file mode 100644 index 0000000000..0c4ec3715c --- /dev/null +++ b/docs/outstanding-issues-inbox/65a686fe-7165-4fc9-9f1b-4b98c1824203.json @@ -0,0 +1,14 @@ +{ + "version": 2, + "id": "65a686fe-7165-4fc9-9f1b-4b98c1824203", + "createdOn": "2026-08-20", + "action": "add", + "payload": { + "pri": "P2", + "type": "issue", + "summary": "A worktree sweep deleted an in-use worktree mid-session on 2026-08-21 and destroyed its uncommitted work; nothing checks whether a worktree is live before removal", + "detail": "Reproduced by loss, not by test. On 2026-08-21 an agent session was working in .claude/worktrees/task-ledger-review-bee095 with 25 staged-but-uncommitted files. Mid-task the directory was emptied, its .git/worktrees admin directory (and therefore its index) was deleted, and the worktree was deregistered, while the session was still running. The staged blobs became unreachable and the work was lost; only the branch ref survived, still at its unchanged base 1cc0d298774e. Every other worktree on disk carried a modification timestamp inside the same twenty-minute span, so this was a sweep across the whole directory rather than a one-off. TWO CONSEQUENCES WORTH SEPARATING. (1) Data loss: removal considered neither uncommitted/untracked content nor whether a process was live in the directory. (2) Silent corruption of the surviving session: after the removal, git commands issued from the deleted path resolved upward to the main checkout D:/Repos/Database, which was on another agent's feature branch with uncommitted modifications - so an unlucky commit would have landed in a different session's branch and working tree. NEXT: before any automated worktree removal, require all three of (a) the branch is merged or its tip is pushed, (b) git status --porcelain --untracked-files=all is empty, and (c) no live process holds the directory; and skip rather than force when any check cannot be evaluated. Prefer a report-only default with an explicit apply flag, matching how sync:pr-branches already separates dry-run from apply. RELATED: #6GW95D records the disk pressure that motivates sweeping, and now carries the same safety caveat.", + "source": "Session 2026-08-21; worktree task-ledger-review-bee095 removed while in use", + "issueUlid": "01M0G9797CXCAX0131B8H9J2PM" + } +} diff --git a/docs/outstanding-issues-inbox/7c385a4f-f54b-41f8-8841-883cd1995068.json b/docs/outstanding-issues-inbox/7c385a4f-f54b-41f8-8841-883cd1995068.json new file mode 100644 index 0000000000..dcdf4b5dc0 --- /dev/null +++ b/docs/outstanding-issues-inbox/7c385a4f-f54b-41f8-8841-883cd1995068.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "7c385a4f-f54b-41f8-8841-883cd1995068", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#E0N0QC", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: scripts/probe-generation-quality.ts now exports formatAnswerSection(answerText, citations) and renders the trimmed answer text, falling back to '(empty answer)', so a blinded before/after Gate E read can be produced from probe output. Verification: grep for answerText in the probe script. Note the usual approval boundary still applies to running the probe against a provider.", + "baseRowFingerprint": "9718bf501b167d7edf116132235a0c9ae3741009efd4eabcbc4e78a19a44b42e" + } +} diff --git a/docs/outstanding-issues-inbox/81b9bb52-9f07-496e-b12b-7795c93c8e24.json b/docs/outstanding-issues-inbox/81b9bb52-9f07-496e-b12b-7795c93c8e24.json new file mode 100644 index 0000000000..756b17a693 --- /dev/null +++ b/docs/outstanding-issues-inbox/81b9bb52-9f07-496e-b12b-7795c93c8e24.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "81b9bb52-9f07-496e-b12b-7795c93c8e24", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#VTEW3W", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): the count has fallen. therapyBtn now appears 21 times across 8 files under src/components/therapy-compass/, against the 30 call sites measured 2026-08-18 at adf93a75. The design question is unchanged - nothing shared covers list rows, disclosure headers, section toggles and chips - and the stop rule still stands: do not resolve this by converting the remaining sites to Button variants.", + "baseRowFingerprint": "4951a94557d8fc00013f1d74ac15219502aeb64e14a4f8cb566cf1a7e089bc38" + } +} diff --git a/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json b/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json new file mode 100644 index 0000000000..4fdf71a2d5 --- /dev/null +++ b/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "8da919a5-4e1b-417c-89df-7a1692a61f17", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#EH9VA6", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): scripts/ledger-inbox.mjs now implements a reconcile lock - RECONCILE_LOCK_NAME outstanding-issues-reconcile.lock, reconcileLockPath(), and recoverReconcileTransaction() with a journal plus backup for crash recovery. That addresses same-machine concurrent reconciliation. NOT VERIFIED and the substance of this row: whether it also prevents the recorded failure, which was two reconcile PRs open simultaneously on GitHub on 2026-08-18 - a filesystem lock in one worktree cannot see another branch's open PR. Decide whether the remaining gap needs a separate interlock or is accepted.", + "baseRowFingerprint": "a682230350ab96c2aa629bc5f7b1a5e6f0a770b1c51a5140bd6e7e07ae175951" + } +} diff --git a/docs/outstanding-issues-inbox/a56255bc-102a-4483-b7eb-c387e758054e.json b/docs/outstanding-issues-inbox/a56255bc-102a-4483-b7eb-c387e758054e.json new file mode 100644 index 0000000000..8c6cfc2992 --- /dev/null +++ b/docs/outstanding-issues-inbox/a56255bc-102a-4483-b7eb-c387e758054e.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "a56255bc-102a-4483-b7eb-c387e758054e", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#TF6TPJ", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): the guard that closes the shared root cause has landed. scripts/guard-push.mjs now carries an explicit Guard 2 in-flight CI push guard block naming #HSSHRG, with inFlightCiVerdict() and findInFlightCiRuns(), covering merge-main syncs made outside sync:pr-branches. #HSSHRG was closed on that evidence. This row should be re-checked against that guard and closed too if the false-red symptom is gone; it was NOT verified against a live PR from here, which needs GitHub access.", + "baseRowFingerprint": "5f53493dbb9cee3ff6dc7fc9990f07ef04706963467355df47555bfc4af0391e" + } +} diff --git a/docs/outstanding-issues-inbox/a718d880-9295-4019-8a60-d0952293668b.json b/docs/outstanding-issues-inbox/a718d880-9295-4019-8a60-d0952293668b.json new file mode 100644 index 0000000000..6f4443eb96 --- /dev/null +++ b/docs/outstanding-issues-inbox/a718d880-9295-4019-8a60-d0952293668b.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "a718d880-9295-4019-8a60-d0952293668b", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#RZQQBT", + "detail": "UPDATE 2026-08-21 (measured on this machine): still unanswered, and now with a concrete reason. The hook's own log has never been written - neither the main repository's .git/claude-precompact.log nor the per-worktree claude-precompact.log under the .git/worktrees admin directory exists. So no compaction has fired the hook in an inspectable session yet, and the question stays open rather than answered-negative. Next: after the next compaction in a session using this checkout, read that path; an entry proves the hook ran, and its absence in model context would then be the separate question.", + "baseRowFingerprint": "5cafbd44f6e0a57ec1a0d7e7cd8ae47cc04ab11ea6766a4688a592c0c88f46ae" + } +} diff --git a/docs/outstanding-issues-inbox/ae71cb9d-8094-44aa-bb1e-f1022156acc5.json b/docs/outstanding-issues-inbox/ae71cb9d-8094-44aa-bb1e-f1022156acc5.json new file mode 100644 index 0000000000..640c217026 --- /dev/null +++ b/docs/outstanding-issues-inbox/ae71cb9d-8094-44aa-bb1e-f1022156acc5.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "ae71cb9d-8094-44aa-bb1e-f1022156acc5", + "createdOn": "2026-08-20", + "action": "update", + "payload": { + "id": "#4TBHS8", + "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): the specific failure mode recorded here - waiting for the exact text 2 showing inside the tools-search-filter-sheet testid - can no longer occur, because that string has zero occurrences in tests/ui-tools-search-mode-mockup.spec.ts. The test itself still exists and was rewritten. NOT VERIFIED: whether it passes. Re-run before closing. Tracked with #SZGPAH, which names the same file.", + "baseRowFingerprint": "288f82d7350037884d343247b685a6d10c29629d241c830758022ab5e82a5e74" + } +} diff --git a/docs/outstanding-issues-inbox/b9aea308-80d5-43e1-b464-902e499e46a4.json b/docs/outstanding-issues-inbox/b9aea308-80d5-43e1-b464-902e499e46a4.json new file mode 100644 index 0000000000..b6ee02f5df --- /dev/null +++ b/docs/outstanding-issues-inbox/b9aea308-80d5-43e1-b464-902e499e46a4.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "b9aea308-80d5-43e1-b464-902e499e46a4", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#6K9YGQ", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: loading.tsx now exists for all three standalone mode homes (medications, calculators and dictionary under src/app/(search-app)/), and tests/mode-home-loading-contract.test.ts now lists medications, calculators and dictionary in its route array, so the gap is visible to CI. Residual, deliberately not reopened: the contract test's route list is still hand-written rather than derived from standaloneModeHomePaths, which is a hygiene preference, not the reported invisibility. Verification: directory listing plus grep of the contract test.", + "baseRowFingerprint": "56caa2d18b45a4f9e80b82bcc36e0c77b01d568ef3177c2947729aaf99506993" + } +} diff --git a/docs/outstanding-issues-inbox/bd007515-51b0-49d5-ad9e-4e97ea701ab4.json b/docs/outstanding-issues-inbox/bd007515-51b0-49d5-ad9e-4e97ea701ab4.json new file mode 100644 index 0000000000..2c94e0c907 --- /dev/null +++ b/docs/outstanding-issues-inbox/bd007515-51b0-49d5-ad9e-4e97ea701ab4.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "bd007515-51b0-49d5-ad9e-4e97ea701ab4", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#0EKBGC", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: all three mode homes now derive their glyph from the canonical source - the services home imports appModeIcons and passes icon={appModeIcons.services}, the forms home passes icon={appModeIcons.forms}, and the dictionary home passes icon={appModeIcons.dictionary}. No local Users/FileText/BookOpen override remains on the home tile. Verification: grep for appModeIcons in each mode's home component.", + "baseRowFingerprint": "bd79c082c5fe680467b5b0bf910bd69eaf76397ffd3f9c9cb2e8942bca47c2fb" + } +} diff --git a/docs/outstanding-issues-inbox/bd931cc7-71ad-430e-8921-241633e1c5be.json b/docs/outstanding-issues-inbox/bd931cc7-71ad-430e-8921-241633e1c5be.json new file mode 100644 index 0000000000..2acace8521 --- /dev/null +++ b/docs/outstanding-issues-inbox/bd931cc7-71ad-430e-8921-241633e1c5be.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "bd931cc7-71ad-430e-8921-241633e1c5be", + "createdOn": "2026-08-20", + "action": "done", + "payload": { + "id": "#TAQKCN", + "outcome": "Resolved 2026-08-21. Verified on main at 1cc0d2987: src/components/therapy-compass/screens/recommend-screen.tsx contains no ) was not triggered. Verification: grep for ' Date: Fri, 21 Aug 2026 04:39:51 +0800 Subject: [PATCH 2/3] docs(ledger): record the branch review for this handoff Co-Authored-By: Claude Opus 5 --- ...36f021554e2dfe6960c23759410799c666a0b4406db6fe7cfcd.record.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/branch-review-records/04a6b6cf6815736f021554e2dfe6960c23759410799c666a0b4406db6fe7cfcd.record.md diff --git a/docs/branch-review-records/04a6b6cf6815736f021554e2dfe6960c23759410799c666a0b4406db6fe7cfcd.record.md b/docs/branch-review-records/04a6b6cf6815736f021554e2dfe6960c23759410799c666a0b4406db6fe7cfcd.record.md new file mode 100644 index 0000000000..b44a9ee4e1 --- /dev/null +++ b/docs/branch-review-records/04a6b6cf6815736f021554e2dfe6960c23759410799c666a0b4406db6fe7cfcd.record.md @@ -0,0 +1 @@ +| 2026-08-20 | claude/task-ledger-review-bee095 | bd7d109e5228cd50e6e4122dafde9ae2f5cf8e68 | docs/outstanding-issues-inbox ledger requests (25 files); no product code | Self-reviewed handoff: 11 done + 12 update + 2 add requests from a code-verified sweep of open ledger rows on main 1cc0d2987, plus read-only production Supabase evidence. Canonical ledger untouched; reconcile deferred to a serialized branch. | verify:pr-local green (11/11 checks completed, none failed, exit 0); prettier check on the 25 JSON files; ledger inbox check 29 pending/404 applied; write-discipline passed 1cc0d298774e..HEAD | From ab175909b798465c67ad1397bba778da0f2af96f Mon Sep 17 00:00:00 2001 From: BigSimmo Date: Fri, 21 Aug 2026 07:41:38 +0000 Subject: [PATCH 3/3] =?UTF-8?q?docs(issues):=20close=20#EH9VA6=20=E2=80=94?= =?UTF-8?q?=20the=20remote=20reconciliation=20interlock=20already=20exists?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The queued request asked the ledger to record that only a same-machine filesystem lock guards concurrent reconciliation, and left the row open. That was written from a partial read: the same file already implements the cross-worktree interlock the row was asking for. findUnmergedRemoteReconciliations() runs `git ls-remote --heads origin`, flags branches carrying unapplied records, and names #EH9VA6 in its docstring and error text; assertSafeRemoteReconciliation() is called before any reconciliation work and refuses to proceed on detection. So the request is now `done`, with an outcome recording the verification and the two deliberate residuals (offline fail-open and the explicit --allow-concurrent override). Left as an `update` this would have made the canonical ledger advertise completed work as missing, which is how the same work gets built twice. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01WeLU8jf7tffA2es9Pk6uSn --- .../8da919a5-4e1b-417c-89df-7a1692a61f17.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json b/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json index 4fdf71a2d5..4daf89cc09 100644 --- a/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json +++ b/docs/outstanding-issues-inbox/8da919a5-4e1b-417c-89df-7a1692a61f17.json @@ -2,10 +2,10 @@ "version": 2, "id": "8da919a5-4e1b-417c-89df-7a1692a61f17", "createdOn": "2026-08-20", - "action": "update", + "action": "done", "payload": { "id": "#EH9VA6", - "detail": "UPDATE 2026-08-21 (repo read on main at 1cc0d2987): scripts/ledger-inbox.mjs now implements a reconcile lock - RECONCILE_LOCK_NAME outstanding-issues-reconcile.lock, reconcileLockPath(), and recoverReconcileTransaction() with a journal plus backup for crash recovery. That addresses same-machine concurrent reconciliation. NOT VERIFIED and the substance of this row: whether it also prevents the recorded failure, which was two reconcile PRs open simultaneously on GitHub on 2026-08-18 - a filesystem lock in one worktree cannot see another branch's open PR. Decide whether the remaining gap needs a separate interlock or is accepted.", + "outcome": "Closed 2026-08-21 after verifying the cross-worktree interlock the original row asked for already exists. scripts/ledger-inbox.mjs implements two distinct protections, not one: reconcileLockPath()/RECONCILE_LOCK_NAME plus recoverReconcileTransaction() cover same-machine concurrency, and findUnmergedRemoteReconciliations() (line 428) covers the recorded 2026-08-18 failure of two reconcile PRs open simultaneously on GitHub. The remote check runs `git ls-remote --heads origin`, flags branches carrying unapplied records under docs/outstanding-issues-inbox/applied/, and names issue #EH9VA6 in both its docstring and its error text. assertSafeRemoteReconciliation() (line 603) is called at line 709 before any reconciliation work and refuses to reconcile on detection, so the gap the row described as unverified is in fact closed. Two residuals are deliberate and documented rather than outstanding: the remote check fails open when offline or when ls-remote errors, so offline workflows and tests are not blocked, and it can be overridden explicitly with --allow-concurrent/--force or ALLOW_CONCURRENT_RECONCILE=true, which downgrades the refusal to a warning. Neither is the silent same-machine-only blind spot the row was tracking. The earlier draft of this request queued an `update` saying only a filesystem lock existed; that was written from a partial read of the same file and would have made the canonical ledger advertise completed work as missing.", "baseRowFingerprint": "a682230350ab96c2aa629bc5f7b1a5e6f0a770b1c51a5140bd6e7e07ae175951" } }