Repository navigation
Prepare PHP SDK 3.18.1 and installed completion acceptance - #411
Conversation
rmcdaniel
left a comment
There was a problem hiding this comment.
Bounded Docs review at exact f82a672: the 3.18.1 product-train/changelog identity, admission-key versus GET unknown-key distinction, pending versus completed-null behavior and corrected qualified native3.9.1 request-key cohort are accurate. The previously reviewed #410 exception/manual clarification remains intact.
One narrow portal-guide completeness correction: docs/portal/build/messages.md now recommends Client::updateOutcome() unconditionally, while the SDK still supports older Servers and this method requires capabilities.update_outcome_reads (native3.6.0+). The existing sdk-reference.md states that gate and the LogicException refusal correctly. Please carry that same condition into this new portal paragraph: on a Server advertising update_outcome_reads, use the GET-by-ID method; without it the method throws LogicException rather than silently resubmitting. No code/runtime change is needed.
This review is limited to the prose/identity scope requested. It does not qualify the candidate archive, planner runtime/workflow changes, publication or installed acceptance. The SDK owner retains those existing gates and live portal follow-through. No local build or runtime experiment was run.
rmcdaniel
left a comment
There was a problem hiding this comment.
PASS for the bounded prose/identity review at exact 9a2213e. The portal retained-read paragraph now states update_outcome_reads (native3.6+), the completion default and typed pending/completed-null outcomes, plus LogicException rather than silent resubmission without the capability. Admission-key/unknown-GET-key semantics and the3.18.1 preparation identity remain accurate. This resolves review5891640414; no remaining finding in this requested prose delta.
Scope is documentation/identity only. The owner-reported first packaged Worker attempt remains NONPASS. SDK-PHP retains the meaningful repeat, package/runtime/workflow reviews, CI, qualified publication and live portal result. This review does not close shared212/216/228 or qualify all request-key inputs on native3.9.1; Server's Unicode-key defect remains separately owned. No runtime/build operation was performed.
|
Security source/release-harness PASS for current exact head The release delta contains no new The new qualifier's authority and evidence boundaries are sound:
The portal wording agrees with the implementation: Local Before tag/publication: all exact-head required checks must finish green; the packaged-candidate dist must be bound to this source and pass the real 3.9.1 within/over/follow-up cell; the final package approval/identity must pass independently; and the protected registry-only 3.18.1 repeat must match the published package reference. #407's connected qualification remains a separate prerequisite and this branch must receive its declared final accepted-base refresh/countercheck. No delivered #228 or registry claim is inferred here. |
|
Prepublication package/Worker PASS at exact source Qualified published native3.9.1 index946c65eb/source7d7ad9d6, Linux/amd64; PHP8.4.27. Actual ordinary limit2,097,152B, completion limit33,554,432B, external storage explicitly unconfigured. One real Worker process performed all three cases:
Both earlier120s normal-case timeouts remain NONPASS. Bounded child evidence showed one accepted4.16MB completion and99 completed activities, no worker exception/uploads. The smoke's run(1) serial idle delay caused the budget miss;985 changes only that fixture to run(0), as the existing installed smokes do, without increasing timeouts or changing SDK code. Current-head CI, independent exact-source/package review,407 accepted-base refresh, immutable publication, registry-only protected PHP8.3 repeat and actual live manual/API receipt remain required. No212/228 closure is claimed yet. |
|
Independent candidate/package countercheck for exact head Candidate identity and installed-source results:
Publication HOLD: the byte-identical candidate ZIP and installed package also contain executable Before tagging/publishing, either:
Then repeat the exact candidate archive/installed Worker proof, final-base checks, and post-registry identity/Worker acceptance. The earlier source/runtime PASS is preserved; this HOLD is specifically on publishing the current artifact inventory. |
|
Package-boundary correction at The existing installed-worker workflow now has an exact-SHA prepublication dist mode using the independently qualified Ubuntu 24/PHP 8.3 helper The earlier |
|
Prepare #411 directly on accepted main The 3.18.1 tag still requires exact final source/archive review, verified exclusion of internal CI tooling from the distributed package, all normal required checks, and fresh exact-package within/over-limit plus same-Worker follow-up proof through independently qualified stock |
|
Security HOLD on SDK #411 current exact Independent evidence:
Required correction:
The new protected candidate workflow uses |
Keep only the accepted container verifier pin and exact CA cleanup prerequisite; cooperative profile and fixture migration remain separate.
|
Corrected frozen source is The actual Composer 2.10.3 archive regression passes for ordinary and linked checkouts after excluding The earlier protected PHP 8.3.36 candidate 43437337979 passed the complete real Worker within/over/follow-up scenario on Server 3.9.1. The required exact-new-head repeat is 43438364516. Dispatch 43438301354 had a mistyped candidate input and was cancelled; it is not qualification evidence. Only the accepted |
|
|
Security final exact-head source/package/artifact review: PASS for The prior Composer-archive HOLD is closed. I independently replayed that regression in a credential-free/no-network immutable PHP 8.4/Composer 2.10.3 container. Both checkout shapes passed and no owned container remained. I also independently downloaded the exact-head GitHub ZIP:
The protected
The candidate Composer lock binds the local dist to exact reference Security therefore approves this exact source and candidate package for the normal release sequence once every required exact-head check is green. At this comment, 29 checks were successful, the connected job was intentionally skipped, and six ordinary PHP/docs checks were still in progress; no merge/tag/publication may bypass those gates. After protected publication, the registry/Packagist source+dist identity readback and registry-only installed Worker repeat remain required before the delivery claim is final. #407 and all withdrawn container-profile/catalog activations remain separate HOLDs. |
|
Merged normally as Main qualification is in progress. The portal 43439505497 first attempt is runner-blocked/NONPASS: helper No tag/publication exists. sdk-php owns terminal main/portal recovery, immutable publication, Packagist/registry-only Worker repeat and live stable manual/API clarification. Independent final source/package/artifact approval remains 6855192433; the source/package baseline is unchanged. |
|
PHP SDK 3.18.1 is published and installed acceptance passed.
The PHP release/installed/manual slice for shared #212/#228 is complete. General owns cross-product closure. Shared #216, timeout-cleanup delivery, #407 cooperative qualification and the held container profile/catalog remain separate. |
|
Root docs adoption is delivered via docs #536, merge The PHP guide explains typed/raw defaults, pending versus completed null, capability refusal and stable-ID recovery when the original key is unknown, linking the actual exact-tag SDK guide. The shared completion reference names only the qualified PHP 3.18.1/native 3.9.1 PHP8.3.36/linux-amd64/SQLite Worker receipt. Broader #216/native timeout and cross-product closure remain separate. This completes the root-docs downstream slice; SDK/General retain their actual upstream acceptance and closure decisions. |



