chore(platform-runner): stop registering legacy evaluator service - #228
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughLegacy ChangesEvaluation Service Removal
Sequence Diagram(s)sequenceDiagram
participant ServiceRegistry
participant GroupBuilder
participant OpenAPIGenerator
ServiceRegistry->>GroupBuilder: build groups using API_SERVICES
ServiceRegistry->>OpenAPIGenerator: filter by OPENAPI_SERVICES for OpenAPI generation
Possibly related PRs
Suggested Reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
49941f7 to
06ce64d
Compare
Documentation preview is readyPreview: https://nvidia-nemo.github.io/nemo-platform/pr-preview/pr-228/pr-228/ Built from This preview is deployed from this PR branch, updates when docs changes are pushed, and will be removed when the PR closes. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@docs/auth/authorization/permissions-reference.md`:
- Around line 22-25: The Viewer/Editor/Admin columns for permissions like
evaluation.benchmarks.(read | list | create | delete), evaluation.jobs.(read |
list | create | delete | cancel), evaluation.live.exec, and
evaluation.metrics.(read | list | create | delete) are blank and unclear; add a
short legend/note under the permissions table clarifying that an empty cell
means “not assigned in predefined roles; requires explicit role binding or
another role type” (or equivalent phrasing), and reference those specific
permission patterns in the note so readers know the meaning applies to
evaluation.* entries.
🪄 Autofix (Beta)
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: dfc7e8a3-9cb2-4278-a12e-109c74951ebe
⛔ Files ignored due to path filters (267)
sdk/python/nemo-platform/.nmpcontext/openapi.yamlis excluded by!sdk/**sdk/python/nemo-platform/.nmpcontext/stainless.yamlis excluded by!sdk/**sdk/python/nemo-platform/api.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/_client.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/_decoders/jsonl.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/api.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/benchmark_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmarks.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/evaluation.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/metric_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metrics.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/files/filesets.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/aggregate_range_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/aggregate_rubric_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/aggregated_metric_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_create_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_jobs_list_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_jobs_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_jobs_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_get_logs_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_result_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_result_retrieve_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_results_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/benchmark_evaluation_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/benchmark_metric_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/row_score_download_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_offline_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_offline_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_agent_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_agent_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_retrieve_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_retrieve_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmarks_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/built_in_dataset.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/dataset_rows.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/dataset_rows_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/evaluate_dataset_rows_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/extended_benchmark.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/field_mapping.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/field_mapping_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/fileset.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/fileset_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/fileset_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/histogram.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/histogram_bin.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/inference_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/inference_params_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/json_score_parser.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/json_score_parser_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_create_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluate_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_jobs_list_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_jobs_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_jobs_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_row_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_get_logs_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_result_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_result_retrieve_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_results_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_jobs/results/row_score_download_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_offline_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_offline_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_agent_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_agent_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_retrieve_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_retriever_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_retriever_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_type.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metrics_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/model.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/model_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/model_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/parameter.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/parameter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/percentiles.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/range_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/range_score_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/reasoning_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/reasoning_params_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/regex_score_parser.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/regex_score_parser_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_score_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/retriever_pipeline.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/retriever_pipeline_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/row_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_score_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_score_stat.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online_model.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online_model_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_offline_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_offline_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_online_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_online_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_metadata_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_metadata_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_update_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/error_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/field_error.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/fileset_metadata.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/test_aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/test_artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/test_row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/test_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/test_aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/test_artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/test_row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/test_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_benchmark_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_benchmark_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_benchmarks.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_metric_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_metric_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_metrics.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/test_models.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/decoders/test_jsonl.pyis excluded by!sdk/**sdk/stainless.yamlis excluded by!sdk/**
📒 Files selected for processing (7)
docs/auth/authorization/permissions-reference.mdopenapi/ga/individual/platform.openapi.yamlopenapi/ga/openapi.yamlopenapi/openapi.yamlpackages/nmp_platform_runner/src/nmp/platform_runner/registry.pypackages/nmp_platform_runner/tests/test_registry.pyservices/core/auth/src/nmp/core/auth/assets/static-authz.yaml
💤 Files with no reviewable changes (1)
- packages/nmp_platform_runner/src/nmp/platform_runner/registry.py
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/nmp_platform_runner/tests/test_registry.py
06ce64d to
28ddc42
Compare
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/auth/authorization/api-scopes.md (1)
116-121:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRename end section to
Next Steps.Guideline requires a
Next Stepssection at page end; this page usesRelated. Rename the heading and keep these cross-links under it.As per coding guidelines, "Include 'Next Steps' section at the end with cross-links to related documentation content."
🤖 Prompt for 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. In `@docs/auth/authorization/api-scopes.md` around lines 116 - 121, Rename the final section heading from "Related" to "Next Steps" and leave the existing cross-links unchanged; locate the "Related" heading and update its heading text to "Next Steps" in the docs/auth/authorization/api-scopes.md content (the list of links to Roles & Permissions, Using Authentication, OIDC Setup, Security Model) so the page ends with the required Next Steps section per guidelines.Source: Coding guidelines
🤖 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.
Outside diff comments:
In `@docs/auth/authorization/api-scopes.md`:
- Around line 116-121: Rename the final section heading from "Related" to "Next
Steps" and leave the existing cross-links unchanged; locate the "Related"
heading and update its heading text to "Next Steps" in the
docs/auth/authorization/api-scopes.md content (the list of links to Roles &
Permissions, Using Authentication, OIDC Setup, Security Model) so the page ends
with the required Next Steps section per guidelines.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 5941cae7-1408-4875-b253-b2c9d6f33485
⛔ Files ignored due to path filters (267)
sdk/python/nemo-platform/.nmpcontext/openapi.yamlis excluded by!sdk/**sdk/python/nemo-platform/.nmpcontext/stainless.yamlis excluded by!sdk/**sdk/python/nemo-platform/api.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/_client.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/_decoders/jsonl.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/api.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/benchmark_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmark_jobs/results/row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/benchmarks.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/evaluation.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/metric_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/results.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metric_jobs/results/row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/evaluation/metrics.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/files/filesets.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_goal_accuracy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/agent_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/aggregate_range_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/aggregate_rubric_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/aggregated_metric_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/answer_accuracy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_create_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_jobs_list_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_jobs_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_evaluation_jobs_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_get_logs_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_result_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_result_retrieve_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_job_results_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/benchmark_evaluation_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/benchmark_metric_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_jobs/results/row_score_download_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_offline_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_offline_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_agent_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_agent_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_online_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_retrieve_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmark_retrieve_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/benchmarks_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/bleu_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/built_in_dataset.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_entity_recall_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_precision_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_recall_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/context_relevance_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/dataset_rows.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/dataset_rows_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/evaluate_dataset_rows_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/exact_match_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/extended_benchmark.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/f1_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/faithfulness_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/field_mapping.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/field_mapping_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/fileset.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/fileset_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/fileset_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/histogram.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/histogram_bin.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/inference_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/inference_params_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/json_score_parser.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/json_score_parser_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/llm_judge_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_create_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluate_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_jobs_list_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_jobs_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_jobs_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_evaluation_row_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_get_logs_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_result.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_result_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_result_retrieve_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_job_results_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_jobs/results/row_score_download_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_offline_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_offline_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_agent_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_agent_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_online_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_retrieve_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_retriever_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_retriever_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metric_type.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/metrics_list_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/model.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/model_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/model_ref.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/noise_sensitivity_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/number_check_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/parameter.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/parameter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/percentiles.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/range_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/range_score_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/reasoning_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/reasoning_params_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/regex_score_parser.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/regex_score_parser_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/remote_score_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_groundedness_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/response_relevancy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/retriever_pipeline.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/retriever_pipeline_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rouge_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/row_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_score.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_score_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/rubric_score_stat.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online_model.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online_model_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_online_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/run_config_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/string_check_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_offline_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_offline_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_online_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_benchmark_online_job_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/system_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_call_accuracy_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/tool_calling_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/evaluation/topic_adherence_metric_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_metadata_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_metadata_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/files/fileset_update_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/error_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/field_error.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/shared/fileset_metadata.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/test_aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/test_artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/results/test_row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/benchmark_jobs/test_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/test_aggregate_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/test_artifacts.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/results/test_row_scores.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/metric_jobs/test_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_benchmark_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_benchmark_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_benchmarks.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_metric_job_results.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_metric_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/evaluation/test_metrics.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/test_models.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/decoders/test_jsonl.pyis excluded by!sdk/**sdk/stainless.yamlis excluded by!sdk/**
📒 Files selected for processing (13)
docs/auth/authorization/api-scopes.mddocs/auth/authorization/permissions-reference.mdopenapi/ga/individual/platform.openapi.yamlopenapi/ga/openapi.yamlopenapi/openapi.yamlpackages/nmp_platform_runner/src/nmp/platform_runner/registry.pypackages/nmp_platform_runner/tests/test_registry.pyservices/core/auth/scripts/auth-tools.pyservices/core/auth/src/nmp/core/auth/app/policy_tests/evaluation_namespace_check_test.regoservices/core/auth/src/nmp/core/auth/app/policy_tests/helpers_test.regoservices/core/auth/src/nmp/core/auth/app/policy_tests/models_namespace_check_test.regoservices/core/auth/src/nmp/core/auth/assets/static-authz.yamlservices/core/auth/tests/test_embedded_pdp.py
💤 Files with no reviewable changes (2)
- docs/auth/authorization/permissions-reference.md
- packages/nmp_platform_runner/src/nmp/platform_runner/registry.py
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/nmp_platform_runner/tests/test_registry.py
8890835 to
849cfa8
Compare
Signed-off-by: Sandy Chapman <schapman@nvidia.com>
849cfa8 to
98b13a3
Compare
PR #228 (stop registering legacy evaluator service) deleted the entire evaluation resource block from sdk/stainless.yaml, including the mapping for InferenceParams. That schema still exists in the OpenAPI spec because the shared PromptData schema references it (PromptData.inference_params), and PromptData is reached via the models service endpoints. With no explicit mapping, sync-models re-homes InferenceParams under the models resource (the common location of the endpoints that reference it). That generates types/models/inference_params.py and makes shared/prompt_data.py import from ..models.inference_params, which creates a circular import at SDK load time: shared/prompt_data -> models/inference_params -> models/__init__ -> model_entity -> shared/prompt_data breaking 'make stainless' / 'make update-sdk'. InferenceParams is a cross-cutting type: at the source level it lives in nmp_common and is imported by both the models service and the evaluator service. Its SDK home should not be any single feature resource. Pin it in $shared (alongside PromptData, which already lives there) so the generated import is intra-package (shared -> shared) and acyclic. sync-models now makes no changes and InferenceParams resolves to types/shared/inference_params.py. Signed-off-by: Ben McCown <bmccown@nvidia.com>
make update-sdk / make stainless fail on main because the regenerated SDK contains circular imports. Two shared schemas reference types that the mapper homes under feature resources, creating shared -> <resource> -> shared import cycles at SDK load time: 1) InferenceParams: shared/prompt_data references it. PR #228 removed the evaluation resource block from stainless.yaml (including this mapping), so sync-models re-homed it under models: shared/prompt_data -> models/inference_params -> models/__init__ -> model_entity -> shared/prompt_data 2) DatasetMetadataContent: shared/fileset_metadata references it while it was mapped under files: shared/fileset_metadata -> files/dataset_metadata_content -> files/__init__ -> files/fileset -> shared/fileset_metadata The committed SDK only avoided this via a TYPE_CHECKING guard, which the Stainless regen drops, turning it into a real runtime import cycle. Both are genuinely cross-cutting types. Pin them in $shared (alongside PromptData / FilesetMetadata, which already live there) so the generated imports are intra-package (shared -> shared) and acyclic. The *_param variants follow automatically into shared_params. sync-models is clean and makes no further changes. Signed-off-by: Ben McCown <bmccown@nvidia.com>
make update-sdk / make stainless fail on main because the regenerated SDK contains circular imports. Two shared schemas reference types that the mapper homes under feature resources, creating shared -> <resource> -> shared import cycles at SDK load time: 1) InferenceParams: shared/prompt_data references it. PR #228 removed the evaluation resource block from stainless.yaml (including this mapping), so sync-models re-homed it under models: shared/prompt_data -> models/inference_params -> models/__init__ -> model_entity -> shared/prompt_data 2) DatasetMetadataContent: shared/fileset_metadata references it while it was mapped under files: shared/fileset_metadata -> files/dataset_metadata_content -> files/__init__ -> files/fileset -> shared/fileset_metadata The committed SDK only avoided this via a TYPE_CHECKING guard, which the Stainless regen drops, turning it into a real runtime import cycle. Both are genuinely cross-cutting types. Pin them in $shared (alongside PromptData / FilesetMetadata, which already live there) so the generated imports are intra-package (shared -> shared) and acyclic. The *_param variants follow automatically into shared_params. Includes the regenerated SDK from make update-sdk. Verified: - make update-sdk completes end-to-end (stainless + web + cli) - nemo-platform-sdk-tools is-up-to-date passes - the SDK imports with no circular-import error Signed-off-by: Ben McCown <bmccown@nvidia.com>
…teJob The legacy platform evaluator service was removed in #228, deleting all metric/benchmark entity management APIs (MetricEvaluationJob, useEvaluationListMetricJobs, useEvaluationListBenchmarks, etc.) from the platform SDK. Studio's evaluation UI referenced these exclusively, breaking studio-ci web-typecheck on main. Migrated to the new nemo-evaluator plugin SDK (EvaluateJob-based API): - Replaced MetricEvaluationJob/BenchmarkEvaluationJob with EvaluateJob - Replaced useEvaluationList/Get/DeleteJob with useEvaluatorList/Get/DeleteEvaluateJob - Removed metric entity management routes (no equivalent in new API): EvaluationBenchmarksRoute, EvaluationMetricsRoute, EvaluationMetricCreate/DetailsRoute - Removed benchmark/metric entity data views and side panels - Kept and migrated: EvaluationResultsRoute, EvaluationResultDetailsRoute, ActionMenu, JobBulkDeleteModal, ComparisonPanel, DetailsPanel, evaluationJob selectors, util/evaluations Signed-off-by: mschwab <mschwab@nvidia.com>
Summary
Validation
Summary by CodeRabbit
Breaking Changes
Documentation
Tests