Skip to content

ci(images): harden managed publication evidence - #8065

Closed
ericksoa wants to merge 200 commits into
mainfrom
feat/managed-image-publication-hardening
Closed

ci(images): harden managed publication evidence#8065
ericksoa wants to merge 200 commits into
mainfrom
feat/managed-image-publication-hardening

Conversation

@ericksoa

@ericksoa ericksoa commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Harden the managed-image publication evidence path without activating buildless onboarding. This is the first PR3.14A workflow-hardening slice for #7744.

Related Issue

Related to #7744

Changes

  • Pass reviewed workflow globs directly to the bounded first-parent Git query instead of expanding every matching path across full history.
  • Resolve manifest-list digests through structured Buildx format output instead of scraping human-readable text.
  • Replace brittle ordered-argv and source-marker assertions with semantic pathspec and executable promotion checks.
  • Remove redundant agent-display branching while preserving the exact all-agent and amd64/arm64 publication contract.
  • Keep production runtime selection and buildless activation unchanged.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification: This CI-only slice does not change CLI behavior, onboarding selection, runtime support, or user-visible workflows.
  • Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging)
  • Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: Maintainer-directed publication hardening for [Epic] Support native Podman with buildless managed onboarding #7744; exact digest, first-parent provenance, and atomic cohort semantics remain fail closed.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: no-docs-needed
  • Evidence: The exact slice only changes internal publication implementation and tests; no selectable runtime or documented user behavior changes.
  • Agent: Codex Desktop

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit:
  • Station profile/scenario:
  • Result:
  • Supporting evidence:

Verification

  • PR description includes a Signed-off-by line and the commit is signed
  • Dependency-backed repository, source-shape, and test-size gates passed on the exact head; exact-head CI supplies the remaining broad qualification
  • Targeted formatting and diff validation passed: Biome on all changed TypeScript files and git diff --check
  • Applicable broad gate passed — exact-head CI is running
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Exact-head focused verification passed: 47 publication and first-parent tests, repository checks, source-shape budget, test-size budget, Biome, and diff validation.


Signed-off-by: Aaron Erickson aerickson@nvidia.com

ericksoa added 30 commits July 30, 2026 14:50
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the exact reviewed tree while moving the stacked base to merged PR3.3.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the exact reviewed tree while moving the stacked base to restacked PR3.4a.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the exact reviewed tree while moving the stacked base to restacked PR3.4b.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.4b slice unchanged onto the CodeRabbit feedback fix for PR3.4a.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.5 slice unchanged onto the CodeRabbit feedback restack through PR3.4b.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.4b slice unchanged onto the serialized PR3.4a transaction contract.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.5 slice unchanged onto the serialized PR3.4a transaction contract.

The review patch remains unchanged through PR3.4b.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Restack PR3.4b without changing its review patch.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Restack PR3.5 without changing its review patch.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
ericksoa added 14 commits August 1, 2026 06:04
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5de3571b-178d-491f-9a92-4ce7ce6a36f5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@github-code-quality

github-code-quality Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 2860766 in the feat/managed-image-p... branch remains at 96%, unchanged from commit 5cd29cc in the feat/managed-image-p... branch.

TypeScript / code-coverage/cli

The overall coverage in commit 2860766 in the feat/managed-image-p... branch is 80%. The coverage in commit d47ffe5 in the feat/managed-image-p... branch is 81%.

Show a code coverage summary of the most impacted files.
File feat/managed-image-p... d47ffe5 feat/managed-image-p... 2860766 +/-
src/lib/onboard...trap/adapter.ts 0% 63% +63%
src/lib/onboard...strap/docker.ts 0% 64% +64%
src/lib/onboard...shared-state.ts 0% 68% +68%
src/lib/onboard...cker-journal.ts 0% 83% +83%
src/lib/onboard...der/snapshot.ts 0% 83% +83%
src/lib/onboard...one-rebinder.ts 0% 83% +83%
src/lib/onboard...load/rebuild.ts 0% 84% +84%
src/lib/actions...ne-providers.ts 0% 86% +86%
src/lib/state/r...ld-authority.ts 0% 89% +89%
src/lib/onboard...test-fixture.ts 0% 96% +96%

Updated August 01, 2026 15:23 UTC

@ericksoa
ericksoa marked this pull request as ready for review August 1, 2026 15:02
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / low confidence
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions
Status: PR review advisor failed: PR review advisor SDK execution failed: session: 400: {"message":"litellm.BadRequestError: AzureException BadRequestError - {\n \"error\": {\n \"message\": \"Invalid 'max_output_tokens': integer below minimum value. Expected a value >= 16, but got 1 instead.\",\n \"type\": \"invalid_request_error\",\n \"param\": \"max_output_tokens\",\n \"code\": \"integer_below_min_value\"\n }\n}. Received Model Group=azure/openai/gpt-5.6-terra\nAvailable Model Group Fallbacks=None","type":null,"param":null,"code":"400"}; turn: scope-risk-map-analysis: 400: {"message":"litellm.BadRequestError: AzureException BadRequestError - {\n \"error\": {\n \"message\": \"Invalid 'max_output_tokens': integer below minimum value. Expected a value >= 16, but got 1 instead.\",\n \"type\": \"invalid_request_error\",\n \"param\": \"max_output_tokens\",\n \"code\": \"integer_below_min_value\"\n }\n}. Received Model Group=azure/openai/gpt-5.6-terra\nAvailable Model Group Fallbacks=None","type":null,"param":null,"code":"400"}

Model lanes

  • GPT-5.6 Terra (primary): Failed
  • Nemotron 3 Ultra (second opinion): Failed

Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: cloud-inference, cloud-onboard, full-e2e, hermes-e2e, hermes-inference-switch, security-posture, bedrock-runtime-compatible-anthropic, channels-add-remove, channels-stop-start, dashboard-remote-bind, device-auth-health, hermes-shields-config, inference-routing, issue-4462-scope-upgrade-approval, network-policy, onboard-repair, onboard-resume, openclaw-inference-switch, rebuild-openclaw, state-backup-restore (+1 more)

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

## Summary

- add a protected build harness that produces an exact immutable managed
image contract for every shipped agent
- require independent amd64 and arm64 qualification inputs with
digest-pinned per-agent base images
- validate agent, platform, base-image, output-digest, and local-content
identity without publishing mutable aliases

## Stack

PR3.14B1 in #7744. Stacked on #8065. This slice is test and
qualification substrate only: it does not activate or advertise
buildless support.

## Validation

- focused contract tests: 5/5
- shellcheck and shfmt
- Biome format and lint
- CLI typecheck
- repository architecture checks
- commit and pre-push hooks

Closes no issue; contributes to #7744.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Base automatically changed from feat/managed-image-publication to main August 4, 2026 08:37

@cv cv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed commit eea54e921. The PR description defines a narrow managed-image publication hardening slice, but the effective diff contains about 100 files and 15,000 additions across image publication, three agent images, managed bootstrap, Hermes tool brokering, snapshots and clone restore, messaging, inference, onboarding, and runtime startup. Those changes do not all support the stated CI-only objective, and several create or alter supported runtime boundaries.

Do not resolve this conflict as one branch. Reconstruct the publication slice from current main with only the workflow, bounded evidence helpers, and directly protecting tests required by #7744. Put managed runtime, snapshot, broker, messaging, inference, and onboarding work into their accepted dependent slices with their own scope, security, lifecycle, and validation evidence. The current conflict is behavior-changing and the required checks are absent, so I did not apply an automatic merge.

@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions chore Build, CI, dependency, or tooling maintenance labels Aug 4, 2026
@ericksoa

ericksoa commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by clean consolidated replacement #8226. The donor heads remain preserved under backup/podman-stack/pr8065-source-2860766e and backup/podman-stack/pr8065-public-head-eea54e92.

@ericksoa ericksoa closed this Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants