Repository navigation
Conversation
(cherry picked from commit 692626b)
(cherry picked from commit 315b09e)
(cherry picked from commit 8d5278b)
(cherry picked from commit 14bedb8)
(cherry picked from commit 6ae6cc6)
(cherry picked from commit 4f57fd4)
(cherry picked from commit 75bdba6)
(cherry picked from commit 16fdbc2)
(cherry picked from commit ce55e4b)
(cherry picked from commit 154c862)
(cherry picked from commit 7f1fddc)
10 tasks
Merge PR validatedpatterns-sandbox#156 to publish the 0.1.6 interceptor, then pin the verified digest and finish clean-install acceptance in the follow-up tracked by validatedpatterns-sandbox#157. Keep the temporary deployment gap explicit.
mtalvi
marked this pull request as ready for review
November 11, 2026 14:50
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Continues #152 and credits Saurabh Agarwal (@sauagarwa): all 11 source commits are replayed in order above upstream
main, preserving authorship and recording the original SHA withcherry-pick -x. PR #152 and its source branch remain unchanged.OpenShell CLI, gateway, supervisor and sandbox move to
0.1.6-rhaiv.4. Both tool-policy copies now allow explicit automation inspection and require approval for supported changes and execution. The installer verifiestools.fs.workspaceOnlyas the JSON booleantruebefore enabling filesystem tools; existing unconfined agents are stopped before policy replacement and stay stopped on failure. The owner-restricted custom-inference UI route is retained.Hadar301 review
Addresses the review on PR 152:
ca00b58applies the same explicit inspection/approval rules tocronandautomations; unsupported aliases and mixed interfaces remain denied. Node regressions coverrunversusruns, rejection/cancellation/timeout, wrappers, chaining, substitutions, conflicting command fields, audit rule IDs and copy parity. Supported commands were checked against the pinned OpenClaw release source.ca00b58checks set and JSON readback before plugin activation and before modifying an existing agent's policy. Follow-up commits1790b77and5e0a2cacover confirmed workload state, safe recovery ordering and startup discrimination. Fake-CLI regressions cover set/read errors, false/missing/malformed/nonboolean values, existing-sandbox repair, stopped-on-failure behavior and unchanged reapply for OpenClaw and NemoClaw.314b42bregenerates the default, direct and OIDC outputs; their only differences are the intended supervisor/sandbox image digests.ca00b58updates the Python expectations for explicit automation rules, identity persistence and workspace file tools.sandboxUi:314b42bretainsui.route: true, updates chart and portal expectations, and restores the sample inference hostname to opt-in egress.314b42bupdates image-builder version metadata and the example BOM and documents release publication requirements. Both generated catalogs and RHDH forms were regenerated and checked.Merge-first release plan — follow-up #157
The agreed sequence is merge this PR → publish the upstream 0.1.6 interceptor → merge a digest-pinning follow-up and complete clean-install validation. Publication, digest pinning and final deployment acceptance are tracked in issue #157, rather than being prerequisites for merging this PR.
mainand triggerbuild-governance-interceptor.yml. Existing main-only publication restrictions remain; PR builds do not push.ghcr.io/validatedpatterns-sandbox/governance-interceptor:v0.1.6and its immutable build tag.Temporary deployment gap: the chart still pins the published 0.1.2 interceptor (
sha256:253b58d070d3ed341287fcbab44684d84a437fcb9f26be5834ebf554a40ec22f). Preliminary acceptance used a matching local 0.1.6 build; it did not validate the shipped old-interceptor/new-gateway pair. Wait for the follow-up to merge and clean-install acceptance to pass before deploying the 0.1.6 upgrade frommain. Relabeling the old digest does not satisfy the follow-up.README, container-image documentation, the release guide, and chart comments describe this sequence and link #157.
Validation
Runtime validation baseline:
42c2e7ee2af251232249aba4e683ab23b1d24e70. The subsequent42229b1change updates release-plan documentation and chart comments only; chart values are unchanged andgit diff --checkpasses. Local full suite at the runtime baseline: 2082 passed, 3 skipped (2 require local cargo; 1 requires an APF bundle). All six native Rust admission tests passed in the preliminary interceptor build. Catalog freshness, Helm/rendered-shell lint, 86 entrypoint/interface tests, Python/Node tool-gate tests (10/28), OIDC templates (50), and offline NetworkPolicy (4) pass.All applicable checks on the runtime baseline passed: Python 3.12/3.14 and shared checks, deployment validation, catalog regeneration, interceptor amd64/arm64 builds, and gateway Docker/Podman build matrix. Publication/merge jobs were skipped by the existing PR restrictions.
Preliminary README Option A installation ran on fresh OpenShift 4.22.18/amd64 cluster
cluster-qpvbj, with Podman, credential proxy and governance enabled, GPU/web search disabled.make prereqs-checkwas deliberately omitted. The baseline had no Pattern CRD, SAW namespaces or virtualization installation; unrelated platform operators were preserved. All 16 Argo applications became Synced/Healthy.mtalvi:codex/openshell-016-pr152-e2eat8cd26cbb56c3c25cdadadb7fa731e47140be289d, based on the runtime validation baseline above. Its four-file difference from that baseline is configuration only: global/prod values, two test users, custom-inference endpoint/topology and preliminary image overrides. These inputs and all credentials are excluded from this PR.cbb486ffixes it and adds executable-payload regressions.42c2e7edocuments the deployed GUI secret field labels.exec-openclaw-automation-change. Denying it produced a rejected audit event and left no scheduled test job (the three builtin jobs remained).These are preliminary results with a deployment-only interceptor built from NVIDIA/OpenShell v0.1.6 (
ac7f615cd12d5cc49cb16eb1f5f10ffeb1e90f47) at internal digestsha256:d80a69d579e56b97182f12ababe2d055d65db1b9a02709fa1077c6f45dbb7c3e. They do not satisfy the public upstream default or final clean-install gate. After upstream publication, the follow-up tracked by #157 will pin the verified public digest, clean up the task-owned preliminary deployment, and repeat fresh Option A plus full acceptance. Those final deployment gates are deferred to the follow-up; they no longer block merging #156.