fix(seed): make inherited infra match the CTI stack, not the lensing stack#1
Merged
Conversation
…ing stack
The lightweight-seed birth copied autolens_assistant's "generic" infrastructure
verbatim, but two files carry lensing-stack assumptions that break on the CTI
stack — the same generic-vs-domain boundary leak the epic's Phase 0 fixed for
the file-classification layer, found one layer deeper (a workflow's install step
and an audit's module list are domain content, not framework).
wiki-currency.yml — the install step ran `pip install autocti` from PyPI (the
autolens shape, where the library is released). For CTI that:
- never installs arcticpy, a hard import of autocti but not a pip dependency
(source-only sdist; needs libgsl-dev + cython; its reqs downgrade numpy <2.0);
- pulls a pre-resurrection 2024 wheel, because the CTI release train is not yet
wired — grading the modern docs against it would pass vacuously. Leg 3's own
contract is "sources clone @ main, doc-pin truth, NOT the release wheel".
Now installs from the `main` source clones + the arcticpy recipe (mirrored from
autocti_workspace_test/.github/scripts/smoke_install.sh), keeping a pinned-PyPI
path for a future release-time workflow_call. PyAutoGalaxy is no longer cloned.
audit_skill_apis.py — autogalaxy was in the stack module lists (autolens sits on
autogalaxy; autocti does not — its deps are autoconf/autoarray/autofit). Probing
it made `--check-version` exit `not_installed` for a correctly configured CTI
user at session start (the AGENTS.md environment check). Removed from the four
hardcoded stack tuples.
Verified: `--check-version` now reaches the honest "no baseline — run
--write-baseline first" (a Phase 2-3 content artifact) instead of "import failed
/ autogalaxy missing"; `--scope all` still passes 10/10.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Author
|
CI confirms the fix works. The 2 remaining failures are both content, not infrastructure, and neither is fixable here:
Both are Phase 2-3 / reference-systemic. This PR's job — moving leg 3 from broken infrastructure to content-not-yet-authored — is done and verified. |
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.
Phase 1 follow-up on the autocti_assistant epic (PyAutoBrain#136). Makes the
newborn's inherited infrastructure match the CTI stack instead of the
lensing stack it was cloned from.
Why
The lightweight-seed birth copied autolens_assistant's "generic" tier verbatim.
Two of those files carry lensing-stack assumptions that break on CTI — the same
generic-vs-domain boundary leak Phase 0 fixed for file classification, one
layer deeper: a workflow's install step and an audit's module list are domain
content, not framework. This is only surfaceable by an actual birth.
What changed
.github/workflows/wiki-currency.yml— the install step. It ranpip install autoctifrom PyPI (the autolens shape, where the library isreleased). For CTI that:
pip dependency (source-only sdist; needs
libgsl-dev+ cython; its ownrequirements downgrade numpy below 2.0), so the install exited 3 and the checks
never ran;
yet wired (
draft/release/autocti/cti_release_train_wiring.md, human-required)— grading the modern docs against it would pass vacuously. Leg 3's own
contract is "sources clone @ main, doc-pin truth, not the release wheel."
Now clones the
mainsource trees first and installs from them + the arcticpyrecipe (mirrored verbatim from the proven
autocti_workspace_test/.github/scripts/smoke_install.sh), keeping a pinned-PyPIpath for a future release-time
workflow_call. PyAutoGalaxy is no longer cloned.autoassistant/audit_skill_apis.py— the stack module lists.autogalaxywas in them (autolens sits on autogalaxy; autocti does not — its declared
deps are autoconf/autoarray/autofit). Probing it made
--check-versionexitnot_installedfor a correctly configured CTI user at session start — the checkAGENTS.mdruns every code session. Removed from the four hardcoded stack tuples.Verification
--check-versionnow reaches the honest "no baseline — run--write-baselinefirst" instead of "import failed / autogalaxy missing". The remaining redness
is the missing
api_audit_baseline.json, which is a Phase 2-3 contentartifact (written once real skills are validated against the stack) — not
infrastructure.
--scope allstill passes 10/10; the module compiles; the workflow is valid YAML.wiki-currencycheck is expected to stay RED — honestlyEven with the install fixed,
--check-versionfails on no baseline (a Phase2-3 artifact). Writing a baseline now, against a bare seed with no validated
skills, would be gaming the gate — a vacuous green. So the check stays red
until content lands. What this PR does prove, readable in the run log, is that
the install step now succeeds (arcticpy + source stack) and the failure has
moved from broken-infrastructure to content-not-yet-authored.
clone-boundaryshould pass (skips — the newborn is not a clone reference).Boundary finding (carried to #136, for a systemic reference fix)
autolens_assistant's "generic" tier has absorbed lensing-stack assumptions(
autogalaxyspecifically; the PyPI-install shape;_bootstrap_skill.mdandmaintainer.mdname PyAutoGalaxy). The durable fix is reference-side — thesefiles need to be domain-parameterized or reclassified so future births
(autogalaxy_assistant, …) don't each re-hit this. Filed as follow-up on #136.
Part of #136 (Phase 1 completion). Newborn is private; publish waits on Phase 2-3.