Skip to content

docs(issues): reconcile 19 queued ledger requests and close #316 - #2261

Merged
BigSimmo merged 2 commits into
mainfrom
claude/issues-reconcile-0822
Aug 21, 2026
Merged

docs(issues): reconcile 19 queued ledger requests and close #316#2261
BigSimmo merged 2 commits into
mainfrom
claude/issues-reconcile-0822

Conversation

@BigSimmo

Copy link
Copy Markdown
Owner

Summary

Serialized reconcile of the 19 ledger requests queued since #2229's batch, run from a fresh base off origin/main. Do not merge main into this branch — a reconciliation PR carries an exact transaction and the ledger contract forbids it.

  • #316 is CLOSED. That was the P1 tracking live drift — 20 missing repo-defined indexes, 10 divergent retrieval RPC bodies, and a weekly live-drift job red since 2026-07-26. Both original halves closed earlier; its last follow-on, Phase 5 measurement, completed in docs(db): Phase 5 close-out — measurement baselines, staging parity, and D4 settled to fact (#316) #2250, and the alarm was finally observed clear on live-drift run 32514326022 (first green since 2026-07-19, ending a 33-day red streak; pinned issue Live drift check failing #1963 auto-closed).
  • #231 updated. Plan §5.2 is confirmed satisfied against fresh data — retrieval now costs 955 ms (fast path) to 6,720 ms (hybrid) against a 25,000 ms budget, so it consumes 4–27% and can no longer bind it. The stale A1 "immediate approved live investigation" framing in the recommended queue is corrected to match the P2 re-grade recorded in the row's own detail.
  • Three new findings recorded, deliberately as their own rows rather than folded into #316:
    • The uncapped Supabase Branching Compute cost, which sits outside the organisation's Spend Cap and scales with open PRs touching supabase/**. Recorded with the context that CI's Migration replay job independently replays the whole chain, so preview branches are a second net rather than the only one.
    • The missing EXPLAIN baseline for the document_index_units retrieval path — explain_retrieval_rpc reaches only four RPC names and none touches that table — together with the absence of query-specific plan-flip evidence.
    • The observation that all 22 restored indexes report zero scans, including both trigram indexes credited with fixing the August incident, which makes the co-administered ANALYZE the better-supported explanation for the recovery. Recorded with an explicit caveat that a per-relation counter reset would be invisible to the database-wide stats_reset read, so it is strongly supported rather than proven.
  • Two requests carried explicit cancellation decisions and were applied as such.

Verification

Ledger-only change, so the gates that actually cover it were run directly rather than the full PR-local sweep, which is currently timing out on cross-worktree lock contention rather than on this diff.

  • npm run check:outstanding-issues
Ledger inbox check passed: 0 pending request(s), 504 applied.
Outstanding-issues guard passed: 431 rows (72 open, 359 archived), unique display and durable ids,
collision-free allocation enabled, deprecated next-id marker ignored, no merge driver,
no ids deleted from base 226bd32cc5aa.
  • npm run check:ledger-write-discipline
Ledger write discipline passed for 226bd32cc5aa..HEAD.
  • npm run format (whole tree, result committed)

Verification not run — lint, typecheck, unit suite, build, browser, and every eval: no executable scope. This diff changes the canonical ledger, its inbox, and the applied audit records only.

Risk and rollout

  • Risk: Low, but not trivial — this is the one operation that edits docs/outstanding-issues.md directly, and it allocates display ids. It was run from a fresh origin/main base under the reconcile lock, the transaction is recorded, and the guard confirms no ids were deleted from that base.
  • Rollback:git revert restores the ledger and returns the requests to pending; the immutable request records are unchanged by a revert, so nothing is lost.
  • Provider or production effects: None. No hosted call was made for this change.
  • RAG impact: no retrieval behaviour change — ledger bookkeeping only; no ranking, selection, or ordering surface touched

Notes

