Skip to content

docs(audit): 2026-08-14 incident forensics and live index restore evidence (#316, #231) - #1960

Merged
BigSimmo merged 5 commits into
mainfrom
claude/live-drift-forensics-lnhvja
Aug 14, 2026
Merged

docs(audit): 2026-08-14 incident forensics and live index restore evidence (#316, #231)#1960
BigSimmo merged 5 commits into
mainfrom
claude/live-drift-forensics-lnhvja

Conversation

@BigSimmo

Copy link
Copy Markdown
Owner

Summary

  • Records the owner-authorized 2026-08-14 live incident session in docs/audit/live-drift-forensics-2026-08.md, filling the previously pending Phase 1.1 / 1.3 / 4 / 5 sections of the remediation evidence file with the actual measured findings: production semantic-query retrieval at supabase_rpc_latency_ms 31,610 ms; migration-history fingerprint showing 20260705180000 executed with 14 recorded statements (not mark-applied) and the 20260804110240 guard passing on 2026-08-04; live inventory proving exactly two of the ten reconcile indexes missing (documents_title_trgm_idx, document_chunks_content_trgm_idx), therefore dropped between 2026-08-04 and 2026-08-09.
  • Records the owner-approved repair: CREATE INDEX CONCURRENTLY for both indexes (both indisvalid/indisready, 648 kB and 68 MB) plus ANALYZE, and the after-measurements — supabase_rpc_latency_ms down to 1,535 ms (text fast path) / 8,519 ms (hybrid), match_document_chunks_text_v2 at 14 ms. No repo schema change was needed; the definitions were already codified.
  • Queues merge-safe outstanding-issue update requests for #316 (partial index restoration, dropper attribution pending with the dashboard audit history) and #231 (rung-2 pre-generation-latency evidence now measured; S1 must re-verify gate dominance on healthy latency).
  • Carries the immutable review-ledger record for merged PR ci(live-drift): route failures to a pinned issue and run after migration pushes (#316 phase 0) #1939.

RAG impact: no retrieval behaviour change — documentation, audit evidence, and ledger/inbox records only; the live index restoration itself recreated already-codified index definitions and is recorded here, not performed by this diff.

Verification

  • npm run verify:pr-localcompleted: check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline / failed: (none) / not reached: (none).
  • npm run format run and committed.
  • UI verification not run: docs-only diff.
  • Provider-backed evals not run: no retrieval or generation code change in this diff. The live before/after probe evidence quoted in the audit file was gathered in the owner-authorized incident window.

Risk and rollout

  • Risk: None to runtime — documentation and append-only record files.
  • Rollback: revert the commit.
  • Provider or production effects: none from this diff. The recorded live mutation (two CREATE INDEX CONCURRENTLY builds + ANALYZE) was separately and explicitly owner-authorized in-session, is additive, and rolls back with drop index concurrently if ever needed.

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 and TGA SaMD impact were checked

Generated by Claude Code

…be evidence (#316, #231)
Fills the 2026-08-14 owner-authorized incident evidence into the live-drift
forensics record: Phase 1.1 migration-history fingerprint (20260705180000
executed with 14 statements; the two trigram indexes existed at the 2026-08-04
guard and were dropped by 2026-08-09), Phase 1.3 partial inventory, Phase 4
partial restore (CREATE INDEX CONCURRENTLY, both indisvalid/indisready), and
Phase 5 before/after probes (supabase_rpc_latency_ms 31610 -> 1535 text /
8519 hybrid). Carries the PR #1939 review ledger record and queues merge-safe
issue updates for #316 and #231.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpjrUp4fYmiDGfc6NBqACX
@supabase

supabaseBot commented Aug 14, 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 ↗︎.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpjrUp4fYmiDGfc6NBqACX
@github-actions

Copy link
Copy Markdown
Contributor

CI triage

CI failed on this PR. Automated classification of the 2 failed job(s):

  • Static PR checksneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • PR requiredneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.

Compared with main CI run #10845 (cancelled).

Classification is evidence routing, not permission to ignore a failure. Exact quarantined Playwright identities remain governed by the flake ledger.

@coderabbitai

coderabbitaiBot commented Aug 14, 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 recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in:44 minutes

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

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: da4d8e73-50e2-49f4-93b0-4b52012ee1f1

📥 Commits

Reviewing files that changed from the base of the PR and between b58a235 and f1f95a2.

📒 Files selected for processing (8)
  • docs/audit/live-drift-forensics-2026-08.md
  • docs/branch-review-records/1eb170403cacbc03de02adf5632f19f46b5c09228a76c7dcb950557c88123401.record.md
  • docs/branch-review-records/71e026951e34c888a933c97c6f0f48f3825198aad8e34f32ecc8d6381b2ce5a2.record.md
  • docs/outstanding-issues-inbox/19fb70c0-1fd4-43a8-a4f4-efa9c31d16b1.json
  • docs/outstanding-issues-inbox/606b1573-6217-457a-9183-7f8e550d3094.json
  • docs/outstanding-issues-inbox/81845ded-27a8-43d8-9a56-d85a5515935b.json
  • docs/outstanding-issues-inbox/bbf21714-0ef9-4c2f-942f-1b8d7e328ac8.json
  • docs/outstanding-issues-inbox/d52dbc3d-6759-4f6e-9089-24059830ed5a.json

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

…s + one combined update
CI (docs:check-links -> ledger-inbox planner) rejected two pending #231
updates: this branch's incident-evidence update and main's instrument-exists
update (7f5e6922). Both are cancelled with reasons and replaced by a single
combined update carrying the earlier text verbatim plus the 2026-08-14
incident addendum, so no queued content is lost.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpjrUp4fYmiDGfc6NBqACX

@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:b9485d897d

ℹ️ 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/audit/live-drift-forensics-2026-08.md
Comment threaddocs/audit/live-drift-forensics-2026-08.md Outdated
… proof, record guard-migration debt
Removes the unsupported 2026-08-04 existence bound (the 20260804110240 guard
validates four other indexes, not this pair): the drop window is 2026-07-05 to
2026-08-02 and the dashboard attribution stays an inference pending audit
history. Records the post-build pg_indexes canonical definitions for both
restored indexes, and names the still-owed phase 4.4 fail-fast guard migration
as follow-up debt rather than claiming no migration is needed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpjrUp4fYmiDGfc6NBqACX
@BigSimmo
BigSimmo enabled auto-merge August 14, 2026 15:16
@BigSimmo
BigSimmo merged commit 7679dfa into mainAug 14, 2026
48 checks passed
@BigSimmo
BigSimmo deleted the claude/live-drift-forensics-lnhvja branch August 14, 2026 15:17
BigSimmo pushed a commit that referenced this pull request Aug 14, 2026
…e record
Two pending mutations targeted #316 - this branch's dispatch-proof update and
the incident session's restoration update from PR #1960 - which the inbox
correctly refuses to apply without an explicit decision. Cancelled both and
queued a single combined update so the row carries one coherent account.
The combined text keeps the incident findings verbatim (both indexes restored
and validated, supabase_rpc_latency_ms 31610 -> 1535 text / 8519 hybrid, the
drop window, the outstanding dashboard-audit attribution) and corrects two
details that PR #1960's own review and the 2026-08-14 dispatch have since
settled: the 20260804110240 guard validates four OTHER indexes and never checks
this pair, so it gives no existence bound for 2026-08-04; and the missing-index
count is measured at 20, not 21.
Also cancels a placeholder request queued in error by a failed shell
substitution.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKNFogaYfCQBvFVqFQnfRt
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