Skip to content

issues: queue #EFETZT update with PR #2413 snapshot-conflict evidence - #2435

Merged
BigSimmo merged 2 commits into
mainfrom
claude/pr-2413-review-69fmap
Aug 27, 2026
Merged

issues: queue #EFETZT update with PR #2413 snapshot-conflict evidence#2435
BigSimmo merged 2 commits into
mainfrom
claude/pr-2413-review-69fmap

Conversation

@BigSimmo

@BigSimmoBigSimmo commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Queue one immutable update request against existing ledger issue #EFETZT ("The repo-awareness snapshot goes stale on any PR that waits, and it already reddened CI once") recording two fresh occurrences observed while unblocking PR fix(therapy-compass): redesign Pathways mobile picker and step stack #2413.
  • Regenerate data/outstanding-issues-snapshot.json so check:outstanding-issues stays in step with the new pending request (3 → 4 pending).

No new ledger row was filed: #EFETZT already tracks this failure and the correct action was to add evidence to it rather than duplicate it.

What the update records

#EFETZT was written as a staleness problem. PR #2413 showed it is also a hard merge-conflict problem that blocks auto-merge:

  • data/repo-awareness-snapshot.json conflicted twice in fifteen minutes on one PR head — when main advanced to be65b8a, and again at fb88b47.
  • Each conflict set mergeable_state: dirty, which suppresses refs/pull/<n>/merge, so pull_request CI (CI, Gitleaks, Semgrep) does not run at all and the check list reads empty rather than red.
  • The staleness half also reproduced: check:repo-awareness-snapshot failed Static PR checks with review_state differs from the repository.
  • Cost is one full CI round trip plus a push per occurrence, and it scales with the number of open PRs, since every merge to main regenerates the file for all of them.

The update reinforces the fix direction already proposed on the row (exclude docs/branch-review-records/ from compared content the way captured_revision already is, or compare a narrower key set) and notes that .gitattributes merge guidance would blunt the conflict half but not the CI-staleness half.

Verification

  • npm run check:outstanding-issues[snapshot] in step with data/outstanding-issues-snapshot.json (81 open, 4 pending)
  • npm run check:ledger-write-disciplineLedger write discipline passed for a9d4b6c32fc4..HEAD. (self-test also passed)
  • npm run format:changedAll matched files use Prettier code style!
  • npm run verify:pr-local — not run; scope is one queued inbox request plus its generated snapshot, covered by the two ledger gates above
  • npm run verify:ui — not applicable, no UI/routing/styling change
  • npm run verify:release — not applicable, no release claim

Risk and rollout

  • Risk: Low — append-only ledger intake plus a regenerated snapshot. No product code, route, component, schema, or configuration change.
  • Rollback: Revert this PR; the queued request is removed and the snapshot returns to its prior counts.
  • Provider or production effects: None.
  • RAG impact: none

Clinical Governance Preflight

