Skip to content

Bootstrap: committed gen-0 argv driver still fails parseAndCompile on every input (re-#23468) #26756

Description

@PurHur

Category

bootstrap · Pillar 1 trust / gen-0 seed honesty (php-compiler-strict bootstrap gate)

Problem

#23468 closed, but the committed seed is still non-functional. user_release_ready stays green only because BOOTSTRAP_GEN0_DRIVER_FUNCTIONAL_GATE defaults off.

Repro Expected Actual (master 2026-08-02)
make bootstrap-gen0-driver-functional-smoke driver compiles never-seen script → runnable binary matching Zend parseAndCompile returned null; exit 1
./script/release-readiness.sh --json should fail trust when seed cannot compile user_release_ready: yes (functional gate opt-in)
php script/bootstrap-gen0-staleness.php fresh seed from current lowering stale — bytes from 9e6b9c12a (2026-06-15); 7799 lowering commits + 275 manifest restamps; provenance unverified-restamp

Helloworld/north-star5-fast stay green via workarounds (prelinked smoke main / stale-sidecar reuse), not because the committed argv driver works.

php-src reference

N/A — bootstrap seed / self-host trust gate (see docs/roadmap/RELEASE-PLAN.md item: gate gen-0 on function, not stamp).

PHP implementation target

  • Rebuild prelinked/bootstrap-gen0/bin-compile-aot via script/bootstrap-gen0-refresh-argv-driver.sh (Zend compile of bin/compile.php with full CLI argv knobs) — refuse publish unless functional smoke passes.
  • Default-on BOOTSTRAP_GEN0_DRIVER_FUNCTIONAL_GATE=1 in script/ci-defaults.env once the seed is honest (docs/local-ci-matrix.md).

Repro

./script/docker-exec.sh -- bash -lc 'make bootstrap-gen0-driver-functional-smoke'

Done when

  • make bootstrap-gen0-driver-functional-smoke green on committed prelinked/bootstrap-gen0/bin-compile-aot
  • php script/bootstrap-gen0-staleness.php no longer reports unverified-restamp for the argv driver
  • BOOTSTRAP_GEN0_DRIVER_FUNCTIONAL_GATE=1 is default in script/ci-defaults.env and ./script/release-readiness.sh --json still reports user_release_ready: yes
  • No stamp/manifest restamp without a build receipt from the refresh script

Notes

Prior exclusive spine refresh (agent-harness-phpc-gen0-6099e, 2026-08-01) failed after ~120m with Undefined constant "defined" while compiling TimezoneAbbreviationsData.php. Current master can AOT-compile a require-wrapper of that file alone — argv-driver-only refresh is the smallest path to restore the seed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:toolingTooling / CI / docsbugSomething isn't workingimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-0:FoundationPhase 0 – foundation & DevEx

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions