Repository navigation
Qualify the PHP 8.3 framework compatibility cells - #416
Conversation
|
The fixed-8.3 split passed central policy and its actual framework callers, but the full suite correctly caught an ordering assumption in The successor compares the complete cell set in canonical major/minor order, retains exact count/value matching, requires both owned framework job blocks, and checks minimum-install/version assertions within each job. A new negative control mutates the stock8.3 job's install to a caret range and must refuse it. Focused actual PHP run passes14 cases/85 assertions. All existing counterfactuals still pass. Earlier suite failures remain NONPASS; fresh current-head normal checks are required. |
|
|
Current exact head The full PHP support/Carbon suites also pass with the corrected complete-cell and per-job adoption checks. The new stock83-only caret mutation refuses, and all pre-existing counterfactuals remain. Local full central policy validation passed without changing its unconditional-setup rule. Initial conditional-policy and row-order suite failures remain NONPASS. Owner: sdk-php. Next: independent exact source/trust review, normal merge/tree/topic cleanup and actual-main caller qualification. A matching PHP8.3 embedded-v2 transition slice is prepared separately; it preserves Laravel |
|
Security exact-head review: PASS for SDK PHP #416 at I reviewed the complete two-file diff. The original eight framework cells remain present exactly once: the six non-8.3 cells stay in the existing job with their setup and consumer command bodies unchanged, while only Laravel 12/PHP 8.3 and Laravel 13/PHP 8.3 move to the new fixed The new job is an unconditional, closed profile rather than a matrix-conditional setup:
The final guard change is also sound: it canonicalizes the complete cell set rather than relying on source order, requires both named job blocks, validates the exact-minimum install/assertion sequence in each, and contains a dedicated mutation proving that a caret install in the stock-8.3 job is refused. Independent checks:
This verdict is scoped to the framework-matrix workflow migration and its aggregate/guard. It does not qualify #417's separate embedded-transition caller, publish a package, or broaden any policy/parser/profile authority. |
|
Delivered through normal integration: merge0f45771bf68238dfe9086e4a67783da2a8d5bbea has treea5f38784a983c6c5b03e34d282f2c8e3b21511c8, equal to Security-reviewed0326a460. The dependent417 PR was retargeted before deleting the old416 topic; GitHub404 verified. All four actual-main workflows are green, including CI43461121144. Both fixed stock8.3 Laravel12/13 callers passed qualified411a setup, actual PHP8.3.36/module checks and the original minimum-version/consumer/tracing/analysis paths. All eight framework tuples remain exactly present; the required aggregate includes both jobs. Complete-set/per-job adoption guards and the stock83-only caret-mutation refusal pass. Initial conditional-policy and ordering-assumption failures remain NONPASS. Owner: sdk-php. This completes the two matching stock8.3 framework cells. Six non8.3 framework cells remain for separate reviewed container recipes and actual callers; no PHP minor or framework support was removed, and no runtime/release authority is inferred. |



The two PHP8.3 Laravel compatibility cells still invoke the unqualified setup-php installer. Move those two exact entries to a fixed8.3 job using accepted stock Ubuntu24/PHP8.3 helper411a, explicit actual-version/module assertions, private Composer state, current242c trust controls and no persisted checkout credentials. The six other cells remain in their existing job for separate profile migration.
All eight framework/minor/version entries remain byte-identical and occur exactly once. Original consumer, version-pinning, role-isolation, static-analysis and tracing commands are copied unchanged, apart from the intended verifier pin in the stock job. The required aggregate now requires both framework jobs.
The first conditional-in-one-job attempt was correctly refused by central policy because setup trust must be unconditional. This successor preserves that policy and separates the fixed8.3 job; no central parser/admission change is proposed. Local full policy validation passes against the accepted central386 policy, plus matrix/command parity and diff/secret-pattern checks. Actual hosted all-eight qualification, independent Security review and main readback remain required.
Refs shared#297. Owner: sdk-php. #415's immutable3.18.2 release/installed acceptance stays separate; this branch changes no SDK runtime/package identity.