This section is required because scripts/pr-policy.mjs classifies any path under data/ as clinical-risk (/^(?:src\/data|data|public\/therapy-compass-data)\//, with no exclusion for generated ledger snapshots). The matching file here is data/outstanding-issues-snapshot.json, the generated snapshot of the outstanding-work ledger, regenerated only so its pending-request count stays in step with the one queued inbox request in this PR. It carries no clinical corpus content. The PR's own change is ledger bookkeeping: one immutable update request recording CI/merge-conflict evidence about a generated repo-awareness file.

  • Source-backed claims still require linked source verification before clinical use
  • No patient-identifiable document workflow was introduced or expanded without explicit governance approval
  • Supabase target remains Clinical KB Database (sjrfecxgysukkwxsowpy)
  • Service-role keys and private document access remain server-only
  • Demo/synthetic content remains clearly separated from real clinical sources
  • Source metadata, review status, and outdated/unknown-source behavior remain conservative
  • Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed

Rationale for each item: this PR changes no citation, retrieval, answer-generation, ingestion, document-access, or privacy behaviour, so linked-source verification requirements for clinical use are untouched. No patient-identifiable document workflow was introduced or expanded. The Supabase target remains the live project Clinical KB Database (sjrfecxgysukkwxsowpy); no environment, credential, or connection value is touched, so service-role keys and private document access remain server-only. Demo and synthetic content remain separated from real clinical sources, as no corpus, fixture, or demo dataset is modified. Source metadata, review status, and outdated/unknown-source behaviour remain conservative because no source-governance code or data changed. TGA SaMD deployment classification was checked and is unchanged: no clinical decision-support behaviour changed — the diff is one queued ledger request plus the regenerated ledger snapshot.

Notes

  • The request is immutable and merge-safe by design; npm run issues:reconcile runs later on a dedicated fresh-base ledger branch, never as part of this PR.
  • PR policy passed on the first run at PR-creation time and failed on the re-run triggered by the draft → ready-for-review flip. The later verdict is the correct one: the diff has always touched data/, so the preflight was owed from the start.

Note

Low Risk
Append-only ledger intake and a generated snapshot; no runtime or product behavior changes.

Overview
Adds one immutable update inbox request for ledger issue #EFETZT (repo-awareness snapshot staleness) with new evidence from unblocking PR #2413: hard merge conflicts on data/repo-awareness-snapshot.json twice in fifteen minutes, mergeable_state=dirty, suppressed pull_request CI (empty checks), plus repeated check:repo-awareness-snapshot staleness failures.

Regenerates data/outstanding-issues-snapshot.json so pending count rises 3 → 4 and check:outstanding-issues stays aligned. No new ledger row and no application, route, or CI logic changes.

Reviewed by Cursor Bugbot for commit 0e1e28c. Configure here.

@supabase

supabaseBot commented Aug 27, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai

coderabbitaiBot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 37 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 103 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 99eef549-78bc-4802-afd8-0e1974f57c5c

📥 Commits

Reviewing files that changed from the base of the PR and between c177519 and 0e1e28c.

⛔ Files ignored due to path filters (1)
  • docs/outstanding-issues-inbox/8324c7e4-18fb-4073-ba6b-ae46920f768d.json is excluded by !docs/**
📒 Files selected for processing (1)
  • data/outstanding-issues-snapshot.json

Comment @coderabbitai help to get the list of available commands.

@BigSimmo
BigSimmo marked this pull request as ready for review August 27, 2026 14:09
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@BigSimmo
BigSimmo enabled auto-merge (squash) August 27, 2026 14:09
@cursor

cursorBot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot 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_2e277ced-11d2-41bf-9069-d9222b16b03f)

@cursor

cursorBot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot 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_4072eee8-1c3b-4a80-b190-76e33de75995)

@BigSimmo
BigSimmo merged commit 902ccee into mainAug 27, 2026
34 of 36 checks passed
@BigSimmo
BigSimmo deleted the claude/pr-2413-review-69fmap branch August 27, 2026 15:54
BigSimmo pushed a commit that referenced this pull request Aug 27, 2026
PR #2435 and PR #2436 each queued one inbox request and each bumped
counts.pending from 3 to 4. Merged, the true count is 5. Regenerated
rather than hand-edited.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JiaghcKco9xE3vLS4PJHdd
BigSimmo added a commit that referenced this pull request Aug 27, 2026
…2436)
* Make WardFlowProvider's pinned clock actually read the instant it was given
`initialNow` is documented as pinning the clock at that instant, but its value
was discarded: the render body computed `elapsed = 0` when pinned and then
`now = NOW_ANCHOR + elapsed + clockOffsetMinutes`, so every pinned provider
served NOW_ANCHOR (642, 10:42) whatever it was passed. The prop was only ever a
"do not tick" flag plus a seed for a checkpoint the pinned path never reads.
The defect was latent, not active: all 40 `initialNow=` call sites in tests
pass NOW_ANCHOR, where `NOW_ANCHOR + 0` and `initialNow` agree by coincidence.
All 40 remain green. But it made every time-of-day branch unreachable through
the real provider, which is what forced the pure-function workaround in Ward
Flow Phase 6's morning page (spec D5's pre-08:00 handover branch).
Fix: when pinned, `now` derives from `initialNow + clockOffsetMinutes`. The
unpinned path is unchanged. Four tests added, three of which fail against the
old code with "Expected 450, Received 642".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Hand the pinned-clock fix over, since it is stranded on an unpushed branch
The fix (62f798c) is proven but lives only on this local branch, and the
branch that actually needed it — Phase 6's morning page, on
claude/ward-flow-phases-6-7-design — still carries both the defect and the
workaround built around it. That branch moved twice during the session that
wrote this, so it is live, not idle.
The handover records what the defect was, what is proven and by what evidence
(including the mutation test's decisive line), the three outstanding items and
where they must be done, what must not be re-opened, and the two gate traps
this work hit — a lint that exited 0 twice without running, and a fresh
worktree's empty node_modules.
Adds a SCOPED_ALLOWLIST entry to check-docs-links for the two Phase 6 paths the
handover deliberately names, using the gate's own documented mechanism for a
document that intentionally cites a path not on this branch. It is scoped to
this one document and carries its own removal condition.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* issues: queue the stranded Ward Flow pinned-clock fix and its Phase 6 follow-through
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* issues: queue #EFETZT update with PR #2413 snapshot-conflict evidence
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J2yCaWLCy1XZ6vUH1erQwr
* Regenerate the outstanding-issues snapshot for the queued ledger request
Static PR checks failed on `check:outstanding-issues-snapshot`: the committed
snapshot recorded `counts.pending: 3` while the ledger plus inbox now hold 4.
This branch's queued `add` request is the fourth, so the snapshot went stale the
moment that request was committed.
Regenerated with `scripts/generate-outstanding-issues-snapshot.mjs` rather than
hand-edited, per the generated-file rule. The diff is exactly the count and the
one new request record.
Regenerated AFTER merging `origin/main`, deliberately: this branch's own ledger
was 27 commits behind and reported 98 open items where CI's merge result
reported 81, so regenerating on the stale base would have written a snapshot
that disagreed with the ledger CI actually evaluates. Local now reports the same
81 open / 431 archived that CI does.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Regenerate the repo-awareness snapshot for the new handover document
Static PR checks failed on check:repo-awareness-snapshot with "documentation
differs from the repository": this branch adds docs/ward-flow-pinned-clock-handover.md,
which the committed snapshot's document inventory did not list.
Regenerated with npm run snapshot:repo-awareness rather than hand-edited. The
diff is exactly the new document entry and the counts it moves (documents
481 -> 482, uncatalogued 374 -> 375), plus captured_revision, which the checker
documents as deliberately not compared.
Found by running the job's steps locally rather than by another CI round trip.
The rest of that job's steps were swept the same way and pass: runtime,
ci-scope, verification-plan, outstanding-issues, ledger-write-discipline,
branch-review-ledger, type-scale, icon-scale, assets, design-system-contract,
owner-scope, migration-role, function-grants, maintainability-budgets,
therapy-data-index, cross-mode-index, mha-act-sections, upload-limit-parity,
medication-lexicon-report, brand:check, and all four docs checks.
check:knip could not be evaluated locally: it dies in oxc-parser with
"RangeError: Array buffer allocation failed", an out-of-memory condition on this
workstation rather than a finding. This diff cannot affect what knip inspects
(dependencies, unlisted, unresolved, duplicates) - it adds a document, a JSON
snapshot, a comment-only allowlist entry, and a two-line change inside an
existing component. Reported as unverified locally, not as passing.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* chore(issues): regenerate snapshot after bundling the #EFETZT request
PR #2435 and PR #2436 each queued one inbox request and each bumped
counts.pending from 3 to 4. Merged, the true count is 5. Regenerated
rather than hand-edited.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JiaghcKco9xE3vLS4PJHdd
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BigSimmo@claude