Skip to content

NAP-CVM: Add runtime registry facade - #52

Merged
dskvr merged 2 commits into
nap-cvmfrom
nap-cvm-registry
Jun 21, 2026
Merged

NAP-CVM: Add runtime registry facade#52
dskvr merged 2 commits into
nap-cvmfrom
nap-cvm-registry

Conversation

@dskvr

@dskvr dskvr commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a draft registry facade under window.napplet.cvm so runtimes can expose common ContextVM tool families with provider selection, schema-hash verification, and safe caching handled by the shell instead of each napplet. Status: draft. Namespace: window.napplet.cvm.registry.

Changes

  • Adds registry.list, registry.has, registry.describe, and registry.call under NAP-CVM.
  • Defines registry entries, family lookup options, cache options, provider lists, and tool schema descriptors.
  • Maps registry calls to existing MCP tools/call over the existing ContextVM bridge.
  • Uses ContextVM CEP-15 common-schema hashes as the version boundary instead of defining a new version field.
  • Adds wire messages, a relatr example, registry errors, shell behavior, and security notes.

Downstream

Keeps NAP-CVM as the single cvm domain and does not define new ContextVM server behavior. Runtimes may curate family names, provider choice, cache policy, and active schema hashes while napplets can still bypass the registry and call explicit ContextVM servers directly.

dskvr added 2 commits June 19, 2026 15:14
NAP-CVM already lets napplets reach explicit ContextVM servers. This adds a narrower registry facade so a runtime can discover common tool schemas, choose providers, verify schema hashes, cache safe calls, and expose the resulting family calls without pushing provider-selection logic into each napplet.

Constraint: PR must build on the existing NAP-CVM branch and preserve direct CVM implementation paths

Constraint: ContextVM CEP-15 already defines common-schema hashing, so NAP-CVM should reference it instead of inventing version semantics

Rejected: Add a new NAP domain | registry belongs under the existing cvm capability

Rejected: Define a full external registry protocol | ContextVM announcements and runtime curation already cover discovery

Confidence: high

Scope-risk: narrow

Directive: Keep registry semantics shell-level; do not define new ContextVM server behavior here

Tested: git diff --check

Tested: HTTP 200 for ContextVM spec, CEP-15, and MCP tools references

Not-tested: No executable test harness exists in this markdown-only repo
Runtime registry discovery can outlive the provider that originally announced it. This clarifies that registry entries are candidates until the shell has recently verified reachability, and that calls should fall back within the same schema hash before returning provider unavailable.

Constraint: Keep the liveness solution as a minimal NAP-CVM wording change

Rejected: Add a heartbeat or separate liveness protocol | too much machinery for stale registry candidates

Confidence: high

Scope-risk: narrow

Directive: Keep liveness checks runtime-owned; napplets should not need provider retry logic

Tested: git diff --check

Not-tested: No executable test harness exists in this markdown-only repo
@dskvr

dskvr commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Needs to be more terse.

@dskvr
dskvr merged commit 1873f7e into nap-cvm Jun 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant