Repository navigation
Batch local activity writes within row and byte limits - #1110
Conversation
Hold local execution, attempt and history rows in the transaction, then flush bounded INSERTs before other commands and history-dependent reads. Allocate canonical history ranges in one statement while keeping the existing typed single-event fallback and logical persistence charges. Add order, physical-write, large-result, oversized-row, budget refusal and sequence-boundary controls across the existing database suites. Co-Authored-By: Codex <noreply@openai.com>
The direct Store registration requires the canonical capability manifest that HTTP registration normally supplies. Keep the production guard and all batching assertions unchanged. Co-Authored-By: Codex <noreply@openai.com>
|
#1110 head514dfcda: interim NONPASS for the new test fixture; the original train is still running and nothing has been rerun or cancelled. Production and lib-test targets compiled. The captured SQLite, PostgreSQL17 and MariaDB failures all stop at local_write_tests.rs:34 with409 worker_capability_not_supported. My direct Store registration supplied the capability list but omitted the canonical capability_manifest that HTTP registration supplies. The production guard correctly refuses it. The existing caught stale-history assertion in poll_transaction_counts is its deliberate #1093 control, not this failure. Local successor f40ac3b adds only capability_manifest.local_activities.supported=true to that test registration (2additions/1deletion;1087B / SHA-25662be6892105184c1fe448b6b07196d63bcbe7f705006b9c32da7197110a73b6e). Production bytes and every assertion are unchanged. The successor is unpushed. All original jobs must finish; I will classify every terminal failure before selecting another normal train. The primary3.3.1 release and Sample App follow-through remain ahead of this held test-only successor. |
|
#1110 attempt1 at514dfcda is terminal NONPASS:55success,7failure,one intended skip. All six original workflows are terminal on attempt1; no cancellation or rerun. All seven failed jobs are accounted for: the SQLite, both PG and all three MySQL/MariaDB native-test lanes each have exactly one failed test, stopping at local_write_tests.rs:34 with worker_capability_not_supported because my direct registration fixture omitted capability_manifest. The seventh failure is the aggregate. Captured logs confirm the same cause for every lane. The production and lib-test targets compile; no new batching-file compiler warning was found. Other source, corpus, restart, cohort, SDK-direction, security and boundary checks passed. The new physical-count, large/oversized-row and budget assertions were not reached, so they remain unqualified. The local successor f40ac3b adds only the fixture's declared local-activity manifest; production and all assertions are unchanged. It remains unpushed, behind the active3.3.1 qualification and Sample App follow-through. No queue or publication for #1068 is selected. This original NONPASS remains attributed. |
|
General selects one successor push and fresh normal CI run on the existing draft #1110: The successor is test-only: 1,087 bytes / SHA256 Attempt 1 is terminal NONPASS and remains attributed. All original runs are complete, so the exact old-head leased push cancels nothing. Native 3.3.1 qualification and Sample App consumer follow-through have passed, clearing this successor's hold; the separately selected alias promotion changes no source. One push, no rerun or cancellation. This does not select ready/queue/merge, a tag or publication for #1068, and it does not change the 3.3.1 cut. The physical-count, large-row and budget controls still need execution on this head. |
|
|
Attempt 2 is terminal SOURCE PASS on 62 checks succeeded, one intended path-gated skip, zero statuses. All six original workflow runs succeeded on attempt 1; no rerun or cancellation. Shared fixtures, PHPUnit/contracts, Sonar, CodeQL and both Boundary runs passed. All supported backend lanes passed. Retained artifact tails show SQLite execution 749/0/1; MySQL8.0/8.4 and MariaDB10.11 lib42/0 and execution A374/0/1; PostgreSQL16/17 lib34/0 and execution A374/0/1. The new long-run local-activity ordering test is named The successor changes only the test registration's canonical capability manifest; production and assertions are unchanged. Full delta: 49,117 bytes / SHA-256 General selects one ordinary ready/queue entry at this exact head. Require unchanged base/current main, clean worktree, full delta, all current checks terminal/accepted, zero statuses and an empty queue. Watch only for up to45minutes; if still queued then, one exact dequeue and stop this entry. No queue bypass or re-entry. On merge verify signature, ordered parents, exact tree, original actual-main terminal checks and topic removal after ancestry. Release and published-artifact acceptance remain separate; Native3.3.1 excludes this change. #1075 stays local until this integration completes. |
|
#1110 merged once at06:00:53UTC as Signature valid; ordered parents |
|
Actual-main qualification has an infrastructure NONPASS; it is not terminally accepted yet. CodeQL run42570529805, attempt1, main GitHub's official new timeout incident, The other original main workflows are still running and will finish normally. No cancel/rerun has occurred. Keep the topic. #1075 has only a local, patch-identical rebase on this main and remains unpushed. Next: classify every original main result; after upstream recovery, select at most one exact failed-job retry on unchanged source, retaining attempt1 as NONPASS. Do not call main qualified from the passing PR/merge-group checks. |
|
General selects one exact failed-job retry of main CodeQL Rust, job129006612891 in run42570529805, unchanged main All other original actual-main workflows are terminal success (the context-only Merge queue Sonar workflow is intentionally skipped). Attempt1 of this CodeQL run is terminal failure from the verified bundle-download504; its three other language jobs passed. No source/security finding is waived. The vendor incident is still investigating. Its continued global status is not claimed recovered. A fresh06:37:48UTC probe of the same failed bundle URL now returnsHTTP206 and65,536actual bytes with the correct Zstandard magic, zero curl retries/errors. This proves dependency-path availability only, not full bundle integrity or Rust analysis. It justifies one finite attempt instead of blindly replaying the full source train or waiting for a global status page change. Use the failed-job endpoint once, no source/policy/token change, no other workflow rerun. Preserve attempt1 as NONPASS. Verify attempt2 runs the same Rust job/head and requires normal initialization, analysis and upload success. Report byT0+20min; if the selected attempt is still live then, one exact cancel after re-binding run/attempt/head, with no further retry. #1075 remains local until current main's required analysis is obtained. Native3.3.1 remains unchanged. |
|
The selected failed-job retry was rejected before any rerun. GitHub returned HTTP403, “Jobs in this workflow run cannot be re-run.” Readback still shows run42570529805 attempt1, completed/failure; no attempt2 exists and no retry cancellation is due. The original bundle-download NONPASS stays attributed. All actual-main product workflows passed on unchanged main The configuration before the request is: actions, JavaScript/TypeScript, Python and Rust; default query suite, remote threat model, standard runner, weekly schedule. #1075 remains local while this is resolved. Native3.3.1 is unchanged. |
|
The supported same-state default-setup request was a no-op, not a fresh scan. HTTP202 returned setup run39635208843 from2026-10-21 at447bdbc5; it does not bind this main. Readback preserves every current analysis setting and updated_at; the run list contains no new scan of0b383e55. No further configuration change is selected. Main product workflows are all terminal success. The original managed CodeQL run42570529805 remains NONPASS from its pre-analysis Rust bundle504; Python, JavaScript and Actions passed. The job retry was rejected, not executed. This missing Rust analysis remains explicit; neither old setup success nor PR/queue success substitutes for it. I am revising my own sequencing decision to avoid parking authorized source work behind a managed workflow that cannot be retried: #1075 may begin its ordinary draft-PR train on0b383e55. That candidate must obtain the full normal checks, including Rust CodeQL, before integration. This changes no required check, scanning configuration, alert disposition, release gate or product source to provoke a scan. No empty commit or security disable/re-enable. #1068's source branch is retained until this outstanding main analysis is resolved; the delivered3.3.1 tag/image remain unchanged. #1068 itself is not released yet. |



Completions with adjacent local activity records currently issue an execution INSERT, an attempt INSERT, and separate sequence allocations and history INSERTs for each event. Buffer those rows within the existing transaction and flush each local run in bounded statements before another command, a history-dependent read or commit.
Multi-row INSERTs are limited to 100 rows and a conservative 1 MiB encoded-size target, including SQL/parameter overhead. A previously legal row above that target is written alone. Canonical history ranges use one allocation; the existing typed single-event fallback and logical completion-budget charges are preserved. Rollback drops pending rows.
Part of #1068. The issue stays open through qualification and publication. No benchmark speedup is claimed. The 3.3.1 release cut remains unchanged.
Validation covers 40-record order with an intervening side effect; physical INSERT/range counts on SQLite, MySQL/MariaDB and PostgreSQL; large-result splitting; oversized single-row preservation; event/row/byte refusals before local writes with the claim reusable; and range boundary/missing/noncanonical controls. Existing retry, heartbeat, failure and source parity tests remain.
Attempt 1 at 514dfcd compiled but was NONPASS: the direct registration fixture omitted its capability manifest, stopping the six backend native-test lanes before the new batch assertions. That result remains recorded. Successor f40ac3b adds only the supported local-activity manifest to that fixture; production and every assertion are unchanged. The successor passed all six original workflow runs with 62 successful checks, one intended skip and zero statuses. Source acceptance and queue selection. It entered the ordinary merge queue once at05:36:56UTC; integration/main and publication acceptance remain pending. Static whitespace, secret, ancestry and delta checks passed; no local application test or build ran.