Skip to content

feat(onboard): add portable capability provisioning contract - #8393

Open
apurvvkumaria wants to merge 11 commits into
mainfrom
codex/capability-provisioning-contract
Open

feat(onboard): add portable capability provisioning contract#8393
apurvvkumaria wants to merge 11 commits into
mainfrom
codex/capability-provisioning-contract

Conversation

@apurvvkumaria

@apurvvkumaria apurvvkumaria commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add a provider-neutral contract for declaring sandbox capabilities and resolving them into a deterministic bill of materials (BOM). This establishes the abstraction needed before Docker, Podman, or another runtime provider implements capability installation.

Changes

  • Add strict, versioned schemas for capability manifests, trusted catalogs, and resolved BOMs.
  • Accept only digest-pinned OCI artifacts, fixed NemoClaw-managed install prefixes, bounded relative PATH entries, named policy presets, and catalog-owned dependencies.
  • Reject mutable references, arbitrary commands or destinations, unsupported agents or platforms, malformed paths, dependency gaps, and dependency cycles.
  • Resolve requested capabilities and dependencies into a sorted, fingerprinted BOM without Docker or Podman instructions.
  • Keep the contract dormant until onboarding and runtime-provider facets consume it. A direct Docker change is insufficient because provider selection must remain outside the manifest and resolver.
  • Add focused positive and negative tests for schema validation and BOM resolution.

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: The contract is internal and dormant. It has no onboarding caller, CLI or configuration surface, catalog product surface, or runtime-provider implementation.
  • 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: Nine-category security review passed with no findings. feat(onboard): add portable capability provisioning contract #8393 (review)
  • 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: docs-updated
  • Evidence: Reviewed the completed five-file diff. The internal src/lib/onboard/capability-provisioning/README.md accurately documents the dormant capability manifest, catalog, and BOM contract, including rejection boundaries and activation prerequisites. No public documentation update is needed because no production module imports the contract, it has no onboarding caller, CLI or configuration surface, or runtime-provider implementation, and accepted epic [Epic] Support native Podman with buildless managed onboarding #7744 requires dormant slices to remain absent from public support documentation.
  • Agent: Codex Desktop (/root/docs_review_8393)

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 every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run validate:pr passed after refreshing origin/main when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: After integrating current main, the capability contract/resolver suites and the two base-regression suites passed 123/123 tests; the CLI build and CLI typecheck passed; the effective five-file contributor diff is unchanged and git diff --check is clean.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result:
  • 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)

Signed-off-by: Apurv Kumaria akumaria@nvidia.com

Summary by CodeRabbit

  • New Features

    • Added capability provisioning to resolve requested tools, runtimes, and skills into a platform-specific bill of materials.
    • Added deterministic fingerprints for resolved capability bundles.
    • Added validation for supported platforms, versions, dependencies, artifacts, installation paths, and policies.
    • Added dependency expansion with stable ordering and fail-closed handling for unsupported requests.
  • Security

    • Restricted provisioning to trusted, immutable artifacts and catalog-managed dependencies.
    • Excluded secrets, commands, scripts, mutable references, arbitrary destinations, and provider identities.
  • Documentation

    • Documented the provisioning contract, supported inputs, and current limitations.

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria apurvvkumaria self-assigned this Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a capability provisioning contract with strict manifest and catalog validation. It adds recursive, platform-aware BOM resolution with deterministic SHA-256 fingerprints. Tests cover malformed inputs, dependency handling, compatibility checks, immutability, and secret-free output.

Changes

Capability provisioning

Layer / File(s) Summary
Contract schemas and validation
src/lib/onboard/capability-provisioning/contract.ts, src/lib/onboard/capability-provisioning/contract.test.ts, src/lib/onboard/capability-provisioning/README.md
Adds versioned manifest, catalog, and BOM types. Parsers validate exact shapes, immutable artifacts, safe paths, references, dependencies, cycles, and rejected executable or secret fields.
Platform-specific BOM resolution
src/lib/onboard/capability-provisioning/resolver.ts, src/lib/onboard/capability-provisioning/resolver.test.ts
Adds recursive dependency resolution, agent and platform checks, deterministic sorting, immutable BOM construction, fingerprint generation, and fail-closed tests.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Caller
  participant Resolver
  participant ContractParsers
  participant Fingerprint
  Caller->>Resolver: Submit manifest, catalog, and target platform
  Resolver->>ContractParsers: Validate manifest and catalog
  ContractParsers-->>Resolver: Parsed contracts or contract error
  Resolver->>Resolver: Resolve dependencies and select artifacts
  Resolver->>Fingerprint: Hash unsigned BOM
  Fingerprint-->>Resolver: SHA-256 fingerprint
  Resolver-->>Caller: Immutable capability BOM
Loading

Suggested reviewers: ericksoa, jyaunches

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 and concisely describes the addition of the portable capability provisioning contract, which is the main change.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/capability-provisioning-contract

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

@github-code-quality

github-code-quality Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 70b32f1 in the codex/capability-pro... branch remains at 96%, unchanged from commit b5ac557 in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit 70b32f1 in the codex/capability-pro... branch remains at 81%, unchanged from commit b5ac557 in the main branch.

Show a code coverage summary of the most impacted files.
File main b5ac557 codex/capability-pro... 70b32f1 +/-
src/lib/onboard...flight-ports.ts 67% 33% -34%
src/lib/platform.ts 89% 84% -5%
src/lib/messagi...flow-planner.ts 91% 91% 0%
src/lib/onboard...-transaction.ts 93% 93% 0%
src/lib/inferen...ompatibility.ts 90% 90% 0%
src/lib/actions...idge-destroy.ts 83% 83% 0%
src/lib/core/immutable.ts 97% 97% 0%
src/lib/messagi...etup-applier.ts 68% 68% 0%
src/lib/onboard...ing/contract.ts 0% 91% +91%
src/lib/onboard...ing/resolver.ts 0% 92% +92%

Updated August 07, 2026 08:54 UTC

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/lib/onboard/capability-provisioning/README.md`:
- Around line 8-12: The README’s dormant-contract section must link the
remaining runtime-provider migration work and define observable completion
criteria. Update the paragraph describing the later runtime-provider facet to
include the relevant GitHub issue or PR link, and state concrete criteria for
Docker, Podman, and MXC support before the feature becomes user-visible.

In `@src/lib/onboard/capability-provisioning/resolver.ts`:
- Around line 78-85: Replace both capability ID localeCompare comparators in the
request traversal and resolved-capabilities sorting with a locale-independent
code-unit comparison so canonical ordering is stable across locales. Add a
regression test using punctuation-bearing capability IDs and assert the
resulting canonical order.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4c792beb-b000-4a45-95ce-1c24188aeb8c

📥 Commits

Reviewing files that changed from the base of the PR and between c6713c9 and 0b02076.

📒 Files selected for processing (5)
  • src/lib/onboard/capability-provisioning/README.md
  • src/lib/onboard/capability-provisioning/contract.test.ts
  • src/lib/onboard/capability-provisioning/contract.ts
  • src/lib/onboard/capability-provisioning/resolver.test.ts
  • src/lib/onboard/capability-provisioning/resolver.ts

Comment thread src/lib/onboard/capability-provisioning/README.md Outdated
Comment thread src/lib/onboard/capability-provisioning/resolver.ts Outdated
@github-actions

github-actions Bot commented Aug 5, 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: 429 status code (no body); turn: terminology-review: 429 status code (no body)

Model lanes

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

Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests.

E2E guidance

Advisory only. A maintainer can dispatch the default E2E suite against this exact revision.

Recommended E2E: onboard-repair, onboard-resume, cloud-onboard

Workflow run details

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

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Security review

Verdict: PASS. The current branch revision adds a dormant data contract and resolver with no runtime caller or installation mechanism. I found no security findings.

Category Result Evidence
Secrets and credentials PASS No credential values or secret-bearing fields are accepted or added. The secret scan passed.
Input validation PASS Parsers require plain records, exact keys, bounded arrays and strings, constrained identifiers, fixed install prefixes, relative traversal-free paths, and digest-pinned OCI references.
Authentication and authorization PASS Not applicable. The change adds no endpoint, identity, or authorization path.
Dependencies PASS No dependency or lockfile change.
Errors and logging PASS Errors include only validated identifiers and do not log input records or sensitive values.
Cryptography and data protection PASS The resolver uses SHA-256 only for deterministic BOM fingerprints. It adds no encryption or credential storage.
Configuration and security defaults PASS The contract rejects mutable references, arbitrary destinations, executable instructions, provider identities, and incomplete dependencies. It remains dormant.
Security testing PASS Negative tests cover mutable artifacts, arbitrary destinations, executable fields, traversal, inherited objects, dependency gaps, cycles, unsupported agents, and unsupported platforms.
Holistic posture PASS Resolution fails closed. Canonical code-unit ordering now prevents locale-dependent fingerprints, and reversed-input coverage protects deterministic output.

Files reviewed: src/lib/onboard/capability-provisioning/README.md, contract.ts, contract.test.ts, resolver.ts, and resolver.test.ts.

Verification: focused capability tests passed 8 of 8; Biome, repository checks, gitleaks, CLI type checking, commit lint, DCO, and normal pre-push hooks passed.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

PRA-1 is addressed in the current branch revision. The new regression resolves equivalent manifests and catalogs in opposite input orders, uses punctuation-bearing capability IDs, and verifies identical BOM objects and fingerprints. The focused capability suites pass 8 of 8 tests. The refreshed primary advisor now reports high confidence with 0 blockers, 0 warnings, and 0 suggestions.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Protected onboard-repair and onboard-resume E2E checks completed successfully. Ordinary CI, code scanning, documentation review, security review, DCO, commit verification, CodeRabbit, and the primary advisor are also green; all actionable feedback is resolved. The remaining gates are independent approval, final reconciliation after the release cut stabilizes main, and the active merge freeze.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@apurvvkumaria
apurvvkumaria requested a review from jyaunches August 5, 2026 21:59

@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.

Security review — PASS

Exact head: 8c907d60c0dfe1f4e6a5637aba88e14f460ff82f
Exact base: db31c286129e878c3356eed49f76ab259561e47e

I reviewed the complete five-file PR diff and its production-import boundary. No security findings remain.

  1. Input validation and trust boundaries — PASS. Manifest and catalog inputs require plain records with exact keys, bounded arrays and strings, closed agent/platform/kind enums, unique identifiers, and validated dependency graphs. Catalog data is explicitly trusted; caller-controlled commands and provider identities are not accepted.
  2. Authentication and authorization — PASS / not applicable. This dormant domain contract adds no command, handler, API, credential path, privilege boundary, or production caller.
  3. Secrets and sensitive data — PASS. The schemas contain no credential or secret fields. The resolved BOM contains only catalog-owned metadata and digest-pinned artifact references. The repository secret scan passed.
  4. Injection and command execution — PASS. The contract accepts no shell, package-manager, callback, executable instruction, or arbitrary destination. No subprocess or dynamic code execution was added.
  5. Network and SSRF — PASS / not applicable. No network request, URL fetch, socket, or provider operation was added. OCI references are syntax-validated and immutable by SHA-256 digest; this slice does not resolve or fetch them.
  6. Filesystem and path safety — PASS. Install prefixes are confined to /opt/nemoclaw/capabilities/<validated-id>. PATH entries must be bounded relative paths and reject absolute paths and ./.. traversal segments. This slice performs no filesystem mutation.
  7. Dependencies and supply chain — PASS. No dependency or lockfile changes were introduced. Artifact references require lowercase immutable SHA-256 digests; mutable tags are rejected.
  8. Cryptography and integrity — PASS. SHA-256 is used only to produce a deterministic, non-secret BOM integrity fingerprint from canonicalized validated data. Capability and policy ordering is locale-independent.
  9. Errors, availability, and observability — PASS. Contract sizes and string lengths are bounded, catalog gaps/cycles fail closed with typed errors, and diagnostics contain field/capability identifiers only—not secrets. The feature remains dormant with no production import or support claim.

Validation on this exact head: 8/8 focused tests; plugin and CLI builds; CLI typecheck; exact Vitest project membership (2,179 candidates across 7 projects); and the complete npm run check:diff gate, including lint, source-shape, test-size, secret scan, commit, pre-push, and version checks.

@apurvvkumaria
apurvvkumaria requested a review from ericksoa August 5, 2026 22:00
@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Final refreshed-branch validation is complete. The contributor patch remains the same five capability-provisioning files after reconciliation with current main. All commits are GitHub Verified and DCO-compliant; focused tests, build/type checks, documentation review, and the nine-category security review pass, and both review threads remain resolved.

Ordinary CI and both advisor lanes are green. The protected E2E controller selected onboard repair and onboard resume, and both journeys passed with no skips or pending tests.

This PR is technically ready for independent approval. It remains unmerged under the release-tag freeze.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Release status update: v0.0.103 has been cut and the merge freeze is lifted. The completed technical, documentation, security, and review-thread evidence remains current. The remaining gate is independent approval; once approved, I will reconcile the branch with current main, run the fresh repository-controlled gates, and use the normal protected merge path.

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

CI classification for the current branch revision:

  • Every required check passes. The installer integration retry also passed after the complete affected 58-test file passed locally.
  • The remaining all-agent managed runtime activation failure reports normalized Docker fields outside the declared deltas: AttachStderr, AttachStdout, and PortBindings. The same failure occurred on merged PR #8261, so this is inherited from main, not caused by this dormant capability-provisioning patch. The direct managed startup checks for OpenClaw, Hermes, and Deep Agents Code all pass.
  • The remaining Nemotron advisor lane ended in the known provider tool-order failure and produced no findings. The primary advisor and publisher are green.

No PR code change is indicated by either failure. The remaining repository gate is independent approval.

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Current-main refresh and local validation are complete. The contributor patch remains the same five capability-provisioning files after the signed merge from main.

Validation:

  • Focused contract and resolver suites pass 8 of 8 tests.
  • CLI type checking passes.
  • The full changed-diff gate passes, including formatting, lint, repository checks, source-shape and test-size budgets, secret scanning, commit lint, and pre-push checks.
  • Both prior review threads remain resolved.

Independent documentation review: PASS with no changes needed. The contract remains dormant with no production importer, runtime provider, CLI, configuration, or support claim. The internal README accurately describes the validated manifest, trusted catalog, immutable artifact boundary, deterministic BOM, and later provider qualification criteria. Documentation routes and generated variants pass.

Current nine-category security review: PASS with no findings. The parsers require plain records, exact keys, bounded values, constrained identifiers, digest-pinned OCI references, fixed managed install prefixes, and traversal-free relative paths. Resolution fails closed for catalog gaps, cycles, unsupported agents or platforms, and version mismatches. No dependency, credential, authorization, network, filesystem-mutation, or execution surface is added; SHA-256 is used only for the deterministic non-secret BOM fingerprint.

Fresh repository checks and automated reviews are now running. The remaining merge gate is independent approval; this PR will not be merged before approval and all required checks are green.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

CI classification for the current branch revision 9499363d7:

  • GitHub currently reports a Major Outage for Actions, including workflow failures, delayed starts, queued-job timeouts, and Actions API errors.
  • Representative failed jobs in the managed-image and pull-request workflows stopped while resolving or downloading GitHub actions. They received repeated Service Unavailable responses before branch code ran.
  • Local validation of the PR-owned capability-provisioning files passes: focused CLI tests 8/8, CLI build, CLI type-check, and Biome.
  • No hosted workflow rerun was issued while the outage remains active. The failed required checks must be rerun after GitHub reports recovery and must pass before merge.

No branch-specific failure is demonstrated by the current hosted logs. Independent approval is also still required.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Current-branch receipt refresh for revision 9499363d76:

  • Documentation writer review: PASS. All five capability-provisioning files are byte-identical to the previously reviewed versions. The internal README remains accurate, the contract remains dormant with no production caller or user-visible surface, and no user-facing docs/ page is required.
  • Security review remains applicable: the complete five-file contributor diff is unchanged from the reviewed content, including the digest-pinned OCI boundary, fixed install prefix, bounded relative paths, secret-free schema, dependency-cycle handling, and absence of commands or network access.
  • Local validation on the current branch passes: 8/8 focused tests, CLI build and typecheck, Biome, and README markdown lint.
  • The PR description now carries current documentation receipt metadata.

The remaining broad failures span unrelated jobs and include setup/action-download service-unavailable errors during the GitHub Actions incident. I am classifying those as infrastructure failures and will not create duplicate reruns during the outage. Independent approval and all required green checks remain mandatory before merge.

@apurvvkumaria
apurvvkumaria enabled auto-merge (squash) August 7, 2026 00:19
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@github-actions github-actions Bot added v0.0.105 Release target and removed v0.0.104 labels Aug 7, 2026
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

CI follow-up: I refreshed this branch with current main after classifying each failure.

Local validation on the refreshed revision is green: 123 focused tests, CLI build, CLI typecheck, diff validation, DCO, signature verification, and the documentation-writer review. Fresh required CI is now running. This PR still needs repository-routed human approval before it can merge.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

CI follow-up is complete for the current branch revision.

The only remaining merge gate is independent human approval.

@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.

Do not land this dormant abstraction without a current consumer. The PR explicitly defers onboarding and runtime-provider consumption, so its schema and resolver prove only self-consistency and can drift before use. Either include the accepted current consumer or remove the contract until that work exists. Also restrict OCI artifacts to a repository-approved registry and publisher boundary; a digest from untrusted.example is immutable but still attacker-controlled. Add accepted and rejected registry tests, refresh onto current main, and rerun required checks.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

This PR is now deferred for maintainer architecture and supply-chain policy direction.

The current scope intentionally has no accepted onboarding or runtime consumer, and the repository-approved OCI registry/publisher boundary has not been specified. Choosing a consumer, removing the contract, or selecting trusted publishers would define product architecture and supply-chain policy; I will not guess those decisions in a maintainer follow-up.

The current branch revision has green required checks and no unresolved review threads, so the earlier reported test failure is resolved. Work can resume once the accepted consumer/removal direction and trusted registry/publisher policy are recorded.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

CI follow-up: the current branch revision 70b32f1 has all five required gates passing.

The earlier failures belonged to a prior revision and cleared after the current-main refresh; no PR-specific test failure remains. The merge blocker is still cv's architecture and supply-chain request: an accepted current consumer plus a repository-approved OCI registry and publisher boundary. I am deferring this PR until maintainers decide those boundaries, with no merge or bypass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants