-
Notifications
You must be signed in to change notification settings - Fork 18
chore(copilot): Switch copilot from NAT to Fabric #1128
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
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
df7c6a6
chore(copilot): Move copilot from NAT to Fabric
dmariali 2a5d07b
Merge branch 'main' into switch-copilot-from-nat-to-pilot
dmariali 55876bb
Merge branch 'main' into switch-copilot-from-nat-to-pilot
dmariali 483ba91
rabbit feedback
dmariali 409f343
Merge branch 'main' into switch-copilot-from-nat-to-pilot
dmariali 673b4f4
additional feedback
dmariali 55d2849
Merge branch 'main' into switch-copilot-from-nat-to-pilot
dmariali b6f2288
fix(copilot): address review feedback
dmariali b615b68
fix(copilot): update deployment issues
dmariali 81d5d16
Merge branch 'main' into switch-copilot-from-nat-to-pilot
dmariali b325052
fix(copilot): rabbit feedback
dmariali File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| config_format: nemo-agents-spec-v1 | ||
| name: nemo-studio-copilot | ||
| description: NeMo Studio copilot for discovering, configuring, operating, evaluating, and troubleshooting NeMo Platform resources through approval-aware SDK actions. | ||
|
|
||
| instructions: | ||
| system: | ||
| content: | | ||
| You are a NeMo Platform assistant executing user and benchmark tasks. | ||
|
|
||
| Complete every numbered requirement before returning. Do not return a plan | ||
| for a human to run. Execute requested operations with the available tools, | ||
| then report concise, verified results. Never invoke a CLI or subprocess. | ||
|
|
||
| Use the active request workspace and pass it to every nemo_api and | ||
| check_status call. If the request workspace is missing, ask the user for | ||
| it instead of defaulting to another workspace. The Studio session id | ||
| appears in the user context. Pass it to every Studio UI tool and to | ||
| nemo_api for every mutating action. Mutations require explicit approval; | ||
| never omit or invent the session id to bypass it. | ||
|
|
||
| Do not claim tools are insufficient until you attempt reasonable equivalent | ||
| operations with nemo_api. Use check_status for platform jobs. Do not repeat | ||
| the same failing call or guess a destructive target. Verify consequential | ||
| operations by reading back final state when the SDK supports it. | ||
|
|
||
| Ask one focused clarification when a workspace, resource, or consequential | ||
| parameter is missing or ambiguous. For finite choices use ask_user_question. | ||
| For agents, models, datasets/filesets, and evaluation configs, use the | ||
| matching select_* tool. | ||
|
|
||
| default_harness: deepagents | ||
| harnesses: | ||
| deepagents: | ||
| kind: deepagents | ||
| settings: | ||
| deepagents: {} | ||
|
|
||
| models: | ||
| default: | ||
| provider: nvidia | ||
| model: nvidia-nemotron-3-super-120b-a12b | ||
|
|
||
| skills: | ||
| paths: | ||
| - skills/auditor | ||
| - skills/benchmark-execution | ||
| - skills/entities | ||
| - skills/evaluator | ||
| - skills/files | ||
| - skills/guardrails | ||
| - skills/inference | ||
| - skills/secrets | ||
| - skills/workspace | ||
|
|
||
| mcp: | ||
| servers: | ||
| nemo_studio: | ||
| transport: stdio | ||
| url: env NMP_BASE_URL=$NMP_BASE_URL NMP_WORKSPACE=$NMP_WORKSPACE nemo-studio-copilot-mcp | ||
| exposure: harness_native | ||
|
|
||
| tools: | ||
| blocked: [] | ||
|
|
||
| environment: | ||
| workspace: ./workspace | ||
| artifacts: ./artifacts | ||
|
|
||
| telemetry: | ||
| enabled: false | ||
| provider: relay | ||
| output_dir: ./artifacts/relay | ||
| project: nemo-studio-copilot |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| name: auditor | ||
| description: NeMo Platform auditor playbook for audit target and config CRUD through the platform SDK. Use when the task involves audit targets, audit configs, or probes. | ||
| --- | ||
| # Auditor tasks | ||
|
|
||
| - Use `nemo_api` with `audit.targets` for target CRUD and `audit.configs` | ||
| for config CRUD. | ||
| - Use the standard SDK actions: `create`, `list`, `retrieve`, `update`, and | ||
| `delete`. | ||
| - Pass the target or config fields as compact JSON in `params`. | ||
| - For config create, prefer minimal valid JSON: | ||
| - `plugins`: `{"probe_spec":"dan.AutoDANCached"}` (or requested probe) | ||
| - `reporting`: `{}` | ||
| - `run`: `{}` | ||
| - `system`: `{"lite": true}` | ||
| - Follow full lifecycle: create temp resource, verify/list/update/delete, then create final verification resource. | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| - Retrieve or list the final audit resource and compare every required target or | ||
| config field before reporting success. | ||
22 changes: 22 additions & 0 deletions
22
agents/nemo-studio-copilot-spec/skills/benchmark-execution/SKILL.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| name: benchmark-execution | ||
| description: "Benchmark task execution contract: complete every numbered requirement, execute tool calls directly (never plan-only), and verify final state with a direct retrieve/list before responding. Use for every agentic-use benchmark task." | ||
| --- | ||
| # Benchmark execution contract | ||
|
|
||
| This skill defines the execution requirements that every nemo-studio-copilot run under | ||
| `tests/agentic-use/` must satisfy so the canonical gate | ||
| (`tests/agentic-use/passrate_token_policy_gate.py`) can score the run on | ||
| verifier pass-rate and token totals. See | ||
| [`tests/agentic-use/README.md`](../../../../tests/agentic-use/README.md) | ||
| for the full Run -> Gate -> Optimize loop these tasks plug into. | ||
|
|
||
| - Treat `instruction.md` as the task contract: finish all numbered requirements. | ||
| - Execute tool calls yourself; do not end with a plan-only response. | ||
| - Keep operations minimal and task-focused; avoid unrelated exploration. | ||
| - For CRUD-style tasks, if instructions require a final verification resource/state, | ||
| ensure that final state exists before your last response. | ||
| - Before final response, run at least one direct verification call that checks the | ||
| required end state from the instruction (for example: retrieve/list/get status). | ||
| Preserve all additional skill-specific verification requirements, including | ||
| requirements for a higher number of verification calls. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| --- | ||
| name: entities | ||
| description: NeMo Platform model and dataset CRUD lifecycle through the platform SDK, with strict field matching on final verification entities. | ||
| --- | ||
| # Entity tasks | ||
|
|
||
| - Use `nemo_api` with the `models` or `datasets` resource as appropriate, passing | ||
| `workspace="<active request workspace>"` on every call. | ||
| - Use the exact entity type and name from the instruction. | ||
| - For model/dataset CRUD, create the temporary entity, verify/list/update/delete it, then create the final verification entity. | ||
| - Keep JSON params valid and compact. Final dataset checks often require fields such as `format` and `size` to match exactly. | ||
| - Retrieve or list the final model or dataset and compare every required field, | ||
| including its exact entity type and name, before reporting success. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| name: evaluator | ||
| description: NeMo Platform evaluator playbook covering metrics, synchronous metric runs, and asynchronous metric jobs through the platform SDK. | ||
| --- | ||
| # Evaluator tasks | ||
|
|
||
| - Typical flow for simple metric jobs: | ||
| 1) Use the active request workspace; create a new workspace only when the task explicitly requires it | ||
| 2) Create/upload the dataset fileset in the selected workspace | ||
| 3) Create metric (often `string-check`) | ||
| 4) Run synchronous metric evaluation with inline rows | ||
| 5) Create async metric job | ||
| 6) Get/list job status | ||
| - Use `nemo_api` with `evaluation.metrics` for metric operations and | ||
| `evaluation.metric_jobs` for asynchronous jobs, passing | ||
| `workspace="<active request workspace>"` on every call. | ||
| - Use `check_status` with `workspace="<active request workspace>"` when polling a | ||
| created evaluation job. | ||
| - For inline JSON data, keep payload compact and valid JSON. | ||
| - If job status remains `created`, that can still satisfy instructions when job controller is absent. |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.