-
Notifications
You must be signed in to change notification settings - Fork 22
docs(skills): improve adapter validation #308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -106,6 +106,24 @@ Python package's single model namespace. TypeScript types do not validate data | |
| received from a process or network boundary; validate untrusted values against | ||
| the JSON Schemas included with the package. | ||
|
|
||
| ## Integrate an Upstream Harness Deliberately | ||
|
|
||
| When an adapter wraps a third-party SDK, executable, service, or embedded | ||
| runtime, establish the supported integration boundary before relying on it: | ||
|
|
||
| - Identify the exact upstream release, required runtime, and documented | ||
| installation path. Verify that path in an isolated consumer environment; | ||
| do not infer it from a development workspace's dependency layout. | ||
| - Check whether required upstream packages and executables can be resolved | ||
| before loading them. Report a missing requirement differently from a | ||
| dependency that was found but failed during import or initialization. | ||
| - Decide whether the harness may discover project files, user-home | ||
| configuration, plugins, instructions, or credentials. If Fabric does not | ||
| declare that surface, disable discovery when the harness supports it rather | ||
| than depending on ambient host behavior. | ||
| - If the adapter accepts a URL for an authenticated upstream endpoint, define | ||
| and test its transport and trust boundary. | ||
|
|
||
| ## Map AgentConfig | ||
|
|
||
| Accept a validated `AgentConfig` and translate each declared field once at the | ||
|
|
@@ -289,5 +307,16 @@ Complete these checks before handing off an adapter: | |
| 8. Report the adapter package version, contract version, required-profile | ||
| result, and every optional capability as supported or unsupported. | ||
|
|
||
| When applicable, add focused evidence for the decisions above: | ||
|
|
||
| - Run a real-harness regression with temporary project and user-home inputs | ||
| when configuration discovery could affect a Fabric runtime. | ||
| - For a stateful harness, make a later result observably depend on an earlier | ||
| invocation; a test that merely invokes twice does not prove continuity. | ||
| - Test a configured external endpoint against a local deterministic server when | ||
| its security or forwarding behavior is adapter-owned. | ||
|
Comment on lines
+316
to
+317
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🛡️ Analyzed with Security Review | 🔵 Trivial | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: set -eu
file='skills/nemo-fabric-build-adapter/SKILL.md'
sed -n '270,345p' "$file"
printf '\n--- relevant terms ---\n'
rg -n -i 'endpoint|credential|secret|https|http|tls|certificate|redirect|forward|deterministic|security' "$file"Repository: NVIDIA/NeMo-Fabric Length of output: 4442 🏁 Script executed: set -eu
file='skills/nemo-fabric-build-adapter/SKILL.md'
sed -n '104,145p' "$file"Repository: NVIDIA/NeMo-Fabric Length of output: 2391 🏁 Script executed: set -eu
file='skills/nemo-fabric-build-adapter/SKILL.md'
sed -n '145,180p' "$file"Repository: NVIDIA/NeMo-Fabric Length of output: 1880 Sensitive Data Exposure CWE: CWE-319 — Cleartext Transmission of Sensitive Information Require credential-safe transport evidence for authenticated upstream endpoints. A local HTTP server does not test encrypted transport, certificate validation, or redirect handling. When the adapter owns the connection, require those checks and ensure redirects do not forward credentials to another origin. Preserve the existing SDK-owned loopback transport contract. 🤖 Prompt for AI Agents |
||
| - When a live-provider check is intended to be provider-agnostic, do not | ||
| hard-code a vendor or model. | ||
|
|
||
| Do not claim automated NeMo Fabric conformance until the published conformance | ||
| suite exists and the exact adapter release passes it. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use
NeMo Fabricfor both product references.The changed text uses standalone
Fabricfor the product. The path instruction requiresNVIDIA NeMo Fabricon first use andNeMo Fabricthereafter. Replace both occurrences.Also applies to: 313-313
🤖 Prompt for AI Agents
Source: Path instructions