Skip to content

Read workflow descriptions through one coherent snapshot - #1112

Merged
rmcdaniel merged 1 commit into
mainfrom
feat/general-1075-coherent-describe
Nov 9, 2026
Merged

rmcdaniel merged 1 commit into
mainfrom
feat/general-1075-coherent-describe

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Workflow descriptions currently assemble run state, commands, memo, routing and diagnostics across separate pool reads. A concurrent transition can leave one response containing different database generations. This change uses the existing repeatable-read primitive and one connection for the complete description, including MySQL/MariaDB sessions configured READ COMMITTED. The native start payload is reused where authority is identical; legacy projection metadata retains its own first-event authority.

Refs #1075. This follows #1068 on main and is excluded from released 3.3.1. No speedup is claimed.

Validation added: pause after the real run row, commit a termination from a separate pool, and require the entire response to equal the earlier snapshot; the next description must show termination and its command. A one-connection reader counts checkouts and the shared start-payload read. Error, corrupt memo and cancellation controls require the connection back. MySQL/MariaDB run both session isolation levels and demonstrate the ordinary READ COMMITTED counterexample before and after the explicit snapshot. PostgreSQL and read-only SQLite WAL readers cover the same transition.

First compile and test execution are this normal hosted train. Only source review, whitespace and bounded privacy checks ran locally. All maintained describe, routing and projection suites remain required. Main's earlier Rust CodeQL bundle-download failure remains recorded on #1110; this candidate must pass normal analysis and all required checks before integration.

Reuse the description connection for memo, command, summary, routing,
search, update, failure and projection reads. Share the native start payload
with query and definition routing. Force the existing repeatable snapshot
primitive even on MySQL/MariaDB READ COMMITTED sessions.

Add real concurrent-termination controls, a READ COMMITTED counterexample,
one-checkout/start-read counts, and error/cancellation release controls.
First compile and execution are deferred to the normal hosted source train.

Refs #1075.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

@rmcdaniel

Copy link
Copy Markdown
Member Author

Source qualification PASS on exact head eb35eef59b709ab34f7a47338c729f3a15d83d49, tree b86bfa069316e2f1bf2df9f89aeb88a03d1f8832, base/current main 0b383e55e9b2b324e747c49c1c8bc1d273f2d846. Delta35,191B/SHA256b112a5d64fe5357eb808d3e4d6409d603c8ec6cdd4a43b2a21ef59a7506db65d. No successor, cancel or rerun.

62success,1intended path-gated skip,0statuses. All6original runs concluded success on attempt1: Shared42575196749, PHPUnit42575196765, Sonar42575196734, CodeQL42575192395, Boundary42575196838/42575191363. Rust initialization/analysis/upload succeeded; the combined source therefore has current Rust analysis. The earlier #1110 actual-main download NONPASS remains a different run, not relabelled.

Retained backend artifacts were rehashed against GitHub's archive digests. PostgreSQL16/17 each name qualification_describe_is_coherent_and_returns_one_connection ... ok,35lib tests passed; execution A374/0/1. MySQL8.4 and MariaDB lib43/0, execution A374/0/1. Their native lib command selects the new describe-isolation control along with the maintained controls; the tail-only archives do not preserve every lib test name. SQLite's cargo test --all-targets passed (the registered new SQLite unit is part of that command); its retained tail shows execution749/0/1 and cuts the earlier lib output. This is not a claim to have a named line absent from those retained tails.

The deterministic test forces a real termination to commit between the run-row read and later description reads. It requires a complete pre-transition response, a later terminated response, one checkout/start-payload read, and connection release on not-found, corrupt memo and cancellation. The MySQL/MariaDB test runs both session isolation levels and the ordinary READ COMMITTED mixed-response counterexample before/after the explicit snapshot. Existing routing, legacy projection and DTO suites are green. No benchmark speedup or published-artifact acceptance is inferred.

General accepts this source and selects one ordinary queue entry at the exact head, after empty-queue/current-main/mergeability/check rechecks. The expected merge parents are [0b383e5,eb35eef5], treeb86bfa06. Observe up to45min; if still live then, one exact dequeue, no automatic re-entry. Integration/main checks and later patch publication remain required; released3.3.1 is unchanged.

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 9, 2026 07:13
@rmcdaniel
rmcdaniel added this pull request to the merge queue Nov 9, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

One queue entry accepted at2026-11-09T07:13:12Z, position1, stateQUEUED; exact head eb35eef and empty-queue/main guards passed. Ceiling2026-11-09T07:58:11.413986+00:00. No source push or rerun. Observe the merge group, then signed parents/tree/current-main checks; no release selected by enqueue.

Merged via the queue into main with commit 241867a Nov 9, 2026
63 checks passed
@rmcdaniel

Copy link
Copy Markdown
Member Author

#1112 merged at07:38:46UTC as signed main 241867ab07b45a5cd30fe48361e0b2d2c0298613, still current main. Ordered parents[0b383e5,eb35eef5], treeb86bfa06 equals the reviewed source. One queue entry resolved inside its45min ceiling; no dequeue, cancel or re-entry. Actual-main workflows are running and the topic remains until their terminal result. This is integration custody only, not3.3.2 publication or installed acceptance. #1068 and #1075 remain open through delivery.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Actual-main result on241867ab is terminal NONPASS on managed CodeQL infrastructure, not a full green custody claim. All original product workflows passed: Shared42580646709, PHPUnit42580646550, Sonar42580646552 and Boundary42580646518. Managed run42580645989 attempt1 has Rust/Python/JavaScript success; Actions129038263409 failed Initialize CodeQL on4download attempts for codeql-bundle-actions-linux64.tar.zst with504, before analysis. LogSHA25671862081f8386106e5f8b5f4c0dfad0b6199bdf662d9e6f0456f908519ee7990. The original failed run is retained; no rerun or cancellation.

Both source and queue were green, and source head eb35eef already obtained all4CodeQL language analyses on the reviewed tree. The main merge is signed, has ordered parents[0b383e5,eb35eef5] and exact treeb86bfa06; its only missing analysis is the managed Actions download. GitHub's default-setup job retry route is known unsupported from #1110, so it will not be repeated or the configuration altered.

General revises the agent-chosen sequencing to allow the already planned, legitimate two-file3.3.2 release-source PR to enter ordinary draft CI from241867ab. This does not call this main green or waive analysis: the release-source candidate and final release commit must obtain normal required/source/security checks before a tag/publication. The version/notes change is needed to deliver #1068/#1075, not an empty retry commit. Both feature topics stay retained while qualification is incomplete. No tag, image, alias or release effect is selected by this decision.

@rmcdaniel
rmcdaniel deleted the feat/general-1075-coherent-describe branch November 9, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant