Skip to content

docs(db): settle D4 with direct evidence — production is still bound to git main - #2205

Merged
BigSimmo merged 2 commits into
mainfrom
claude/d4-autodeploy-correction
Aug 20, 2026
Merged

docs(db): settle D4 with direct evidence — production is still bound to git main#2205
BigSimmo merged 2 commits into
mainfrom
claude/d4-autodeploy-correction

Conversation

@BigSimmo

Copy link
Copy Markdown
Owner

Summary

Finishes the Codex P1 raised on #2201 (the coordination board carrying two opposite D4 instructions at once). The auto-resolve task corrected most of them after that PR merged; this adds the evidence that removes the ambiguity entirely, instead of leaving a "treat as ON, re-verify the dashboard" caveat the next coordinator has to act on under uncertainty.

list_branches(sjrfecxgysukkwxsowpy) returns exactly one record, and it binds production to git main:

{"name":"main","is_default":true,"git_branch":"main","project_ref":"sjrfecxgysukkwxsowpy",
"created_at":"2026-06-27T14:10:20.550361+00:00","updated_at":"2026-07-04T08:15:07.640507+00:00"}

updated_at predates 2026-08-19, so whatever was changed that day never touched this binding — §3.7's mechanism (migrations applied 34 seconds after a squash-merge) is intact. D4 is ON. Merging a migration PR deploys it to production; deploy-then-merge ordering is unenforceable; merge approval is the operative control.

Three spots are corrected:

  • The KEY FINDING heading still read "D4 DECIDED (auto-deploy disabled)".
  • The 2026-08-20 window update still read "D4 is UNRESOLVED again".
  • Owner item (1) still asked for a dashboard re-check that this evidence makes unnecessary.

Plus the forensics section heading and its "treat D4 as UNRESOLVED" paragraph, replaced with the branch record.

Deliberately additive. The corrections already on main from the auto-resolve task are preserved untouched, including the safe-either-way build-pattern note. An earlier attempt to apply my whole file version would have deleted them; that was backed out and redone as targeted edits.

RAG impact: no retrieval behaviour change — documentation only; no code, migration, schema, or fixture is touched.

Verification

  • npx prettier --check on both changed docs: "All matched files use Prettier code style!"
  • No other gate applies: this diff contains no executable code.
  • The branch record quoted above came from a read-only list_branches call against an explicitly named project ref during the owner-authorised window, and is recorded in docs/audit/live-drift-forensics-2026-08.md.

Clinical Governance Preflight

  • 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

Notes

  • No secret value was read or printed. The branch record contains no credential.
  • Practical consequence worth flagging to reviewers: because merging deploys, this repo has no safe way to land a migration outside an approved window other than not merging it. That is now stated plainly on the board rather than implied.

…to git main
The Codex P1 on PR #2201 flagged the coordination board carrying two opposite
D4 instructions at once; the auto-resolve task corrected most of them after
merge. This finishes the job with the evidence that removes the ambiguity
entirely, rather than leaving a "treat as ON, re-verify the dashboard" caveat
that the next coordinator has to act on under uncertainty.
list_branches(sjrfecxgysukkwxsowpy) returns one record binding PRODUCTION to
git main, created 2026-06-27 with updated_at 2026-07-04. Because updated_at
predates 2026-08-19, whatever was changed that day never touched this binding,
so the section 3.7 mechanism - migrations applied 34 seconds after a
squash-merge - is intact. D4 is ON. Merging a migration PR deploys it to
production, deploy-then-merge ordering is unenforceable, and merge approval is
the operative control.
Three remaining stale or now-answered spots are corrected: the KEY FINDING
heading still read "auto-deploy disabled"; the window update still read
"D4 is UNRESOLVED again"; and owner item (1) still asked for a dashboard
re-check that this evidence makes unnecessary. The forensics section heading
and its "treat as UNRESOLVED" paragraph are replaced with the branch record.
Deliberately additive: the corrections already on main from the auto-resolve
task are preserved untouched, including the safe-either-way build-pattern note.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@supabase

supabaseBot commented Aug 20, 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 20, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in:41 minutes

Limit details: You’ve used the included review currently available. Your 85 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.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ad705d91-9280-4899-af4d-dea0b0b36d8d

📥 Commits

Reviewing files that changed from the base of the PR and between 3ed1932 and ac6c130.

📒 Files selected for processing (2)
  • docs/audit/live-drift-forensics-2026-08.md
  • docs/database-remediation-coordination.md

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:655a432e9e

ℹ️ 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".

Comment threaddocs/audit/live-drift-forensics-2026-08.md Outdated
Comment threaddocs/database-remediation-coordination.md Outdated
@BigSimmo
BigSimmo enabled auto-merge (squash) August 20, 2026 21:34
…at holds either way
Addresses both Codex findings on PR #2205.
P1: the branch record proves production is BOUND to git main; no field of it
reports the "Deploy to production" setting, and the superseded 2026-08-19
account describes that setting changing without the binding being deleted. So
"toggle off, binding intact" cannot be ruled out from here, and the previous
wording presented an inference as a direct read. The failure modes are not
symmetric: declaring D4 ON tells operators to skip db push, and if the toggle
is actually off every merged migration then sits unapplied and drift returns
silently - the original incident. Declaring it OFF risks only a redundant
no-op push.
The evidence is still recorded and still strong (branch record with updated_at
2026-07-04, section 3.7's 34-second apply, 20260820120000 arriving unpushed),
but it now carries its limit, and the operative instruction is the rule that is
correct under both states: never merge a migration PR outside its approved
window, and after any migration merges run supabase migration list and db push
anything still pending. One extra command, wrong under neither hypothesis. What
would replace the rule with a fact is a dashboard read of the toggle or a
deployment-settings API.
P2: the board said "no dashboard re-check is needed" while the active Next
dispatches paragraph still required a per-migration db push and a toggle
re-verification - mutually exclusive procedures depending on which paragraph a
coordinator read. All active D4 sections now carry one state and one order; the
KEY FINDING heading and the window update no longer assert ON.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@BigSimmo
BigSimmo merged commit e92a1b1 into mainAug 20, 2026
40 checks passed
@BigSimmo
BigSimmo deleted the claude/d4-autodeploy-correction branch August 20, 2026 21:53
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.

1 participant

@BigSimmo