build: isolate Pixi integration environments - #7
Merged
Conversation
Make the root Pixi environment bootstrappable without submodules and retain recursive checkout as the explicit full integration setup. Run the pinned upstream static site through a locked PEP 723 Pixi script that initializes only its recorded site and theme gitlinks. Exercise the same non-recursive path on Linux and macOS CI. Retire the legacy CON task and Pages facade from main while preserving it in repository history. Co-Authored-By: Codex Desktop 26.803.61601 (runtime codex-cli 0.147.0-alpha.6.5) / gpt-5.6-sol <codex@openai.com> Codex-Reasoning-Effort: high
Restore the optional service-backed upstream contracts in a locked, scoped environment. Keep recorded tasks reproducible and fail closed on dirty component checkouts, while parallel worktree tasks preserve candidate commits and edits. Document how Milestone 1-3 capabilities map into Milestone 4 and call out the remaining live public-pool snapshot limitation. Co-Authored-By: Codex Desktop 26.803.61601 (runtime codex-cli 0.147.0-alpha.6.5) / gpt-5.6-sol <codex@openai.com> Codex-Reasoning-Effort: high
Run the annex status refresh under the verified absolute worktree, then restore the caller's exact submodule configuration. This avoids git-annex resolving a relative worktree outside GitHub's nested runner checkout. Co-Authored-By: Codex Desktop 26.803.61601 (runtime codex-cli 0.147.0-alpha.6.5) / gpt-5.6-sol <codex@openai.com> Codex-Reasoning-Effort: high
Add a read-only PID-keyed semantic diff between the prepared public-pool cache and the live upstream collection. Print bounded field-level changes, retain exact details in ignored JSON, and expose an explicit strict mode without replacing the cache. Clarify that the service-backed stack is a required engineering capability even though downstream consumers do not require it. Co-Authored-By: Codex Desktop 26.803.61601 (runtime codex-cli 0.147.0-alpha.6.5) / gpt-5.6-sol <codex@openai.com> Codex-Reasoning-Effort: high
leej3
force-pushed
the
agent/isolate-pixi-environments
branch
from
August 14, 2026 14:45
0cd9826 to
b8a86d9
Compare
Define the experimental downstream plugin boundary, the evidence-versus-canonical review contract, and the gates required before the common host can graduate into the template. Co-Authored-By: Codex Desktop 26.803.61601 (runtime codex-cli 0.147.0-alpha.6.5) / gpt-5.6-sol <codex@openai.com> Codex-Reasoning-Effort: high
Link the downstream Zotero implementation and the stacked DataLad evidence review. Record the fail-closed collection rename result and the reproducible candidate inventory. Co-Authored-By: Codex Desktop 26.803.61601 (runtime codex-cli 0.147.0-alpha.6.5) / gpt-5.6-sol <codex@openai.com> Codex-Reasoning-Effort: high
Collaborator
Author
|
AI-generated draft — not reviewed by John The post-milestone metadata source-adapter goal is now part of this branch in The first two concrete proofs are:
The live Zotero review caught a collection-policy rename that would otherwise appear to remove 146 candidates. The DataLad run found 19 source-only candidates and enrichment evidence for 60 matched records, and reran to the identical output tree. Neither proof promotes canonical metadata. |
leej3
marked this pull request as ready for review
August 14, 2026 18:24
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.
AI-generated draft — not reviewed by John
Summary
checkout;
checkout-submodulesas the explicit exact recursive setup for broadcross-component work;
Pixi environments;
components, plus worktree modes that preserve candidate commits and edits;
successors;
public pool; and
surface.
Why
The previous root environment declared Python packages from uninitialized
submodule paths. Pixi therefore needed those submodules before it could create
the environment containing the checkout helper—a circular bootstrap. It also
mixed engine development, the historical CON migration stack, Hugo, Node, and
git-annex into one lock and task namespace.
Submodules remain the reviewed source-level dependency pins. They are not root
environment prerequisites. Each upstream deployment task now initializes the
exact repositories it needs, including nested submodules, before resolving its
own locked dependencies.
Two policies make upstream development explicit:
component worktrees; and
*-worktreetasks initialize only missing repositories and preserve currentcommits, tracked edits, and untracked files.
This supports coordinated work across upstream repositories without letting a
validation command silently discard the work being tested. Once component
changes are committed and their gitlinks are recorded, the clean recorded tasks
and hosted workflow establish the next known-good parent stack.
Capability audit
Milestone 4 carried the complete accepted content and supported product
behavior forward: 186 canonical and 13 reference records, the 199-record and
185-page projection, 186-node/467-edge graph, assets, project-path behavior,
credential-free editor review bundles, Zotero evidence, offline operation,
deterministic builds, and rollback. Its traceability baseline maps all 106
parent Python methods, five Playwright definitions/nine executions, 42 Zotero
methods, and eight editor methods with no unmapped source assertion.
The audit did find one execution gap: 19 assertions for the required
service-backed engineering stack were described as retained but no longer ran
from
main. This PR restores the 14 detailed service tests and the five formerintegration concerns through a scoped full-stack contract. The service stack is
a first-class engineering integration capability; only the downstream static
consumer is designed not to require it.
The new capability map distinguishes carried product behavior,
engineering-only functionality, and intentionally superseded milestone
mechanisms.
Task surface
build-upstream-static,serve-upstream-staticbuild-upstream-static-worktree,serve-upstream-static-worktreecheck-upstream,serve-upstreamcheck-upstream-worktree,serve-upstream-worktreetest-upstream-fullruns the isolated service and orchestration contracts.diff-upstream-poolverifies the prepared cache manifest, fetches the livepublic collection without replacing the cache, and reports added, removed, and
field-level record changes by PID. It writes the exact ignored JSON report to
build/upstream-stack/pool/live-diff.json; differences are informational unlessthe script's explicit
--checkmode is selected.The manual
Engineering environmentworkflow runs the live recorded full-stackcheck on a selected parent ref after this workflow is available on
main.Known limitation
The static recorded deployment is reproducible from Git, annex, and tool pins.
The full deployment pins its software stack, but a fresh checkout still fetches
the current public pool snapshot. The historical capture contained 4,978
records; this review found 4,979. The ignored cache is digest-checked and reused,
and the new diff makes subsequent live drift explicit. True bit-for-bit
full-data reconstruction would still require an explicitly licensed immutable
snapshot artifact. This PR records that boundary rather than silently
republishing the live pool.
Verification
assertions;
clean afterward;
built successfully and preserved it exactly;
writes were rejected, editor writes were confined to protected incoming, UI
and schema assets passed, and all child services stopped cleanly;
semantically identical at digest
ca43704f89afb75c29ecd9b338c018177e5e696a3bc821e0ded661ce8b269c6c;--check; andgit diff --checkpassed.The pull-request matrix runs the root suite, recorded and worktree static builds,
and isolated full contracts on Ubuntu 24.04 and macOS 14 without making ordinary
PR checks depend on mutable public-pool availability.