Repository navigation
test(v0.49): verify installed managed-cycle admission bound and heartbeat deltas - #21
Merged
grove merged 7 commits intoOct 24, 2026
Conversation
This was referenced Oct 21, 2026
8 tasks
grove
marked this pull request as ready for review
October 24, 2026 17:23
…ed-cycle-claim-cap
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI diagnosis — 2026-10-22
The original installed-function checks passed on candidate
2bbe746and all other React CI passed, but pinned joint-stack run #39737469072 failed in the new heartbeat attribution heuristic: public cumulativeprocessed_jobsmoved from 2 to 4 across heartbeats only 0.123 seconds apart. That does not prove a single worker cycle processed two items. The worker can run/wake multiple times between polls, and the heartbeat is also updated twice withinmanaged_cycle_m44; no per-cycle ID is exposed. It would be invalid to label any two status samples as one cycle based solely on a time threshold.Commit
46b98a9removes only that unsound temporal inference, not any receipt/no-replay/authorization assertion or installed claim-bound proof. It preserves exact observed counter intervals, requires their monotonicity, explicitly labels them not attributable to individual cycles, and retains deployed function hashes,batch_size→least(batch_limit, 100)→claim(max_items)proof and PR #20's actual one-item claim+pending-work test. Any future absolute per-cycle runtime measurement needs explicit cycle IDs/transaction instrumentation. This PR should not claim such a measured result.Latest head is pending exact-head CI. Do not merge or mark ready until it passes.
Prove the deployed managed-cycle per-call claim bound
This dependent PR builds on React #14's feature branch after merged PR #20, which passed exact-head CI for the independent public
pgreact.claim(max_items=1)boundary.The deployed
pgreact_internal.managed_cycle(integer)definition readspg_react.batch_sizeand passes it asmax_itemstopgreact_api.claim. In contrast, an older GUC description incorrectly saidbatch_sizeapplied only to maintenance. This patch corrects the GUC description and adds an executable installed SQL provenance check to the real two-case MDM outage audit.Runtime assertions and evidence
pg_get_functiondefof the installed managed-cycle and public claim implementation, assert exact batch setting → claim argument, one increment per executed claim,max_itemsvalidation against operational max, and explicit exit at the requested item bound. The test uses installed functions, not a parser sketch or a guessed Rust API.pg_react.batch_size=1, both complete receipts, immutable source/work/request state, idle cycles and cold restart.Limits
This is exact-artifact per-call bound + focused real-worker corroboration, not a signed S1 300-case fair-backlog, 60/min throughput or full T49.12 proof. With sparse polling, gaps larger than the single-cycle observation window cannot be attributed to individual cycles; this test records them rather than inferring a guarantee.
pgreact.claimadditionally enforces operationalmax_claims, so oversized managed batch configuration needs separate behavior/review. Clone/restore, outage service limits, owner sign-off and other release gates stay open.Remain draft pending complete current-head CI. Base is
issue/11-explicit-escalation-time, notmain; no release or production activation.