issues: reconcile the nine queued ledger requests - #2542
Conversation
Applies the pending inbox queue to the canonical ledger, the deliberately serialized step the write-discipline gate requires. Nine immutable requests, all created today through the CLI: five verified closures (#0HYHTH, #PWZYY8, #XHADPV, #5YKAQ5, #DVRZA4) and four updates (#EG4Q7W, #59JT7W, #AGRAKQ, #YTR84P). Their audit records move to docs/outstanding-issues-inbox/applied/ unchanged. The #YTR84P update is this session's own, and is the reason the reconcile was run now: the row claimed the WardFlowProvider pinned-clock fix existed only on an unpushed branch and had to be carried across. It is on main, by two independent routes. The row also said 40 call sites all passing NOW_ANCHOR (it is 51, four of them deliberately not), that the Phase 6 morning page still carried the defect (it does not, and is not on main at all), and that the remaining work was a D5 test. That last one cannot be written as specified: WB-DB-11 removed the fixed/live split, so the component holding the sentence such a test would assert is rendered by nothing. The row stays open, now describing a decision rather than a task. Regenerated data/outstanding-issues-snapshot.json with the repo tooling rather than by hand, per #Y090R5. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NiskRgeXeNRiU3npGP4M9f
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_3deb76fc-1712-4153-8f60-e1e10fe98360) |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
…rows first Sync fix, found by babysitting rather than by anything in this diff. Merging main brought in the reconciliation from #2542, which applied another session's requests for two of the three rows this PR closes. That did not merely supersede my requests -- it hard-failed `docs:check-links`, which runs the inbox planner, so an unrelated CI check on this PR went red because of a race in the ledger. Three requests were left unapplicable and are cancelled or reissued: * #0HYHTH is now CLOSED on main by the other session's done. Mine threw "#0HYHTH is no longer open" and is cancelled. The row's end state is right either way; what is lost is the outcome TEXT, which describes the scan at B3 -- two roots -- and names the sealed domain as outstanding residue. This PR takes it to five roots and closes that residue, so the archive now understates the fix by about half. * #AGRAKQ is still open, but main applied the other session's update to it, so my done went stale on its baseRowFingerprint. Cancelled and reissued from the current ledger, unchanged in substance -- and it fits the row's new detail better than the old one, since that update is what established the plural half was still broken, which is exactly what this branch fixes. * The two cancels I had queued against the other session's requests are now no-ops: their targets were already applied. The planner says so as a warning rather than an error, so they are left in place; they record the intent and why it did not take. #Z5P2BW was unaffected and still closes normally. The archived #0HYHTH outcome cannot be corrected through the tooling -- `issues:update` rejects with "not in Open items", because its fingerprint branch requires the row be in Open items -- so the correction is carried by a new issue instead, which also records the race itself. That row asks for three things: a done against an already-closed row should no-op with a warning like the cancel case rather than throwing and reddening an unrelated PR's CI; an archived outcome should be amendable, since today the first close to reconcile is final by accident; and reconcile should consider preferring the later of two competing closes, which is usually the better-informed one. Verified after the merge: all 69 caring-contacts test files, 1479 tests passing; typecheck clean (6030 input files); prettier clean; and the four ledger gates green -- docs:check-links (4787 references), snapshot in step (70 open, 17 pending), ledger-write-discipline, branch-review-ledger. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQg8otWecCGsBJcLvkR7pm
…ripts inventory `PR mergeability` went red twice on fa70134 as main advanced past it, and `Static PR checks` went red on a real failure of this branch's own making. Static PR checks failed on `docs:check-inventory`: "docs/scripts-index.md inventory is stale ... expected 284 script files and 285 npm scripts". This branch adds scripts/check-mockup-retirement.mjs and refreshed the index at 283; main then added another script, so the committed count was one behind. Regenerated with the repo's own tooling. Both merge conflicts were in generated files — data/outstanding-issues-snapshot.json and data/repo-awareness-snapshot.json — so both were regenerated with `npm run snapshot:issues` and `npm run snapshot:repo-awareness` rather than hand-merged. Main's #2542 reconciled nine queued ledger requests; this branch's two inbox requests were not among them and remain pending, as intended. The remaining red check is `Advisory UI`, which is not aggregated by `PR required` and is not this PR's: its single failure is tests/ui-tools-search-mode-mockup.spec.ts "matches the exact displayed tool title after normalising punctuation", and this diff touches no Tools file at all. Characterised in a follow-up rather than fixed by widening this PR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015UPvNZYvyuDxc1o7xfTGCS
Summary
Applies the pending outstanding-issues inbox queue to the canonical ledger — the deliberately serialized step
check:ledger-write-disciplinerequires, run from a fresh base offmainata1aa449ae(the squash of #2522).Nine immutable requests, all created today through the CLI, none hand-written:
#0HYHTH(prohibited-language check scope),#PWZYY8(lucide icon-aria lint rule),#XHADPV(stored per-section counts),#5YKAQ5(publishable-key tracing fallback),#DVRZA4(.prettierignoresnapshot asymmetry). Each carries its own verification evidence againstorigin/main d1bb2c197; I did not re-derive those, and they are recorded as their authors wrote them.#EG4Q7W,#59JT7W,#AGRAKQ, and#YTR84P.Their audit records move to
docs/outstanding-issues-inbox/applied/unchanged. Open items go 75 to 70; pending goes 9 to 0.#YTR84Pis this session's own, and is why the reconcile ran now. The row claimed theWardFlowProviderpinned-clock fix existed only on an unpushed Windows branch and had to be carried across. It is onmain, by two independent routes. It also said 40initialNowcall sites all passingNOW_ANCHOR(it is 51, four of them deliberately not), and that the Phase 6 morning page still carried the defect (it does not, and is not onmainat all). The remaining work was recorded as a D5 pre-08:00 test; that test cannot be written as specified, because owner decision WB-DB-11 removed the fixed/live split and the component holding the sentence it would assert is exported but rendered by nothing. The row stays open, now describing a decision rather than a task.data/outstanding-issues-snapshot.jsonwas regenerated with the repo tooling rather than edited by hand, per#Y090R5.Verification
npm run check:ledger-write-discipline— the gate that matters here, since it enforces that the canonical ledger diff exactly equals the recorded reconciliation transaction:npm run check:outstanding-issues:npm run formatrun and committed;npm run format:changedreportsAll matched files use Prettier code style!Not run, with reasons: no lint, typecheck, unit suite, build or Playwright — this diff contains no executable file, so there is no plausible regression for those to catch. No provider-backed gate of any kind.
Risk and rollout
Clinical Governance Preflight
Clinical KB Database(sjrfecxgysukkwxsowpy)Why this section is present on a ledger-only PR, and why every box above is genuinely true.
classifyPullRequestFilesmarks this diff clinical-risk on the strength of one path,data/outstanding-issues-snapshot.json. Thedata/prefix is where generated clinical snapshot exports live, so the rule fails closed over the whole directory. That is the rule working as designed, not a misfire to route around, and the correct response is to answer the seven items rather than narrow a safety classifier for one PR's convenience.The boxes are checked because each is verifiably true of this diff, not to clear the gate. The diff contains no executable file at all — no source, test, script, schema, workflow or configuration — so every clinical surface those items name is untouched, and that is checkable from the six-file list rather than taken on trust. Item by item: no answer-generation, citation or verification path is touched, so the linked-source requirement stands unchanged; no document, upload, ingestion or access workflow is touched, and the ledger rows added are prose about repository housekeeping containing no patient data; no Supabase configuration, migration, environment value or client is touched, and the Supabase integration independently reported it ignored this PR because nothing under
supabase/changed; no key handling, authorization, owner-scope or query-privacy code is touched; no fixture, demo corpus or seed data is touched, and the one ward-flow subject discussed in the ledger prose is synthetic design scratch undersrc/app/mockups/ward-flow/**, which 404s in production; no source-governance, metadata or render-policy code is touched, so conservative degradation is unchanged; and the deployment classification was checked and is unaffected, because nothing in this diff can alter runtime behaviour.Notes
npm run snapshot:issuesrather than hand-edited.#Y090R5already tracks that this generated file is a recurring conflict point between concurrent ledger PRs. Expect this section to be required on every ledger PR marked ready for review, for the same reason.🤖 Generated with Claude Code
https://claude.ai/code/session_01NiskRgeXeNRiU3npGP4M9f