Skip to content

feat(images): compose shared image behavior without replacing CLI host policy - #388

Merged
Brian Krabach (bkrabach) merged 11 commits into
mainfrom
integration/image-consumer-main-20261105-ad2410
Nov 5, 2026
Merged

Brian Krabach (bkrabach) merged 11 commits into
mainfrom
integration/image-consumer-main-20261105-ad2410

Conversation

@bkrabach

@bkrabach Brian Krabach (bkrabach) commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Accepted dependency qualification

Imagegen #9 is accepted as 4f91e04e14195f0890a93e6794384bcc8abc1045; Foundation #450/#460 as 8834b895b74ff5ed047a9fd39e52b3506b06c2fa; Routing #85 remains accepted as ec9bdcf080df6da5057fc88cee0ec7a62a6c122d. The user explicitly authorized Main to admin-merge this reviewed candidate after qualification.

A fresh isolated installation of both exact qualified consumer wheels from anonymous canonical public dependencies passed on Python 3.13.16 / binary Core 2.0.2. Installed Git origins match those accepted commits. All 884 Unified and 282 CLI wheel payload files match. The real public Imagegen behavior fetch and Foundation composition preserve the root session and providers.

The installed graph passed 48 focused cases: 24 CLI composition/child-policy cases, 20 Unified admission/resume/receipt cases, and 4 shared Matrix/Imagegen routing cases. Unknown effects remain non-replayable and explicit exclusions remain effective. These are offline synthetic behavior checks, not paid vendor/image entitlement proof. Earlier source, installed-browser and locked CLI/Core 1.6.1 evidence below keeps its original identity. Two initial harness setup errors (unsupported uv flag and test-helper import path) were corrected and retained; no product source, test assertion or lock changed. Raw evidence remains private.

Publication and live adoption are separate from this source merge.

What changes

Fresh CLI sessions compose the external Imagegen behavior below the selected root, retaining root instructions, orchestrator/context, explicit image configuration and opt-outs. Portable image code and vendor selection remain outside CLI-owned data. Saved session snapshots receive no new defaults.

The CLI applies effective file/paid restrictions at fresh and child boundaries, including subprocess dispatch; independent child plans cannot mutate parents or siblings. Image-only overrides remain scoped to the declared module rather than unrelated tools. Existing startup, configuration, provider-source and terminal behavior from the accepted integration base is retained.

Exact source

  • Integration base: 631c4bdbcf3dcd2da20456ad6ccef386e778c101.
  • Qualified integration: 6c55a6899a9e719ddce2d5bf33a4122077933abf, tree 64294922c115a9bf12681ae60ccafb645479f792.
  • Final head: f19ff851468222dabda9fa4af72e3efffeb1190d, tree 4555c1b6aec30474a087e0d691c530704b47ff39.
  • Branch: integration/image-consumer-main-20261105-ad2410.

The final head changes only README and draft-contract status wording after qualification. Runtime, test and lock inputs are byte-identical to 6c55a689. The contract remains draft; it no longer implies that implemented composition is merely an unimplemented proposal. No release version is selected.

Independent qualification

The declared locked installation passed on Python 3.13.16, Core 1.6.1 and Foundation a5f91fc4765dd3c6a1496b400c4fe428e5aa06f2. The installed Foundation prepare_operation import passed.

  • 315 focused image composition, child policy, agent config, spawn isolation, patch-permission and merge checks passed from source in 1.89s.
  • The same 315 passed against the noneditable wheel in 0.69s. All 107 installed Python files matched the qualified source.
  • Qualified 6c55a689 wheel SHA256: 5ea44380e3e1602785851574656603cf00aaaaf0fefb03bb2bc3d7ceb49921ee. This identifies that package, not a package rebuilt after the documentation successor.

These tests use synthetic boundaries and make no paid provider calls. They do not establish the final installed CLI/Imagegen/routing graph's headless image delivery, live account entitlement or Unified browser acceptance. Earlier lifecycle proof stays tied to its original source; it is not relabeled current-graph proof. Raw evidence stays private.

No Core or provider implementation is changed and no host configuration is applied. Normal maintainer review and the existing release owner retain merge and delivery decisions. Review this as host composition/policy support, not proof that the complete cross-client feature has shipped.

@bkrabach Brian Krabach (bkrabach) left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Source and installed-package review is clear at f19ff851468222dabda9fa4af72e3efffeb1190d. I reviewed root/child composition, effective file and paid-action restrictions, preservation of explicit overrides and saved plans, and isolation from parent/sibling configuration. The final successor changes only README and contract status wording; runtime, test and lock inputs remain the qualified inputs.

The same 315 focused checks passed from source and against the noneditable wheel; these are overlapping runs, not 630 distinct cases. All 107 installed Python files matched. Current PR CI is complete with 9 successful checks.

Imagegen #9 remains an explicit upstream hold. After its normal approval/merge, qualify the actual accepted public CLI/Imagegen/routing graph before merge/release; synthetic policy tests and the current wheel checks do not establish live image delivery or account entitlement. Keep the current draft/dependency hold. This COMMENT records completed source review, not an approving review. Detailed evidence is retained privately.

@bkrabach
Brian Krabach (bkrabach) marked this pull request as ready for review November 5, 2026 09:26
@bkrabach
Brian Krabach (bkrabach) merged commit 446053d into main Nov 5, 2026
9 checks passed
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.

2 participants