Release the reviewed completion planner fixes from #406/#408 as 3.18.1. Workflow completions use the producer's advertised aggregate limit while retaining per-value limits and the conservative old-producer fallback. Continuation commands retain their separate authority. This patch also publishes #410's admission-versus-GET pending guidance in the stable manual/API for shared #212.
Version and quickstart identity move to 3.18.1; the ^3.18 onboarding channel and supported Server baselines remain. The distributed Composer/GitHub ZIP excludes internal CI workflows, Docker build inputs, CI scripts and tests. All 300 runtime/example/resource/configuration/public-contract inputs are retained byte for byte. The held container launcher remains unused repository source pending its separate correction and review.
The existing installed-worker workflow adds exact-SHA candidate-dist qualification and an explicit completion-limits mode on published native 3.9.1 index
946c65eb. Both use the independently qualified stock Ubuntu 24/PHP 8.3 helper411a14ac, private Composer state and the separate live242c2a7trust guard. The smoke loads only the installed SDK, runs 300×10KB activities, checks a single structural refusal for 60×450KB with zero partial activities, and then completes work in the same Worker process. Evidence contains only body sizes/counts/statuses and bounded diagnostics.Final diff is seven release/package/manual/smoke files against accepted main
fd228e0; #407's unmerged cooperative migration is separate. Exact source/archive/Security review, current checks and the fresh protected candidate run 43437337979 gate publication. Earlier local launcher-based installations are nonqualifying. A registry-only repeat and exact-tag live manual/API verification follow publication. No tag or deployment exists yet, and no timeout-cleanup/native capability or shared #216 claim is added.Refs durable-workflow/.github#228; durable-workflow/.github#212; durable-workflow/server#1136.