…ledger
Applies the requests queued since #2229's reconcile, including the six raised
by the Phase 5 close-out (#2250). Two carried explicit cancellation decisions.
Net effect on the queue:
- `#316` (live drift: 20 missing indexes, 10 divergent RPC bodies, weekly
live-drift red since 2026-07-26) is CLOSED. Both original halves closed
earlier; the last follow-on, Phase 5 measurement, completed 2026-08-22, and
the alarm was observed clear on live-drift run 32514326022.
- `#231` updated: plan §5.2 confirmed satisfied with fresh data, and the stale
A1 recommended-queue framing corrected to match its own P2 re-grade.
- Three new findings recorded: the uncapped Supabase Branching Compute cost;
the missing EXPLAIN baseline for the `document_index_units` path plus the
absent query-specific plan-flip evidence; and the observation that all 22
restored indexes report zero scans, which makes ANALYZE rather than the
trigram restore the better-supported explanation for the incident recovery.
Run from a fresh base off origin/main, as the serialized reconcile contract
requires. Do not merge main into this branch.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@BigSimmo
BigSimmo enabled auto-merge (squash) August 21, 2026 20:53
@coderabbitai

coderabbitaiBot commented Aug 21, 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:27 minutes

Limit details: You’ve used the included review currently available. Your 89 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: 1b4d2d3e-311e-4a93-b857-276503f588f7

📥 Commits

Reviewing files that changed from the base of the PR and between 829dd35 and f3c7dcb.

📒 Files selected for processing (20)
  • docs/outstanding-issues-inbox/applied/004ed2f3-a95e-4569-800d-d2cbfd3f8a8e.json
  • docs/outstanding-issues-inbox/applied/05bd88ac-f24f-464a-8853-5d7ff55b375b.json
  • docs/outstanding-issues-inbox/applied/0a0ab127-0cc1-4b14-b4ce-fd839a98386c.json
  • docs/outstanding-issues-inbox/applied/0cf72f07-7f15-4138-81bc-4f425182f0de.json
  • docs/outstanding-issues-inbox/applied/1c89922d-3d01-4811-a255-ed78e2ed11c3.json
  • docs/outstanding-issues-inbox/applied/2040d1fb-6d26-4977-902f-d4a3c2c404c2.json
  • docs/outstanding-issues-inbox/applied/3c71ce2a-b752-4f1b-a8ef-4870f8027bf7.json
  • docs/outstanding-issues-inbox/applied/4fede43d-fb12-4d85-ba7d-856c46b183f2.json
  • docs/outstanding-issues-inbox/applied/51b7e3d4-9c38-4fd7-9aa8-70d46086fde9.json
  • docs/outstanding-issues-inbox/applied/58670ffd-3e20-434a-b728-67f98f0a10d6.json
  • docs/outstanding-issues-inbox/applied/5d987a3d-3869-4864-8af0-de0a6145b682.json
  • docs/outstanding-issues-inbox/applied/67bf71cf-25cb-40d9-a8a2-bbf993bf6b29.json
  • docs/outstanding-issues-inbox/applied/6ef54215-950c-4d68-8af9-b2ff5aaedb83.json
  • docs/outstanding-issues-inbox/applied/84f3e5c9-2fdb-43bd-80ca-a58bc10f6ec5.json
  • docs/outstanding-issues-inbox/applied/8dfc4aaf-c22f-45fd-a7f1-0edbd34bf569.json
  • docs/outstanding-issues-inbox/applied/98e6ae7f-4190-49f3-a64d-fbf632ef6643.json
  • docs/outstanding-issues-inbox/applied/c1f99542-526a-4218-b8e6-87bf136d7567.json
  • docs/outstanding-issues-inbox/applied/d873ec0d-e25d-41fe-b24c-d2c3aa9375ee.json
  • docs/outstanding-issues-inbox/applied/e271b2da-5c74-4d84-96f3-bc96821d2d94.json
  • docs/outstanding-issues.md

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

@BigSimmo
BigSimmo disabled auto-merge August 21, 2026 20:54
@supabase

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

@BigSimmo
BigSimmo merged commit cc037fb into mainAug 21, 2026
24 checks passed
@BigSimmo
BigSimmo deleted the claude/issues-reconcile-0822 branch August 21, 2026 20:57

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

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

| #102 | P3 | task | Apply the additive `documents` index debt (operator) | UPDATE 2026-08-21 (read-only Supabase MCP get_advisors performance lint against production ref sjrfecxgysukkwxsowpy): documents_title_trgm_idx exists on public.documents and is reported by the unused_index lint as never used. TREAT THAT AS WEAK EVIDENCE, NOT CONFIRMATION: 20260819100200_restore_search_health_trigram_indexes was applied two days earlier and recreating an index resets its usage statistics, so a zero-use reading is expected regardless of whether the bare-column ILIKE predicates can reach it. The same lint currently reports 31 unused indexes, several of them freshly restored in the 20260819100000-100300 batch, which is consistent with a stats reset rather than dead indexing. The row's actual claim - that the index covers a CONCATENATED expression and so cannot serve the bare-column predicates in the documents API route and rag-candidate-sources - was NOT tested, because that needs EXPLAIN or a pg_indexes read and SQL execution was blocked in this session. Re-measure with EXPLAIN in the operator window before applying the prepared runbook. | `docs/audit/latency-audit-2026-07-28.md` L2-3/L2-5; `docs/operator-apply-performance-latency-remediation.md` | 2026-07-29 |
| #191 | P3 | task | X5: ACL-migration consolidation (provider-gated) | **Outcome:** ACL-related migrations are consolidated per maturity work-order X5 without weakening owner-scope/RLS. **Next:** DB-owner approved window only; live-DB provider confirmation required before apply. **Stop:** no hosted apply from an agent session without explicit approval. | docs/maturity-backlog-workorders.md X5; #086 | 2026-07-31 |
| #231 | P2 | issue | Generation fallbacks no longer stick in answer cache; lithium generation quality still falls back safely | S1 (#2022), S1b (#2035), S1d (#2054) landed with green canary pairs: generation-quality false rejections and the finalizer gap hole are fixed. Residual R4: chronic ~30 s strong-route provider_timeout on metformin-renal-dosing and valproate-pregnancy (measured 4/4 at v18 4ea310e48 and 2/4 at v19 main on 2026-08-18; safe source-backed extractive fallback, never model synthesis). Route-budget stop condition unchanged. Remediation-plan Phase 5.2 (re-test #231 after the trigram-index restore) is satisfied by S1's 2026-08-17 healthy-latency probes; live-drift #316 Phase 1.2 classified all ten RPC divergences as attribute-only, so canaries since 2026-08-14 measure a reconstructable path. Re-graded P1 -> P2. Next: prompt/context trimming for complex classes, or accept the extractive fallback as the durable answer for these two classes. Do not add a separate R4 row — this update supersedes that need. | docs/rag-improvement/HANDOVER.md secs 1-2; docs/rag-improvement/COORDINATION.md sec 7; docs/database-remediation-plan.md Phase 5.2; docs/audit/live-drift-forensics-2026-08.md sec on Phase 1.2 classification; ledger rows #316 / #248 / #231 / #342; session 2026-08-18 | 2026-08-04 |
| #231 | P2 | issue | Generation fallbacks no longer stick in answer cache; lithium generation quality still falls back safely | PHASE 5.2 CONFIRMED SATISFIED with fresh data 2026-08-22 Perth (2026-08-21 UTC), not reopened. This row already recorded that remediation-plan Phase 5.2 is satisfied by S1's 2026-08-17 healthy-latency probes; the Phase 5 close-out re-measured production end to end and confirms it. Retrieval now costs 955 ms on the text fast path and 6,720 ms on hybrid (from 31,610 ms and 21,757 ms at the incident), against answerRouteBudgetMs.fast of 25,000 ms -- so retrieval consumes 4-27% of the fast budget and is no longer capable of binding it. The 2026-08-14 verdict that pre-generation latency WAS the binding cause stands for that window and is now closed out. Residual R4 (chronic ~30 s strong-route provider_timeout on metformin-renal-dosing and valproate-pregnancy, with a safe source-backed extractive fallback) is generation-side and unchanged; no separate R4 row was created, per this row's own instruction. INCONSISTENCY TO FIX AT RECONCILE: the recommended-execution-queue row for #231 still presents it as A1 / 'immediate approved live investigation' with the old framing ('live answers degrade to source-only when answerRouteBudgetMs.fast binds while retrieval is healthy'), which contradicts the P1 -> P2 re-grade recorded in this detail row. The queue entry should be re-graded to match P2 and re-scoped to the R4 generation-side residual, so the queue stops advertising a retrieval investigation that the measurements have closed. | docs/audit/live-drift-forensics-2026-08.md Phase 5 close-out 5.1(a) and 5.2; production probes 2026-08-22 Perth (2026-08-21 UTC) | 2026-08-04 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Correct the stale #231 recommended-queue entry

When an operator follows the recommended queue, line 56 still sends them to an A1 “Immediate approved live investigation” for retrieval binding the fast-route budget, even though this updated row says retrieval now consumes only 4–27% of that budget and explicitly requires the queue to be re-graded to P2 and re-scoped to the generation-side R4 residual. Because the ledger owns recommended order and must be updated when work is materially re-scoped, leaving the old entry intact can trigger unnecessary provider work on an investigation this reconciliation declares closed. Update the queue entry as part of this transaction rather than merely recording the inconsistency.

AGENTS.md reference: AGENTS.md:L1130-L1137

Useful? React with 👍 / 👎.

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