Skip to content

fix(seed): make inherited infra match the CTI stack, not the lensing stack#1

Merged
Jammy2211 merged 1 commit into
mainfrom
fix/seed-infra-cti-stack
Jul 17, 2026
Merged

fix(seed): make inherited infra match the CTI stack, not the lensing stack#1
Jammy2211 merged 1 commit into
mainfrom
fix/seed-infra-cti-stack

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

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 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 deliberately not a
    pip dependency (source-only sdist; needs libgsl-dev + cython; its own
    requirements downgrade numpy below 2.0), so the install exited 3 and the checks
    never ran;
  • pulls a pre-resurrection 2024 wheel, because the CTI release train is not
    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 main source trees first and installs from them + the arcticpy
recipe (mirrored verbatim from the proven
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.

autoassistant/audit_skill_apis.py — the stack module lists. autogalaxy
was in them (autolens sits on autogalaxy; autocti does not — its declared
deps are autoconf/autoarray/autofit). Probing it made --check-version exit
not_installed for a correctly configured CTI user at session start — the check
AGENTS.md runs every code session. Removed from the four hardcoded stack tuples.

Verification

  • --check-version now reaches the honest "no baseline — run --write-baseline
    first"
    instead of "import failed / autogalaxy missing". The remaining redness
    is the missing api_audit_baseline.json, which is a Phase 2-3 content
    artifact
    (written once real skills are validated against the stack) — not
    infrastructure.
  • --scope all still passes 10/10; the module compiles; the workflow is valid YAML.

⚠️ This PR's wiki-currency check is expected to stay RED — honestly

Even with the install fixed, --check-version fails on no baseline (a Phase
2-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-boundary should 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
(autogalaxy specifically; the PyPI-install shape; _bootstrap_skill.md and
maintainer.md name PyAutoGalaxy). The durable fix is reference-side — these
files 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.

…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>
@Jammy2211

Copy link
Copy Markdown
Contributor Author

CI confirms the fix works. boundary passes (the newborn correctly skips — Phase 0's guard, live in a real cell). wiki-currency's install step now succeeds — the stack imports with no arcticpy/autogalaxy error — and 3 of 5 checks pass (symbol audit, idiom, provenance).

The 2 remaining failures are both content, not infrastructure, and neither is fixable here:

  1. --check-versionno baseline (api_audit_baseline.json is a Phase 2-3 artifact; writing one against a bare seed would be a vacuous green).
  2. --check-citationsskills/_style.md cites autocti_workspace:scripts/imaging/start_here.py — the substitution fixed the repo name but scripts/imaging/ is the lensing-workspace layout; autocti_workspace uses dataset_1d/imaging_ci. Same boundary leak, content-side.

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.

@Jammy2211
Jammy2211 merged commit 9edcfad into main Jul 17, 2026
1 of 2 checks passed
@Jammy2211
Jammy2211 deleted the fix/seed-infra-cti-stack branch July 17, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant