docs: env-profile + validation-gate redesign - #162
Merged
Conversation
Design deliverable for the build-chain campaign (#155 Phase 3), built on the decided invariant (human, 2026-07-16): NumPy stays the validated release reference for ag/al (option (a) rejected on the over-reach guard + measured JIT compile cost), and the mechanism is fixed — the hand-enumerated JAX folder lists become one derivation rule (jax_*/*_jax/*_jit), marker/env mismatches fail loudly at the runner, one resolver with a scrubbed baseline replaces the drifted fork whose hardcoded env_vars.yaml blinded the PR gate, and a PR-time validate_env_profiles check closes the 24h nightly feedback loop. Eight-step migration, each green on its own; docs only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 16, 2026
Open
This was referenced Jul 16, 2026
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.
Summary
Design deliverable for #161 (build-chain campaign #155, Phase 3):
docs/env_profile_redesign.md. Docs only — the migration lands as the doc's 8 separately-green steps, each behind its own plan.The decided invariant (human, 2026-07-16): in
mode=releasethe NumPy path stays the deliberately-validated reference surface for ag/al (option (a) — flip to production-default JAX — was rejected on the brief's over-reach guard plus the measured compile-time constraint from autolens_profiling#71), and the mechanism gets fixed:jax_*/*_jax/*_jitpath markers). Verified: every existing override matches exceptdatabase/scrape/(decided at migration step 4; no exception list).SimulatorImagingstatic false-positive class; replaces the loud-warning fix that adversarial review killed).run_smoke.py's fork (whose hardcodedenv_vars.yamlmakes the PR gate structurally unable to see the release profile) importsautobuild/env_config.py; resolution starts from a scrubbed allowlisted base env instead ofos.environ.copy().validate_env_profiles): both profiles parsed and fully resolved per script in seconds at PR time — the seed incident's ~24h nightly feedback loop becomes ~1min.profile_smoke/release.yaml; the curatedsmoke_tests.txtkeeps the word.Corrects the session-1 checkpoint's wrong "no DISABLE_JAX pins remain" claim in the verified map, with the error's shape recorded (it is the design's own justification).
Shipped under the human-authorized corrective-PR exception for Heart RED (standing this session). PR-open only; merge stays human.
API Changes
None — documentation only. (The migration's library step — folding al's duplicate
PYAUTO_DISABLE_JAXread intoaf.Analysis— is flagged as its own future plan.)Test Plan
Generated by the PyAutoLabs agent workflow.