Skip to content

feat(base): add reproducible Debian package projection - #16

Merged
szmyty merged 1 commit into
mainfrom
agent/reproducible-base-image-1
Aug 30, 2026
Merged

szmyty merged 1 commit into
mainfrom
agent/reproducible-base-image-1

Conversation

@szmyty

@szmyty szmyty commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • project the canonical base profile into a reproducible Debian Trixie image for linux/amd64 and linux/arm64
  • pin the Dockerfile frontend, MCR base index and platform manifests, Debian snapshots, signed metadata, and resolver keyring
  • commit exact architecture-specific apt locks and verify their semantic relationship to the catalog, profile, configuration, and Dockerfile during builds
  • add installed-package provenance, offline verification, non-root smoke tests, refresh/change-report tooling, Task commands, and non-publishing native CI

Scope reconciliation

Issue #1 predates Realm's finalized capability/profile architecture. Its original reproducibility requirements still apply: immutable inputs, exact package locks, deterministic installation, installed-package evidence, refresh tooling, CI validation, and an informational size baseline.

The later architecture decisions define where that machinery belongs:

Accordingly, this PR projects the merged base = realm-base + common-cli contract onto the repository-selected Debian Trixie base. Debian follows the source and profile policy established by PR #3; it is not a second package policy introduced by the Dockerfile.

The broader toolchain remains explicitly owned:

This PR establishes and reports the base-size baseline without preempting #6's full-image budgets.

Validation

Completed before push:

  • 46 unit and contract tests
  • offline apt configuration and lock validation
  • amd64 and arm64 replays against their signed snapshots
  • pinned OCI index and platform-manifest verification
  • same-snapshot refresh with byte-identical locks and an empty classified change report
  • Bash syntax, ShellCheck, JSON/YAML parsing, and git diff --check

The pull-request workflow passed on native amd64 and arm64 runners: image builds, exact installed-inventory verification, network-disabled smoke tests, and expanded-size reporting. It has read-only permissions and never publishes an image.

Size baseline

Architecture Base expanded (bytes) Result expanded (bytes) Delta (bytes)
amd64 940,758,919 966,050,411 +25,291,492
arm64 956,844,628 981,430,735 +24,586,107

These are informational expanded-size measurements from the successful native CI run; #6 owns the full-image budget.

Closes #1

Roadmap-Step: REA-Q03

Render the minimal Debian Trixie base profile through signed snapshots, architecture-specific locks, exact-version installation, runtime evidence, and native CI validation.

Roadmap-Step: REA-Q03
Signed-off-by: Codex <codex@openai.com>
@szmyty
szmyty merged commit 9039e1e into main Aug 30, 2026
3 checks passed
@szmyty
szmyty deleted the agent/reproducible-base-image-1 branch August 30, 2026 14:20
@devactivity-app

Copy link
Copy Markdown

Pull Request Summary by devActivity

Metrics

Cycle Time: 1h 34m

Achievements

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.

feat(devcontainer): add the reproducible pinned apt development toolchain

1 participant