PRD: Packaged infrastructure artifacts #537

Merged
didericis merged 16 commits from feat/pinned-infra-artifacts into main 2026-07-27 17:00:54 -04:00
Collaborator

Closes #536.

PRD 0083: Packaged infrastructure artifacts

Summary

Publish immutable, commit-addressed release bundles containing the verified wheel plus digest-pinned orchestrator, gateway, Claude, Codex, and Pi images and checksum-pinned Firecracker artifacts. Docker, Apple Container, and Firecracker acquire those assigned identities instead of rebuilding fixed infrastructure at startup.

Add an arbitrary-ref publish-artifacts workflow for deployment testing, exact-commit installer selection with an unqualified-snapshot warning, and tag-driven staging/production qualification. RC and stable releases run the complete pre-release suite first, reuse the same immutable commit bundle, verify a clean install, publish qualified tag pointers, and monotonically advance their channel.

Schema

The packaged schema-1 manifest contains source commit, five OCI digest references, and two Firecracker artifact versions/checksums. Durable commit bundles live under bot-bottle-builds/<sha>; qualified tags and mutable channels point to those immutable bundles.

Merge rules

  • Production startup never invokes a fixed-infrastructure builder.
  • Built-in agent images are built, smoke-tested, published, and consumed by digest on every backend.
  • Only the verified wheel is published, after all named artifacts exist.
  • Tag releases pass the full backend qualification flow before release/channel publication.
  • Unit, lint, type, package, and required CI gates pass.
Closes #536. [PRD 0083: Packaged infrastructure artifacts](https://gitea.dideric.is/didericis/bot-bottle/src/commit/a750a242d105beb7e647b8697d5f8d47684de5ff/docs/prds/0083-packaged-infra-artifacts.md) ## Summary Publish immutable, commit-addressed release bundles containing the verified wheel plus digest-pinned orchestrator, gateway, Claude, Codex, and Pi images and checksum-pinned Firecracker artifacts. Docker, Apple Container, and Firecracker acquire those assigned identities instead of rebuilding fixed infrastructure at startup. Add an arbitrary-ref `publish-artifacts` workflow for deployment testing, exact-commit installer selection with an unqualified-snapshot warning, and tag-driven staging/production qualification. RC and stable releases run the complete pre-release suite first, reuse the same immutable commit bundle, verify a clean install, publish qualified tag pointers, and monotonically advance their channel. ## Schema The packaged schema-1 manifest contains source commit, five OCI digest references, and two Firecracker artifact versions/checksums. Durable commit bundles live under `bot-bottle-builds/<sha>`; qualified tags and mutable channels point to those immutable bundles. ## Merge rules - Production startup never invokes a fixed-infrastructure builder. - Built-in agent images are built, smoke-tested, published, and consumed by digest on every backend. - Only the verified wheel is published, after all named artifacts exist. - Tag releases pass the full backend qualification flow before release/channel publication. - Unit, lint, type, package, and required CI gates pass.
didericis-codex added 1 commit 2026-07-27 11:08:07 -04:00
docs(prd): define packaged infrastructure artifacts
prd-number-check / require-numbered-prds (pull_request) Failing after 8s
tracker-policy-pr / check-pr (pull_request) Successful in 8s
63595f123a
didericis-codex marked the pull request as work in progress 2026-07-27 11:08:28 -04:00
didericis added 2 commits 2026-07-27 11:14:46 -04:00
docs(prd): activate packaged infrastructure artifacts
prd-number-check / require-numbered-prds (pull_request) Successful in 11s
tracker-policy-pr / check-pr (pull_request) Successful in 17s
lint / lint (push) Successful in 3m41s
test / unit (pull_request) Successful in 1m8s
test / image-input-builds (pull_request) Successful in 1m4s
test / integration-docker (pull_request) Successful in 1m12s
test / coverage (pull_request) Failing after 13s
a27b1a5fe9
didericis added 1 commit 2026-07-27 11:30:11 -04:00
test(infra): cover malformed release manifests
test / image-input-builds (pull_request) Successful in 48s
lint / lint (push) Successful in 1m3s
test / unit (pull_request) Successful in 58s
test / integration-docker (pull_request) Successful in 1m2s
test / coverage (pull_request) Successful in 20s
prd-number-check / require-numbered-prds (pull_request) Successful in 17s
tracker-policy-pr / check-pr (pull_request) Successful in 10s
d8c5532168
didericis-codex marked the pull request as ready for review 2026-07-27 11:46:09 -04:00
didericis added 1 commit 2026-07-27 12:22:04 -04:00
fix(release): publish only verified wheel
prd-number-check / require-numbered-prds (pull_request) Successful in 15s
test / image-input-builds (pull_request) Successful in 42s
test / unit (pull_request) Successful in 56s
test / integration-docker (pull_request) Successful in 1m1s
test / coverage (pull_request) Successful in 15s
tracker-policy-pr / check-pr (pull_request) Failing after 12m49s
a2113b7f43
didericis added 1 commit 2026-07-27 12:35:02 -04:00
docs(prd): define complete release flow
prd-number-check / require-numbered-prds (pull_request) Successful in 10s
tracker-policy-pr / check-pr (pull_request) Successful in 18s
test / coverage (pull_request) Successful in 50s
test / image-input-builds (pull_request) Successful in 46s
test / integration-docker (pull_request) Successful in 1m6s
test / unit (pull_request) Successful in 58s
93190d5e0c
didericis-codex marked the pull request as work in progress 2026-07-27 12:35:10 -04:00
didericis added 1 commit 2026-07-27 13:01:02 -04:00
feat(release): define commit-addressed bundle index
prd-number-check / require-numbered-prds (pull_request) Successful in 8s
lint / lint (push) Successful in 59s
tracker-policy-pr / check-pr (pull_request) Successful in 12s
test / integration-docker (pull_request) Waiting to run
test / coverage (pull_request) Blocked by required conditions
test / image-input-builds (pull_request) Has started running
test / unit (pull_request) Has started running
46b7e06b37
didericis added 1 commit 2026-07-27 13:03:03 -04:00
feat(release): pin first-party agent images
lint / lint (push) Successful in 1m15s
test / image-input-builds (pull_request) Successful in 1m12s
test / integration-docker (pull_request) Failing after 2m47s
tracker-policy-pr / check-pr (pull_request) Failing after 11m49s
test / unit (pull_request) Failing after 12m1s
prd-number-check / require-numbered-prds (pull_request) Failing after 12m6s
test / coverage (pull_request) Has been skipped
9f65ab016d
didericis added 1 commit 2026-07-27 13:09:21 -04:00
feat(release): publish immutable commit bundles
prd-number-check / require-numbered-prds (pull_request) Successful in 10s
tracker-policy-pr / check-pr (pull_request) Successful in 20s
lint / lint (push) Successful in 1m1s
test / unit (pull_request) Successful in 56s
test / integration-docker (pull_request) Successful in 1m0s
test / coverage (pull_request) Failing after 23s
test / image-input-builds (pull_request) Successful in 2m31s
249eaff53d
didericis added 1 commit 2026-07-27 13:10:27 -04:00
feat(installer): select immutable release bundles
prd-number-check / require-numbered-prds (pull_request) Successful in 11s
lint / lint (push) Successful in 1m2s
test / unit (pull_request) Successful in 58s
test / integration-docker (pull_request) Successful in 1m3s
test / image-input-builds (pull_request) Successful in 1m0s
tracker-policy-pr / check-pr (pull_request) Successful in 12s
test / coverage (pull_request) Failing after 20s
efa1c8ee4b
didericis added 1 commit 2026-07-27 13:12:05 -04:00
feat(release): publish qualified channel pointers
prd-number-check / require-numbered-prds (pull_request) Successful in 12s
tracker-policy-pr / check-pr (pull_request) Successful in 12s
lint / lint (push) Failing after 1m2s
test / integration-docker (pull_request) Waiting to run
test / image-input-builds (pull_request) Has started running
test / coverage (pull_request) Blocked by required conditions
test / unit (pull_request) Has started running
7abcb2c7df
didericis added 2 commits 2026-07-27 13:14:23 -04:00
feat(release): automate artifact and tag flows
tracker-policy-pr / check-pr (pull_request) Successful in 12s
test / image-input-builds (pull_request) Successful in 59s
test / unit (pull_request) Successful in 1m1s
test / integration-docker (pull_request) Successful in 59s
test / coverage (pull_request) Failing after 19s
prd-number-check / require-numbered-prds (pull_request) Failing after 10m50s
lint / lint (push) Failing after 10m52s
89d2ba7e82
didericis added 1 commit 2026-07-27 13:18:46 -04:00
docs(prd): finalize complete release flow
prd-number-check / require-numbered-prds (pull_request) Successful in 17s
lint / lint (push) Successful in 1m4s
tracker-policy-pr / check-pr (pull_request) Successful in 17s
test / image-input-builds (pull_request) Successful in 1m9s
test / integration-docker (pull_request) Failing after 2m58s
test / unit (pull_request) Failing after 11m2s
test / coverage (pull_request) Has been skipped
4544899c79
didericis added 1 commit 2026-07-27 13:25:06 -04:00
ci: rerun release flow checks
prd-number-check / require-numbered-prds (pull_request) Successful in 9s
tracker-policy-pr / check-pr (pull_request) Successful in 15s
test / image-input-builds (pull_request) Successful in 41s
test / unit (pull_request) Successful in 59s
test / integration-docker (pull_request) Successful in 1m2s
test / coverage (pull_request) Failing after 20s
a750a242d1
didericis added 1 commit 2026-07-27 13:29:12 -04:00
test(release): cover publication failure paths
prd-number-check / require-numbered-prds (pull_request) Successful in 8s
lint / lint (push) Successful in 58s
test / image-input-builds (pull_request) Successful in 42s
test / integration-docker (pull_request) Successful in 1m5s
test / unit (pull_request) Successful in 2m50s
test / coverage (pull_request) Successful in 42s
tracker-policy-pr / check-pr (pull_request) Successful in 5s
47cb50db4b
didericis-codex marked the pull request as ready for review 2026-07-27 13:36:31 -04:00
didericis merged commit 6f997bf118 into main 2026-07-27 17:00:54 -04:00
didericis deleted branch feat/pinned-infra-artifacts 2026-07-27 17:00:58 -04:00
Sign in to join this conversation.