Repository navigation
Move the Shared Server fixtures reference to published 2.11.4 - #805
Merged
Merged
Conversation
…ncy key Published Server 2.11.3 and 2.11.4 (Core 2.14.2) change three answers native gives differently from 2.11.1: - The repair-pass report adds service_call_dispatch_candidates, service_call_dispatches_enqueued and service_call_dispatch_failures for its dispatch outbox. Native runs a call's handler when it accepts the call, so it never has a dispatch to enqueue and reports zeros. - An execute request's wait_timeout_seconds is bounded at 60 (#775's update-wait ceiling, extended to update-bound operations), not 86400. - A dispatched activity or carrier handler's metadata names its service_call_idempotency_key; a call dispatched when it is accepted has none, so it is null. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Published 2.11.3 adds poll_transport to every task-queue list and detail entry (WorkerPollDiagnostics::snapshot). Native keeps no record of worker polls that ended early, so it reports the observation store's unavailable state, as PHP does without its cache, and never claims no_recent_observation. Native also returns the ordinary JSON response to every poll, declining the opt-in progress transport, which the contract allows because SDKs must accept both (server#325 comment 6432802069). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The published PHP reference was Server 2.11.1. It is now Server 2.11.4, Core 2.14.2: source ad3ac5f, images amd64 sha256:bee30cde… and arm64 sha256:cc297aa7…, as General and Security verified them. The SDK, CLI, Waterline and sample-app pins are unchanged. - tests/Fixtures/ServerParityBaselines/php-2.11.4.json is the new baseline. Every reference pin (image pulls, the PHP runner image, the script defaults) names it. - The existing-PHP takeover cohorts now expect the php-2.11.3 layout: 2.11.4 has no schema change. - repair-pass expects the three dispatch-outbox counts, and service-calls the 60-second wait bound and the null service_call_idempotency_key in handler metadata. - service-calls no longer repeats an idempotency key from another caller namespace. Published 2.11.3 and 2.11.4 replay the first call for that caller and rebind its handler identity, the defect Workflow #931 corrects; the correction refuses the foreign caller. The step returns when a release carries the correction. Nothing else in the fixture referred to that call, and its contract says so. 90 requests. Checked: CI's fixture selection recorded against published 2.11.4 on SQLite; before the boundary only service-calls differed, in the replayed-from-another-caller step and three steps that follow from it. After it, repair-pass, service-calls and storage-test pass against both 2.11.4 and native from this branch, and the two records compare equal. The service-calls contract test passes 22/22. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The checkpoint names the verified 2.11.4 artifacts, the Core 2.14 expectation changes native now follows, the poll_transport position and the Workflow #931 boundary, with what was checked. The Rust port's current state lists #799 and #801 as merged, #803 and this move as next, and 2.11.4 as the compared reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This PR's first run failed in two places: - ServerParityImagePullTest pins the reference pull as a regex (php-2\.11\.1), which the pin move did not match. It now names php-2.11.4. The whole comparator unit batch passes (2417). - The update-wait ceiling execution test sent a 61-second wait to an update-bound operation and expected 501 for the unserved handler kind. With the 60-second bound, that request is now a validation failure before routing, as published 2.11.3 answers; a 60-second wait still reaches the unserved kind. Both are asserted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This PR's second run failed every cohorts part: the php2111 takeover cohort, which takes over a database published 2.11.1 creates (image bf8bed13…), was told to expect the php-2.11.3 layout and its 51 tables. The move treated its six DW_PARITY_UPGRADE_EXPECTED_LAYOUT lines as reference pins; they are not. Each takeover cohort names its own source release and layout and never uses the parity reference, so the six lines are php-2.11.1 again and the workflow no longer changes any expected layout. The checkpoint said otherwise and is corrected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 27, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 27, 2026
On SQLite the published PHP reference shares one database file with its one-second maintenance loop. Under that writer contention it has answered the first call to a limited service operation with 429 twice: rated[0], one call per minute, on 2.11.1 (merge queue run 40418397301), and held[0], one call in flight, on 2.11.4 (run 40463072450). Each dropped an otherwise-green merge group. The SQLite job already records update-validation apart from its main corpus with PHP's maintenance loop stopped (Server #723), and retries the PHP record once under a fresh prefix when PHP logged "database is locked" (#754). The helper now takes an optional fixture name and records service-calls the same way, under service-calls-* evidence names. Its fresh-prefix retry also gets a fresh namespace and admission counters, since the fixture's namespace derives from the workflow id. The fixture's assertions are unchanged, and the MySQL and PostgreSQL jobs keep service-calls in their main corpus with their loops running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
12 tasks
Member
Author
|
Merged through the merge queue at 2026-10-27T08:23:34Z.
|
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.



Part of #325. This moves the Shared Server fixtures' published PHP reference from 2.11.1 to Server 2.11.4 (Core 2.14.2):
ad3ac5fda0a30a58084b2d68569f2d91e23fabf3;sha256:bee30cde…;sha256:cc297aa7….General and Security verified these artifacts (#802, server-325 chat 2846 and 2848).
1. Native follows Core 2.14 (
7b5ada605)service_call_dispatch_candidates,service_call_dispatches_enqueuedandservice_call_dispatch_failures. Native runs a call's handler when it accepts the call, so it has no outbox and reports zeros.wait_timeout_secondsis bounded at 60 (Update completion wait_timeout_seconds is caller-unbounded #775), not 86400.service_call_idempotency_key, which is null for a call dispatched when it is accepted.2.
poll_transportin task-queue views (a4c1de7af)Published 2.11.3 reports
WorkerPollDiagnostics::snapshoton every task-queue list and detail entry. Native records no early poll disconnects, so it reports{"status":"unavailable","retention_seconds":900,"last_disconnect":null}, as PHP does without its cache. It never claimsno_recent_observation.Native returns the ordinary JSON response to every poll, declining the opt-in progress transport. The contract allows this, because SDKs must accept both (#325 comment 6432802069).
3. The reference move (
e5d2aeb15)tests/Fixtures/ServerParityBaselines/php-2.11.4.jsonis the new baseline. The SDK, CLI, Waterline and sample-app pins are unchanged.All 40 reference pins name it: image pulls, the PHP runner image and the script defaults.
The takeover cohorts are unchanged: each names its own source release and layout (
php2111still takes over published 2.11.1 asphp-2.11.1).The 2.11.4 API route table equals 2.11.1's apart from the poll-progress middleware, so the route inventory stands.
repair-passandservice-callsexpect the Core 2.14 answers above.Boundary for Workflow #931:
service-callsno longer repeats an idempotency key from another caller namespace.Nothing else in the fixture referred to that call, and the fixture's contract says why. It now has 90 requests. The step returns when a release carries the correction; until then native keeps 2.11.1's separate call.
Fixes after the first runs
912f49a6d: two tests the move had left on 2.11.1.php-2\.11\.1); it now names 2.11.4. The comparator unit batch passes 2417/2417.0a64b6ede: the move had also changed thephp2111takeover cohort's expected layout tophp-2.11.3, and every cohorts part failed its table count. Those six lines are not reference pins and are restored; the workflow no longer changes any expected layout.4. Docs (
2bf5fdfee)A checkpoint (
docs/rust-server-port-checkpoints/2026-10-27-reference-2114.md) and the refreshed current state.Checks run
update-validation) recorded on SQLite against published 2.11.4. Before the boundary, onlyservice-callsdiffered: the replayed-from-another-caller step and the three steps that follow from it.repair-pass,service-callsandstorage-testpass against both 2.11.4 and native from this branch, and the two records compare equal.5. SQLite qualification boundary for
service-calls(7f6564f53, added after queue attempts)Two of this PR's three merge-queue groups failed on the published 2.11.4 reference, not on native: PHP answered
service-callsheld[0]with 429 on the first call to a one-in-flight operation (runs 40463072450 and 40466604924), under SQLite writer contention from its own maintenance loop (Server #796; evidence in #796 comment 6436288360). The SQLite job now recordsservice-callsapart from its main corpus with PHP's maintenance loop stopped, the boundary #723 already uses forupdate-validation. That includes #754's single fresh-prefix retry afterdatabase is locked. Fixture assertions are unchanged; the MySQL and PostgreSQL jobs keepservice-callsin their main corpus with their loops running. Remove the boundary when the reference carries the #796 fix. Its unit tests pass 14/14 in the 2.11.4 image, and both organization policies pass.CI runs the full selection on all four databases.
🤖 Generated with Claude Code