feat(recovery): derive packaged PostgreSQL schema evidence - #207
Conversation
|
Warning Review limit reached
Next review available in: 46 minutes Limit details: You’ve used all 1 included review currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
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 |
Bounded resilience slice for #204
Starts directly from protected
maind0a4b30be1f46536e352443309f3a35533156767on explicit non-default branchfeat/postgres-schema-evidence-d0a4b30. Current exact contributor head isdeb8b9a46672e74070f64397ba0b338161d82a61; the PR is Ready/mergeable, directly based on that protected main, and changes exactly:pg_llm_batch/postgres_schema_evidence.pytests/test_postgres_schema_evidence.pyTest-first history
4597c35b5aaa7b5a2a4488d1e926989779e9b0a0defines the absent packaged-schema evidence contract.424dc2bc9612f1aed59a95fe233c9930e80b1295adds the narrow package-owned implementation.1de1eb4194f4a09c0d5775823eb0b60bdfc25e10plus GREEN33fefc37ff21b6ba290b21e3f686178cd3626eb8normalize ordinary resource-loader/read/cleanup failures while preserving process-controlBaseExceptionflow.dbc7d94a9c78ae656b0e4fd19b053d7d200d1c9cplus GREENb35dee78e9ab52b2771ff18b5831b25cda7bf80dreject hostilebytessubclasses before truthiness, length accounting, or hashing.importlib.resourcescompatibility rule. That rule is inapplicable because protectedpyproject.tomlrequires Python>=3.10and CI covers 3.10/3.12/3.14. Commit8e587c7b5b8cfc52557f98df174623a2b245f0f2uses one rule-specificnosemgrepsuppression with that supported-runtime rationale immediately adjacent; the finding thread was answered and resolved without adding an unsupported-runtime backport dependency.72b7cc9cf09d0a84cd3feda1fed40294b4f56cc3requires every read request to remain within the remaining package budget. Current GREENdeb8b9a46672e74070f64397ba0b338161d82a61caps each request and reaches final validation without an extra read after budget exhaustion.Product / recovery boundary
inspect_postgres_schema()streams the exact distributedpg_llm_batch/schema.sqlresource through SHA-256 with a finite 16 MiB package-owned work budget and returns onlysha256plussize_bytes. It rejects missing, unreadable, empty, oversized, malformed-chunk, hostile-subclass, or cleanup-failing resources and maps ordinary lower-layer failures to fixed content-free package diagnostics. Cleanup failure cannot mask an already-selected bounded read/validation error.This gives #205's
schema_sha256field a deterministic package-owned derivation seam without caller paths, SQL execution, database mutation, credentials, DSNs, prompts/results, ciphertext, or reflected lower-layer diagnostics. It does not prove live-cluster schema parity, migration currency, isolated restore success, RLS/constraint/extension acceptance, PITR, RPO/RTO, HA/DR, or certification. #204 remains open.No existing schema SQL, Docker, workflow, package metadata, root public API, provider/database client, or canonical documentation is modified. Canonical documentation remains owned by #192.
Current exact-head evidence
The current exact head has 31 published check runs. CodeQL, Scorecard, OSV, Trivy and other completed security contexts are successful; repository coverage/CI and organization review workflows are still queued or incomplete. No failure is currently published, but queued/pending/skipped-required/absent evidence is not acceptance. Predecessor checks and reviews do not transfer.
Protection-bound squash auto-merge is armed. Merge only the unchanged exact head after Python 3.10/3.12/3.14, exact 100% owned production statement/branch coverage, public docstrings, lint/package/container, security/SAST/SBOM/provenance/release and every organization-required workflow are terminal-success, all valid findings are resolved, authenticated formal review is current and successful, and the live qualifying independent non-author last-push approval exists.
The authenticated formal-review path is currently blocked in read-only central
.github: protected central main remainsc47afc2dc68488292c1db7c9d6f82dcd5360f181; central PR #1009 at4b3cdb77599a3c67817bccf0e45a2058da52a122contains the causalrepository_dispatch.client_payloadproperty-count repair but is still open/unmerged. Do not churn this source, copy the central workaround, weaken governance, self-approve, or transfer predecessor evidence.Refs #204.