issues+ledger: close the four Caring Contacts defects and record their reviews - #2572
Conversation
…r reviews All four defects are fixed and merged. This records that, and the three loose ends the work surfaced. Closes, each citing the merge commit and a grep-verifiable fact rather than a file name: - #59JT7W and #RZVMPD in 94a14a8 (PR #2532) - #J7PZQP and #PAMATF in 2631782 (PR #2534) #59JT7W's row records an earlier done request (c862828e) that claimed a fix before one existed, which is why every closure here names the SHA and what proves it on main. Four immutable review records, one per merged PR. #2533 and #2535 merged into their base branches rather than into main, so their records say which commit actually carried them there, and note that repo CI does not run on non-main base branches -- their proof is the offline gates plus the CI that ran on the main-based heads afterwards. Three new items: - A shallow clone makes two suites fail with a message naming a manifest rather than the clone depth. Cost real debugging time; every cloud session starts shallow. - createPlan still accepts a blank patient name. Split out of #J7PZQP rather than folded in: now that nothing infers meaning from blankness, the missing constraint is harmless rather than load-bearing. - #J7PZQP and #PAMATF merged with no Bugbot or approval-agent review, because a Cursor spend limit made both report neutral. A billing exhaustion presenting as a neutral check does not block a merge and does not look like missing coverage on the PR page, which is the part worth recording. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014X6aJ6PgN26a8XiDm4FVHF
|
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 |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
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. |
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_db4e1e4e-31b4-409e-b21e-48d7b648c2a7) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3689ab6798
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
… not run Codex review finding (P2) on PR #2572, and it was right. All four review records named individual hosted CI jobs as green and then ended with "No provider-backed gate run" -- but AGENTS.md classifies hosted CI as provider-backed, so the record contradicted itself. A later reader could not tell whether those results were observed or inherited from someone else's report, which is exactly what a review record exists to settle. Both halves were true and the sentence conflated them. The hosted results WERE observed: this session read them from the GitHub check runs via the MCP GitHub tools, under a standing instruction to babysit these PRs. What was not run is the set of gates that call OpenAI or Supabase. Each record now separates LOCAL OFFLINE GATES from HOSTED CI, states who observed the hosted result, and names the specific provider-backed gates that were not run rather than denying provider contact wholesale. Two records gained a correction beyond the wording: #2533 and #2535 had NO hosted CI of their own, because repo CI is scoped to branches [main, release/**] and their base was another feature branch. Their records now say that plainly and point at the main-based head whose CI actually covered them, instead of implying a pipeline ran on them. Record filenames are a sha256 of the row, so these were regenerated through ledger:append rather than edited in place; the four superseded files were never merged, so no immutable history is rewritten and the net diff against main is unchanged at four added records. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014X6aJ6PgN26a8XiDm4FVHF
PR #2572 added review records, staling the generated index. Regenerated with scripts/generate-branch-review-index.mjs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cq952TVk67XZzJnjiKt5pU
Summary
#59JT7W,#RZVMPD,#J7PZQPand#PAMATF— all four are fixed and merged tomain.Records only. No source, schema, or configuration changes: 11 new files, 84 insertions, nothing modified or deleted.
The closures cite commits, not file names
#59JT7W's current row reads:That earlier request closed the issue on the strength of naming a function and a test file, before a fix existed. So every closure here names the merge commit and a fact that can be checked against
mainwith onegrep:main#59JT7W94a14a829(#2532)closing-message-body-not-authoredappears 8× inmessage-policy.ts#RZVMPD94a14a829(#2532)PLAN_LIST_COLUMNSappears 3× indb/postgres-repository.ts#J7PZQP2631782a3(#2534)patientDetailClearedAtpresent inepisode.ts#PAMATF2631782a3(#2534)planSendingHoldappears 2× inmodel.tsBoth SHAs were confirmed to be real commits reachable from
main(git merge-base --is-ancestor) before this was written.Two of the review records describe an unusual merge path
#2533 and #2535 were merged into their base branches rather than into
main, so neither reachedmainunder its own number — they arrived inside94a14a829and2631782a3respectively. Their records say so, and note that repo CI does not run on non-mainbase branches, so their proof is the offline gates plus the CI that ran on the main-based heads afterwards. Recording them as ordinary merges would misstate what was verified and when.The #2535 record also flags that its branch (
claude/caring-contacts-rules-r7r2ih-4) was accidentally re-pushed after the merge and could not be deleted again from the cloud container — it is stale and must not be reused.The three new items
clinical-hazard-controlsandrag-plan-package-parityfail withmanifest reconciledBase is unavailable locally, which reads as "your change broke the manifest".git fetch --deepen=2000turns both green with no code change. Every cloud session starts from a shallow clone.createPlanstill accepts a blank patient name. Split out of#J7PZQPrather than folded in. Now that no screen infers meaning from blankness, the missing constraint is harmless rather than load-bearing — butpatient_nameisnot nullwith no CHECK and neither store validates it.#J7PZQPand#PAMATFmerged with Bugbot and the Cursor approval agent both reportingneutralbecause the account was at its spend limit. The point worth recording is the shape: a billing exhaustion presents as a neutral check, not a red one, so it neither blocks a merge nor looks like missing coverage on the PR page. Codex — the automated review of record per the 2026-08-22 owner decision — did run, and found a genuine P2 race on Carry the retention clearance instant, and make a plan's own state decide what may be sent (#J7PZQP, #PAMATF) #2534.Verification
npm run check:ledger-write-discipline—Ledger write discipline passed for 2631782a39ce..HEAD.npm run check:branch-review-ledger—Branch review ledger guard passed: 880 live table records + 1206 archived + 587 immutablenpm run check:outstanding-issues—[snapshot] in step with data/outstanding-issues-snapshot.json (70 open, 0 pending)npx prettier --checkover every file changed againstmain—All matched files use Prettier code style!mainNo provider-backed gate was run. Heavy source gates were not run and are not applicable: this diff contains no executable source.
UI verification not run: no UI, routing, styling, or browser behaviour changed.
Risk and rollout
issues:reconcileruns, so reverting before that leaves the canonical ledger untouched.Notes
npm run issues:reconcilestill needs to run after this lands, from a fresh base, to apply the four closures and three additions todocs/outstanding-issues.md. This PR only queues the requests.2631782a3), and deleting the staleclaude/caring-contacts-rules-r7r2ih-4branch, whose deletion fails here with a persistent network error.🤖 Generated with Claude Code
https://claude.ai/code/session_014X6aJ6PgN26a8XiDm4FVHF
Generated by Claude Code
Note
Low Risk
Adds only docs and queued ledger JSON; no runtime paths change. Reconcile timing affects when the canonical issues table updates, not production behavior.
Overview
Documentation-only ledger update — no application source, schema, or config changes.
Queues four immutable
doneinbox requests that close Caring Contacts defects#59JT7W,#RZVMPD,#J7PZQP, and#PAMATF, each citing a merge commit onmainand a grep-checkable fact (not file names alone). Adds four immutable branch-review records for merged PRs #2532–#2535, including notes that #2533/#2535 landed via base-branch merges and that #2535’s branch was accidentally re-pushed.Also queues three new
addinbox items: blankcreatePlanpatient names (P3), shallow-clone test failures with misleading errors (P3), and clinical-risk merges that got neutral automated review when Cursor hit its spend limit (P2).docs/outstanding-issues.mdis not updated in this diff —npm run issues:reconcilestill needs to run after merge to apply the queued requests.Reviewed by Cursor Bugbot for commit 3689ab6. Configure here.