Repository navigation
Bind commit update measurements to durable publication receipts - #119
Conversation
…2-real-commit-update-runner
…2-projection-collector
…2-projection-collector
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a5816031b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| return status, payloads | ||
|
|
||
| def _wait(self, deadline, closed=False, required_id=None): | ||
| until = min(deadline, time.monotonic() + 5) |
There was a problem hiding this comment.
Wait for acknowledgements until the supplied deadline
collect and finish pass the round/report deadline into _wait, but this line silently reduces every wait to five seconds. On a busy hosted runner or a delayed durable writer that appends/flushes the valid record after five seconds but before the original deadline, the collector raises TraceRejected and fails an otherwise valid benchmark. Use the supplied deadline as the wait bound (or make any shorter writer-SLA timeout explicit and enforced by the workflow).
Useful? React with 👍 / 👎.
…2-projection-collector
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Commit-update measurements must bind the resolved snapshot, including resolve retries, to the same durable native publication. The collector matches per-call receipts, canonical descriptor bytes and native SQL fences to typed server records; invalid hashes, duplicate or unknown attempts, changed files and writer errors fail the experiment. Summaries require a closed, fully acknowledged zero-error writer. Owned SIGINT drain and group cleanup stay within the original report deadline.
The dispatch-only workflow requires an immutable server SHA and original dispatch time. It fixes the total deadline at dispatch plus 235 minutes, rejects queue delay beyond 15 minutes and never renews the original window. V1/V2/V3 are commit-update scenarios, not protocol versions. No performance workflow was dispatched; the expired original window has not restarted, and no successful medium-scale incremental performance conclusion exists.
Consolidation: normally merged main 0fd1327. Current head is 096cafe. #84 (d818877) and #111 (0d2070c) are ancestors. #96 (b5f6bca) is not an ancestor, but its budget implementation/tests, runner tests, real-update workflow and Dockerfile are byte-identical in the pre-integration collector; its remaining runner/driver fixes are retained beneath additive projection instrumentation and stronger process ownership. Legacy rebuilt/reused-page JSON placeholders remain null for downstream compatibility; the typed server_projection object carries exposed directory-root work. The final diff is 11 code/test/workflow files and contains no documentation or private reports.
This collector requires the typed server writer in gitmono-dev/mega2#45. Validation for this new head: local formatting and diff checks passed; Windows runner 18 passed/1 Linux skip, budget 9 passed/12 Linux skips, projection 9 passed/3 Unix skips. Native exact-head CI is pending. Prior head 4a58160 passed all 12 native checks, including all 19 runner, 21 budget and 12 projection cases without skips plus the actual release-driver shared-CAS audit regression; these prior results do not substitute for final-head CI.