Skip to content

Preserve update lock bounds and qualify service scheduling contracts - #945

Merged
rmcdaniel merged 1 commit into
mainfrom
fix/942-full-contract-qualification
Oct 26, 2026
Merged

rmcdaniel merged 1 commit into
mainfrom
fix/942-full-contract-qualification

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Full target-branch qualification of #943 found that workflow-update bindings could wait while an idempotency transaction held locks. This restores the accepted-only nested update guard, preserving inline service dispatch and its terminal result or typed failure. Fixtures now use explicit scheduler authority, canonical completion protocol headers and the internal scheduler marker. PR CI runs all six affected unit families on MySQL.

Merged as d60ce5f60e70b834c5d4ef142c3d5dc415cd39fe, tree 675082c4bc86810467f9abaf852868b8144c95fb, identical to Security-cleared candidate c51f806d1774f4766d71a761e3e2e43e1caf21d3. The remote branch is deleted and verified absent.

Verification: focused 203 tests / 4,675 assertions, PHPStan, ECS and corpus-policy controls passed locally and in PR CI. Full corrected-main qualification passed all applicable jobs, including 5,013 unit cases / 71,655 assertions and 93.63% combined line coverage. Exact-source Security review is accepted.

Workflow 2.14.2 is published at that exact merge commit. Published verification passed all 16 Laravel/PHP upgrade cells. Normally installed Nexus qualification passed 12/12 scenarios, and #899 installed qualification passed on SQLite/MySQL/PostgreSQL. Addresses #942; it remains open only for Server #784 adoption and actual consumer acceptance.

@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security exact-source review: source-cleared at c51f806, tree 675082c4bc86810467f9abaf852868b8144c95fb, parent efde90b. The only production change restores byte-for-byte the four-line nested-transaction update guard removed by d14b83c: while the owning call connection is transactional, force accepted-only waiting and remove the completion timeout, preventing a completion wait while the idempotency transaction holds locks. The remaining five files align tests with already-required internal after-commit authority/protocol semantics and add the six affected families to the MySQL PR gate. The protocol header is test-only; the internal scheduler marker remains non-public capability state. No public authorization, replay/codec, persistence schema, secret, dependency, or release identity changes are present, and diff-check is clean.

Clearance is source-only. Exact-head hosted quality, pr-unit-contracts, and pr-feature-mysql must finish successfully; after merge, full target-branch qualification must pass before the held 2.14.2 publication or Server #784 artifact acceptance. Any source change requires exact-successor review.

@rmcdaniel
rmcdaniel merged commit d60ce5f into main Oct 26, 2026
23 checks passed
@rmcdaniel
rmcdaniel deleted the fix/942-full-contract-qualification branch October 26, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant