Skip to content

ci(installer): trust prepared gateway runtime template - #11346

Merged
rsliter merged 6 commits into
mainfrom
codex/trust-11212-gateway-template
Sep 10, 2026
Merged

ci(installer): trust prepared gateway runtime template#11346
rsliter merged 6 commits into
mainfrom
codex/trust-11212-gateway-template

Conversation

@rsliter

@rsliter rsliter commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Outcome

The base-trusted installer parser accepts the exact gateway runtime preparation template needed by #11212. Other operational mutations remain rejected.

Reason

Installer CI executes the parser from the PR base. The platform fix cannot authorize its own runtime-file change, so this independently reviewed prerequisite must land first, following #10580.

Related issues

Unblocks #11212. Refs #11208.

Changes

  • Authorize normalized runtime digest b6e467dd20e1bcb27d26d40ccc56eaef2a0c1321537108884e0941661a840373 in the six release records with supervisor identities. Preserve their image, manifest, binary, and release identities.
  • Construct the prospective runtime in one shared test fixture. Exercise the real parser with every affected release selected and verify rejection of an altered supervisor registry.
  • Move existing installer-template fixture setup into its owning helper to keep the test file within its size limit. The production runtime remains unchanged.

Verification

  • The new acceptance test failed with the original template mismatch before the allowlist change.
  • Initial supervisor, installer-hash, and sandbox-build trust suites: 120 tests passed. Final supervisor and installer-hash suites: 112 tests passed, including all six release selections.
  • Source-shape validation passed without new exceptions. The diff contains no secrets, API keys, or credentials.
  • npm run validate:pr passed for 80cb0e03da5938ce70fda1a2926e879a65bb91c0 against canonical main 5b82037acb402862bb590ef57cb4d4c608e35ce7.
  • Both focused installer-trust suites passed again after integrating main: 112 tests. The protected runtime and intended five-file change remain unchanged. The previous d66fc41 candidate passed full CI and managed-image validation. Its activation DNS failure passed on one targeted rerun; retained artifacts showed cleanup succeeded. Current-commit CI and review results are recorded in checks and review comments.
  • npm run review:local could not produce findings: its temporary OpenShell gateway refused the connection during configuration, and temporary-file cleanup reported EACCES. Earlier GitHub Advisor reviews completed successfully. The latest attempt failed before findings because the shared service exhausted its budget; Rebecca explicitly confirmed Advisor is optional and its unavailability does not block this PR.

Review notes

Rebecca Sliter approved this prerequisite and authenticated GitHub CLI publication in the originating task. Local review of the dependent runtime at 9a097650ddbc58111138d27c6fae4e78d035dabc confirmed one preparation result supplies the gateway environment and TLS path without changing supervisor image or manifest identities. The prospective fixture reconstructs that runtime byte-for-byte before normalization.

All nine full Advisor reports for d66fc41 were reviewed. The optional suggestion to extract the digest into a constant does not correct a demonstrated defect; release-specific authorization remains the established policy owner and six-release tests cover membership. All other reports found no required change. The earlier release-selection test gap and unclear trust comments were repaired. CodeRabbit found no actionable issue.

The final base integration addresses the current-main merge gate. The prior candidate passed full CI and exact all-agent activation. Its two MCP discovery runs failed during external tunnel setup before product execution; their unchanged fixtures cleaned up successfully. The transport diagnostic does not establish a transient cause, so no blind retry or speculative product repair was made. Fresh checks will evaluate the refreshed candidate.


Signed-off-by: Rebecca Sliter 571084+rsliter@users.noreply.github.com

@rsliter rsliter self-assigned this Sep 9, 2026
@copy-pr-bot

copy-pr-bot Bot commented Sep 9, 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 Sep 9, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0e254801-a117-4d7b-9375-f2ea5c137d5d

📥 Commits

Reviewing files that changed from the base of the PR and between 081d86c and e375e13.

📒 Files selected for processing (5)
  • scripts/checks/extract-installer-pins.mts
  • test/helpers/openshell-installer-template.ts
  • test/helpers/prepared-gateway-runtime.ts
  • test/install/installer-hash-check.test.ts
  • test/install/installer-supervisor-manifest-trust.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/checks/extract-installer-pins.mts

Included review availability: Your plan provides up to 12 included reviews per hour; 4 remain after this review.


📝 Walkthrough

Walkthrough

The change centralizes installer fixture transformations, preserves existing trust values, and adds parameterized coverage for prepared gateway runtime templates across supported OpenShell releases.

Changes

Supervisor runtime trust

Layer / File(s) Summary
Installer fixture transformations
test/helpers/openshell-installer-template.ts, test/helpers/prepared-gateway-runtime.ts
Adds shared helpers for v0.0.106 operational trust mutations and prepared gateway runtime fixture conversion.
Installer trust coverage
test/install/installer-hash-check.test.ts, test/install/installer-supervisor-manifest-trust.test.ts
Uses the shared helpers and validates gateway-preparation templates across OpenShell releases 0.0.72 through 0.0.116. Test descriptions now identify the prepared runtime cases.
Runtime digest comments
scripts/checks/extract-installer-pins.mts
Rewords comments for six existing gateway-preparation runtime digests. Trusted values remain unchanged.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: cv, prekshivyas, cjagwani

Merge Risk: ⚪ Minimal · up to e375e

This change expands installer trust-parser coverage for prepared gateway runtime templates while retaining rejection coverage for altered supervisor registries. No current merge-blocking risk is identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the installer change to trust the prepared gateway runtime template. It is concise and directly related to the main objective.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/trust-11212-gateway-template

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

@rsliter

rsliter commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-code-quality

github-code-quality Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall line coverage in commit 80cb0e0 in the codex/trust-11212-ga... branch remains at 96%, unchanged from commit 56f4b62 in the main branch.

TypeScript / code-coverage/cli

The overall line coverage in commit 80cb0e0 in the codex/trust-11212-ga... branch remains at 83%, unchanged from commit 5b82037 in the main branch.


Updated September 10, 2026 16:22 UTC

@rsliter

rsliter commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rsliter

rsliter commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rsliter

rsliter commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

Copy link
Copy Markdown
Contributor

PR Review Advisor finished for commit d66fc41. Include the Advisor findings in the complete PR feedback collection. Verify and group valid findings before repair.

All previous runs

@rsliter

rsliter commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Reviewed all nine complete Advisor reports for d66fc41 from https://github.com/NVIDIA/NemoClaw/actions/runs/34423073564.

The reduction report suggests extracting the repeated prospective digest into a constant. I am leaving this as an optional refactor: each release record deliberately lists its authorized template identities, and the six-release parser tests protect membership coherence. A named constant could preserve that membership, but it does not correct a demonstrated behavior or security defect. The architecture report confirms the existing ownership model, and the security and verification reports found no required change. All other specialist reports are clear.

Full CI passed. The managed-image activation job failed once in a read-only Docker DNS probe before Deep Agents sandbox creation. The same probe passed earlier for OpenClaw and Hermes, neither the probe nor activation test changed in this PR, and retained cleanup.json reports all resources cleaned with no failures. Classified as transient runner/network failure; reran only job 102702308977 once under the maintainer's standing authorization. No code change or broad workflow rerun was made. Both MCP-discovery runs passed on the first attempt. The activation rerun remains in progress.

@rsliter

rsliter commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rsliter

rsliter commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Candidate 4841805 passed all 112 focused installer-trust tests, trusted local publication validation, and full CI: https://github.com/NVIDIA/NemoClaw/actions/runs/34480091864. All five commits have verified signatures. CodeRabbit finished its incremental review request without a new finding.

Fresh Advisor run https://github.com/NVIDIA/NemoClaw/actions/runs/34481673089 failed for all nine specialists with service HTTP 429 budget_exceeded. No fresh specialist findings were produced. This is a shared service budget blocker; an unchanged rerun will not resolve it until the service owner restores capacity. Keeping the candidate unchanged and draft pending that intervention and completed reviews.

Managed-image run https://github.com/NVIDIA/NemoClaw/actions/runs/34480091871 passed every image build, staging permission check, and exact all-agent activation. Both OpenClaw MCP discovery passes failed before product execution: the external quick-tunnel public HEAD /mcp probe failed after its three bounded attempts. Both retained cleanup.json files report successful fixture cleanup and no failures. The tunnel fixture and workflow are identical to the recorded main base. The available TypeError diagnostic does not distinguish DNS, TLS, or other transport causes, so no speculative code change or unchanged retry was made.

The parent #11212 remains dependent on this independently reviewed trust prerequisite. No merge gate was waived and neither PR has merged.

@rsliter

rsliter commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rsliter
rsliter marked this pull request as ready for review September 10, 2026 16:51
@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: install Install, setup, prerequisites, or uninstall flow chore Build, CI, dependency, or tooling maintenance labels Sep 10, 2026
@rsliter
rsliter requested a review from cjagwani September 10, 2026 17:13

@cjagwani cjagwani 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 the complete installer-trust delta and affected trusted parser path. The prospective runtime digest is limited to the six supervisor-bearing release records, reproduces exactly from the shared preparation fixture, and remains independently bound to release-specific image and manifest identities. The real parser accepts all intended selections and rejects altered runtime bytes. Focused trust suites passed 112/112; installer hash verification, exact-head CI, managed-image validation, self-hosted qualification, CodeRabbit, DCO, and commit verification are clean.

@rsliter
rsliter merged commit 1d3d357 into main Sep 10, 2026
66 checks passed
@rsliter
rsliter deleted the codex/trust-11212-gateway-template branch September 10, 2026 17:47
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 area: install Install, setup, prerequisites, or uninstall flow chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants