NAP-CVM: Add runtime registry facade - #52
Merged
Merged
Conversation
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
Contributor
Author
|
Needs to be more terse. |
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.
Summary
Adds a draft registry facade under
window.napplet.cvmso 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
registry.list,registry.has,registry.describe, andregistry.callunder NAP-CVM.tools/callover the existing ContextVM bridge.relatrexample, registry errors, shell behavior, and security notes.Downstream
Keeps NAP-CVM as the single
cvmdomain 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.