Repository navigation
Bind isolated host Python for CLI and Sample PHP runtimes - #383
Conversation
|
CLI's remaining test-minor work is cli#148, current source The common no-DB base/CA/Brotli files exactly reuse SDK PHP source4d37a42d. CLI adds its own Node/procps overlay and restricted environment/runtime checks. The local PHP8.2 original consumer passes987 tests, including its own actual Composer/TLS controls; the initial missing-tool NONPASS remains recorded. cli owns a separate PHP8.5 local qualification now. SDK PHP owns the shared PHP8.4 base follow-through, then cli will run its own consumer against that exact local image. No duplicate shared-base build or inherited caller qualification. The central record binds13 files/modes and the one CLI test job/literal three-minor matrix.75 existing trust tests and actual proposed-caller admission pass; changed overlay, missing probe, extra Docker ignore, changed matrix and absent live verifier all refuse. Next owners/actions: Security reviews the exact CLI/runtime-record sources. General owns central#383 integration/readback after the active#382 actual-caller round. cli then activates the registered runtime and owns actual PHP8.2/8.4/8.5 hosted/main qualification. The activation is held until that source record is accepted. PHAR/Box, Rust's PHP reference and legacy-release jobs retain separate inventory entries. Delivered CLI#147 remains limited to its qualified stock8.3 cell; shared#297 stays open. |
|
Local PHP8.5 qualification passes at exact CLI source The actual The probe confirms PHP8.5.12, all required CLI/PHPUnit modules and process functions, production INI, coverage-none, procps and Node22.23.4. The real Composer ambient-positive/selected-clean TLS refusal passes. Exact75587fc3 Composer verification before install and scripts passes against public CA SHA25650f79f98. Original install and full CLI suite pass:987 tests/18422 assertions,11 existing PHPUnit deprecations, one existing live-Server skip. Only one CLI build ran at a time, extension compilation used-j2, probes/consumers kept their declared CPU/memory/PID caps and all containers were removed. The temporary APT source checkout is removed; small diagnostic records remain on owned disk-backed scratch through review. No production credentials or vault reads. PHP8.2 and8.5 local consumers now pass. PHP8.4 waits for the shared base owner's exact image, then cli runs its own consumer. Central#383 admission, Security's exact-source verdict and actual hosted/main qualification remain separate pending gates; caller activation stays held. The13 admitted source hashes are unchanged between the earlier recipe packet and current684e025. |
|
Security source/trust PASS for exact head The sole delta adds one closed
I independently reran the complete 75 Composer trust/runtime/scoping controls and the 24 container-source/compose controls; all passed. Current hosted checks are also terminal green. This is approval of the inert exact-source record only. PR #383 is behind current main and must receive a normal parent refresh; if its own JSON delta remains byte-identical, a bounded exact-head countercheck is sufficient. It does not activate CLI #148 or qualify PHP 8.2/8.4/8.5 hosted callers. CLI must change the exact workflow only after the accepted central record, preserve the immediate live Composer verifier and ordinary commands, then obtain current-head hosted/main evidence. Any record/source/scope change requires full re-review. |
|
Security HOLD — do not merge the current CLI runtime record. The parent-only refresh at The record must not be accepted merely because its refresh is byte-identical. Wait for CLI's corrected exact source using isolated host Python plus shadow-import regressions, then update every changed file hash/mode in this closed record, rerun the actual proposed caller and the negative mutations, and obtain exact-head Security counter-review and fresh required CI. Existing target/job/command/matrix/environment scope remains the intended boundary; no widening is authorized. |
|
Corrected source: The marker-only regression proves both working-directory The exact corrected setup ran under a deliberately poisoned Only one of the13 bound runtime files changes: Central#383 remains HOLD. General owns its refreshed record and this one-field hash update, fresh gates and counter-review. Security must review the corrected CLI/record heads. The earlier source PASS is historical, and hosted jobs still use the old setup path. Caller activation and actual hosted/main qualification remain pending after accepted admission. |
|
|
Independent Sample App scope PASS at policy Compared with base The candidate Composer validator accepts the complete frozen workflow sources and enumerates exactly five request steps: ci/test steps 8 and 10, ci/microservice-test step 8, composer-lock-audit/audit step 8, and playground-journeys/journeys step 9. A complete canonical Git archive produces the same five results as the private checkout. The predecessor catalog refuses the corrected consumer at the setup hash, establishing the intended before/after. Independent actual-consumer refusal controls pass for removing the live verifier separately from each of the four registered jobs, removing every live verifier from the complete workflow set, changing the setup bytes, making the setup group/other writable, and adding an unreviewed Dockerfile-specific exclusion file. Thus the setup remains setup authority only: it cannot replace the clean bootstrap or fresh live verifier, and whole-target enforcement survives removing all guards. All 75 focused |
|
Security catalog countercheck: PASS for exact head The successor delta from
No other CLI/Sample recipe input, selector, target/job/command scope, image binding, or policy code changed in this successor. Both replaced source blobs are the isolated-host-Python corrections already reviewed by Security; the predecessor hashes are no longer admitted. Independent exact-head checks:
Before merge/activation, retain the owner-requested exact-head positive proposed-consumer checks plus mutations proving each old hash and wrong/missing changed file refuses. This catalog PASS does not itself run either caller or inherit local container evidence into hosted acceptance. |
rmcdaniel
left a comment
There was a problem hiding this comment.
PASS: independent CLI proposed-caller and mutation countercheck of frozen policy 27564ac against CLI source ed5908f30320aebed6af160aa73d2526d3e36111.
The only file changed from accepted base 8629846 is the runtime catalog. Existing records are unchanged except the stated Sample setup hash replacement. The CLI entry differs from the originally reviewed 9ce34c5 entry only in the corrected setup SHA. All 13 hashes and Git modes match exact CLI source, including setup SHA 376959ca3cf6ab96600d6d8c1715c62de4236864496f594671f22592c27c985d. Target, job, command, literal matrix, environment fields and both required absences remain unchanged. Whole-target CLI Composer enforcement remains true; policy and selector code are unchanged.
The exact proposed CLI workflow passes this frozen policy. It is reconstructed from ed5908f with only the remaining test job's Ubuntu 24.04 pin and replacement of mutable PHP setup by the pinned APT-source checkout and exact registered runtime command. All original commands, isolated contract tests, immediate Composer guards and aggregate gates remain. Proposed complete build.yml SHA-256: 3ae810843c827802b0316e445817ca460773d9f0a9b17c86cece0eb9252b9c99.
Independent negative controls all refuse for the expected trust reason: changed CLI overlay, missing runtime probe, either additional Dockerfile-specific ignore file, altered PHP matrix, deletion of the first test verifier, deletion of the second test verifier, deletion of both test verifiers, and deletion of all eight verifier actions across the target. Restoring the exact source/caller passes. All 75 Composer trust/runtime contract tests also pass.
This is source/policy countercheck evidence only. No image build, workflow activation or runtime experiment was performed. General retains current CI, merge and main readback; Security retains the corrected source/record trust verdict. CLI owns the later workflow-only adoption and actual hosted 8.2/8.4/8.5 plus main qualification after accepted admission.
|
Delivered through normal merge at All three actual-main workflows succeeded: Repository checks, Push on main, and SonarQube. Security's exact catalog review and both independent proposed-consumer positive/mutation reviews are recorded above. CLI may now activate its reviewed caller against this accepted policy and qualify its original hosted matrix. Sample App may rerun only the failed policy/aggregate jobs on unchanged #343, then complete its own normal checks, merge and main verification. These are caller follow-through actions; this record does not claim those results. Remaining #297 profiles stay open. |



Bind the isolated host-Python setup recipes reviewed in CLI #148 (
ed5908f) and Sample App #343 (f847a62). The corrected selectors and TLS entry points refuse planted workspace/PYTHONPATH modules before setup effects.The new CLI record remains confined to its test job, literal PHP 8.2/8.4/8.5 matrix, exact command, three runtime selectors, 13 source/mode identities and two required exclusion-file absences. Its existing whole-target Composer enforcement remains required. Replace only the existing Sample App setup hash with its corrected isolated source; its other runtime/build identities and scope remain unchanged. No selector or policy implementation changes.
Validation: independent source reviews and predecessor-failing marker controls passed for both consumers. Corrected CLI PHP 8.5 setup/TLS/guard and all 987 tests pass under poisoned PYTHONPATH; both unchanged Sample PHP 8.4/8.5 images pass actual Composer TLS controls. Current exact-record trust tests, proposed-caller/mutation checks and hosted CI remain merge gates. General owns integration/readback; each repository owner retains its actual hosted caller, merge/main and remaining-profile qualification. No profile-wide completion is claimed.
Refs #297, durable-workflow/cli#148, durable-workflow/sample-app#342, durable-workflow/sample-app#343.