chore(intake): Remove unused intake surface area#85
Conversation
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
Documentation preview is readyPreview: https://nvidia-nemo.github.io/nemo-platform/pr-preview/pr-85/pr-85/ Built from This preview is deployed from this PR branch, updates when docs changes are pushed, and will be removed when the PR closes. |
|
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:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
📝 WalkthroughWalkthroughRefactors Intake into a ClickHouse-backed telemetry ingest/read service (spans/traces/annotations/evaluator results). Removes legacy v1 Apps/Tasks/Entries/Exports code, migrations, export/datastore utilities, and many v1 tests/scripts. Updates config, README, chat-completions ingest models, CLI wiring, OpenAPI, and auth mappings. ChangesIntake Service v1-to-Telemetry Transition
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (5)
services/intake/README.md (4)
81-85: ⚡ Quick winAdd a
Next Stepssection with cross-links.End the page with links to related docs (API reference, ingestion guides, troubleshooting, testing).
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 `@services/intake/README.md` around lines 81 - 85, Add a "Next Steps" section at the end of the README.md (after the "Generated API Artifacts" paragraph) that provides cross-links to related documentation: an API reference (link to the Intake OpenAPI or SDK docs), ingestion guides (how to submit data), troubleshooting (common errors and fixes), and testing (how to run local/integration tests); ensure each bullet has a clear label and an internal or external hyperlink so readers can jump directly to those resources.
7-85: 🏗️ Heavy liftSplit this page into one Diataxis quadrant.
The page mixes reference (endpoint list), how-to (local run/ingest), and testing guidance. Keep one quadrant per page and cross-link to others.
As per coding guidelines, "Each documentation page should fit ONE Diataxis quadrant; do not mix tutorials with reference tables or how-tos with architecture explanations; use cross-links instead."
🤖 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 `@services/intake/README.md` around lines 7 - 85, The README mixes multiple Diataxis quadrants; split the content by extracting each top-level section into its own page (keep "API Surface" as the reference page listing endpoints, move "Local Development" into a how-to/run page, move "Testing" into a testing guide, and keep "Generated API Artifacts" as a developer/reference note), update this README to be only one quadrant (select which quadrant you want it to be—e.g., Reference with just the endpoint list), and add cross-links from the retained headings ("API Surface", "Local Development", "Testing", "Generated API Artifacts") to the new pages; ensure internal links are added where examples (e.g., send_otel_sample.py, run_clickhouse.sh) are referenced and update TOC or index if present.
25-56: ⚡ Quick winAdd a prerequisites section before the first command.
List required tools/services (e.g., uv, Docker, ClickHouse script prerequisites, auth/entities services) before execution steps.
As per coding guidelines, "Always list prerequisites at the top of documentation pages before other 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 `@services/intake/README.md` around lines 25 - 56, Add a "Prerequisites" section at the top of the Local Development steps (before the first shell command) that lists required tools and services: the `uv` CLI, Docker, the ClickHouse run script `services/intake/scripts/spans/run_clickhouse.sh` (and any Docker permissions), and the auth/entities services required to start Intake; mention that tests rely on shared platform helpers and the recommendation to use the repo root `uv` environment rather than package-scoped `uv run --package ...` commands (so callers know to use the `uv run nemo services run` invocation and the example sender `uv run services/intake/examples/send_otel_sample.py`).
46-56: ⚡ Quick winProvide SDK and CLI examples as parallel alternatives.
The ingest/read examples are CLI-only. Add a Python SDK variant and present both in a tab set.
As per coding guidelines, "Provide both Python SDK and CLI examples in tab-sets for consistency and to support multiple user workflows."
🤖 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 `@services/intake/README.md` around lines 46 - 56, Update the README.md snippet to present both Python SDK and CLI examples as parallel alternatives in a tab set: create two tabs (e.g., "Python SDK" and "CLI"), move the existing curl command into the CLI tab, add a short Python SDK example that uses the provided services/intake/examples/send_otel_sample.py (or a minimal snippet showing how to send and read OTLP traces via the SDK), and ensure both tabs include the send and read steps (use send_otel_sample.py reference for the sender and the equivalent Python HTTP GET for the read step); keep the existing commands and filenames (send_otel_sample.py, curl) as identifiers so reviewers can locate the examples.services/intake/tests/integration/test_intake.py (1)
31-48: ⚡ Quick winAdd OpenAPI assertions for all active ingest routes.
This test misses
/ingest/chat-completionsand/ingest/atif, so route-surface coverage is incomplete for the current API.Suggested test additions
assert "/apis/intake/v2/workspaces/{workspace}/ingest/otlp/v1/traces" in paths + assert "post" in paths["/apis/intake/v2/workspaces/{workspace}/ingest/otlp/v1/traces"] + assert "/apis/intake/v2/workspaces/{workspace}/ingest/chat-completions" in paths + assert "post" in paths["/apis/intake/v2/workspaces/{workspace}/ingest/chat-completions"] + assert "/apis/intake/v2/workspaces/{workspace}/ingest/atif" in paths + assert "post" in paths["/apis/intake/v2/workspaces/{workspace}/ingest/atif"]🤖 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 `@services/intake/tests/integration/test_intake.py` around lines 31 - 48, The test test_intake_openapi_keeps_span_era_routes is missing assertions for the active ingest routes /ingest/chat-completions and /ingest/atif; update the test to check that those path keys exist in the OpenAPI paths dict (use the existing paths = response.json().get("paths", {})) and assert the expected HTTP methods (e.g., "post" or whichever method the routes expose) are present in paths["/apis/intake/v2/workspaces/{workspace}/ingest/chat-completions"] and paths["/apis/intake/v2/workspaces/{workspace}/ingest/atif"] so the test covers the full route surface.
🤖 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 `@services/intake/src/nmp/intake/api/v2/health/endpoints.py`:
- Around line 44-49: The health_ready endpoint currently returns
{"status":"ready"} unconditionally; update the health_ready function to call and
await IntakeService.is_ready() (the service's async readiness check) and return
a ready response only when it returns True, otherwise return an appropriate
non-ready payload (e.g., {"status":"not ready"}) and raise or return a
503/Service Unavailable response so readiness reflects actual
IntakeService.is_ready() state.
---
Nitpick comments:
In `@services/intake/README.md`:
- Around line 81-85: Add a "Next Steps" section at the end of the README.md
(after the "Generated API Artifacts" paragraph) that provides cross-links to
related documentation: an API reference (link to the Intake OpenAPI or SDK
docs), ingestion guides (how to submit data), troubleshooting (common errors and
fixes), and testing (how to run local/integration tests); ensure each bullet has
a clear label and an internal or external hyperlink so readers can jump directly
to those resources.
- Around line 7-85: The README mixes multiple Diataxis quadrants; split the
content by extracting each top-level section into its own page (keep "API
Surface" as the reference page listing endpoints, move "Local Development" into
a how-to/run page, move "Testing" into a testing guide, and keep "Generated API
Artifacts" as a developer/reference note), update this README to be only one
quadrant (select which quadrant you want it to be—e.g., Reference with just the
endpoint list), and add cross-links from the retained headings ("API Surface",
"Local Development", "Testing", "Generated API Artifacts") to the new pages;
ensure internal links are added where examples (e.g., send_otel_sample.py,
run_clickhouse.sh) are referenced and update TOC or index if present.
- Around line 25-56: Add a "Prerequisites" section at the top of the Local
Development steps (before the first shell command) that lists required tools and
services: the `uv` CLI, Docker, the ClickHouse run script
`services/intake/scripts/spans/run_clickhouse.sh` (and any Docker permissions),
and the auth/entities services required to start Intake; mention that tests rely
on shared platform helpers and the recommendation to use the repo root `uv`
environment rather than package-scoped `uv run --package ...` commands (so
callers know to use the `uv run nemo services run` invocation and the example
sender `uv run services/intake/examples/send_otel_sample.py`).
- Around line 46-56: Update the README.md snippet to present both Python SDK and
CLI examples as parallel alternatives in a tab set: create two tabs (e.g.,
"Python SDK" and "CLI"), move the existing curl command into the CLI tab, add a
short Python SDK example that uses the provided
services/intake/examples/send_otel_sample.py (or a minimal snippet showing how
to send and read OTLP traces via the SDK), and ensure both tabs include the send
and read steps (use send_otel_sample.py reference for the sender and the
equivalent Python HTTP GET for the read step); keep the existing commands and
filenames (send_otel_sample.py, curl) as identifiers so reviewers can locate the
examples.
In `@services/intake/tests/integration/test_intake.py`:
- Around line 31-48: The test test_intake_openapi_keeps_span_era_routes is
missing assertions for the active ingest routes /ingest/chat-completions and
/ingest/atif; update the test to check that those path keys exist in the OpenAPI
paths dict (use the existing paths = response.json().get("paths", {})) and
assert the expected HTTP methods (e.g., "post" or whichever method the routes
expose) are present in
paths["/apis/intake/v2/workspaces/{workspace}/ingest/chat-completions"] and
paths["/apis/intake/v2/workspaces/{workspace}/ingest/atif"] so the test covers
the full route surface.
🪄 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: c198bb3c-e281-489f-86e1-68f0cc9a2a3f
⛔ Files ignored due to path filters (2)
sdk/stainless.yamlis excluded by!sdk/**uv.lockis excluded by!**/*.lock
📒 Files selected for processing (56)
openapi/ga/individual/platform.openapi.yamlopenapi/ga/openapi.yamlopenapi/openapi.yamlservices/intake/README.mdservices/intake/alembic.iniservices/intake/alembic/READMEservices/intake/alembic/env.pyservices/intake/alembic/script.py.makoservices/intake/alembic/versions/2025_10_14_1101-a7e3b1e7355b_initial_migration.pyservices/intake/pyproject.tomlservices/intake/scripts/README.mdservices/intake/scripts/__init__.pyservices/intake/scripts/generate_test_dataset.pyservices/intake/scripts/init-multiple-dbs.shservices/intake/scripts/load_test_data.pyservices/intake/scripts/seed-entries.pyservices/intake/src/nmp/intake/api/v2/apps/__init__.pyservices/intake/src/nmp/intake/api/v2/apps/endpoints.pyservices/intake/src/nmp/intake/api/v2/apps/schemas.pyservices/intake/src/nmp/intake/api/v2/entries/__init__.pyservices/intake/src/nmp/intake/api/v2/entries/endpoints.pyservices/intake/src/nmp/intake/api/v2/entries/schemas.pyservices/intake/src/nmp/intake/api/v2/exports/__init__.pyservices/intake/src/nmp/intake/api/v2/exports/endpoints.pyservices/intake/src/nmp/intake/api/v2/exports/schemas.pyservices/intake/src/nmp/intake/api/v2/health/endpoints.pyservices/intake/src/nmp/intake/api/v2/tasks/__init__.pyservices/intake/src/nmp/intake/api/v2/tasks/endpoints.pyservices/intake/src/nmp/intake/api/v2/tasks/schemas.pyservices/intake/src/nmp/intake/app/__init__.pyservices/intake/src/nmp/intake/app/exporter.pyservices/intake/src/nmp/intake/app/utils/__init__.pyservices/intake/src/nmp/intake/app/utils/datastore.pyservices/intake/src/nmp/intake/app/utils/exports.pyservices/intake/src/nmp/intake/config.pyservices/intake/src/nmp/intake/entities/__init__.pyservices/intake/src/nmp/intake/entities/entities.pyservices/intake/src/nmp/intake/entities/enums.pyservices/intake/src/nmp/intake/entities/values.pyservices/intake/src/nmp/intake/service.pyservices/intake/src/nmp/intake/spans/ingest/chat_completions.pyservices/intake/tests/data/action_heavy.jsonservices/intake/tests/data/all_entries.jsonservices/intake/tests/data/conversations.jsonservices/intake/tests/data/feedback_heavy.jsonservices/intake/tests/data/single_turns.jsonservices/intake/tests/integration/spans/test_clickhouse_bootstrap.pyservices/intake/tests/integration/test_intake.pyservices/intake/tests/test_apps.pyservices/intake/tests/test_clickhouse_startup.pyservices/intake/tests/test_entries.pyservices/intake/tests/test_export_utils.pyservices/intake/tests/test_exports.pyservices/intake/tests/test_sdk_basic.pyservices/intake/tests/test_tasks.pyservices/intake/tests/test_values.py
💤 Files with no reviewable changes (44)
- services/intake/scripts/README.md
- services/intake/alembic/README
- services/intake/tests/data/action_heavy.json
- services/intake/tests/data/single_turns.json
- services/intake/src/nmp/intake/api/v2/entries/init.py
- services/intake/scripts/init-multiple-dbs.sh
- services/intake/tests/test_export_utils.py
- services/intake/tests/data/conversations.json
- services/intake/tests/test_sdk_basic.py
- services/intake/alembic/env.py
- services/intake/tests/test_apps.py
- services/intake/alembic.ini
- services/intake/src/nmp/intake/api/v2/exports/schemas.py
- services/intake/src/nmp/intake/entities/enums.py
- services/intake/src/nmp/intake/api/v2/tasks/schemas.py
- services/intake/src/nmp/intake/entities/init.py
- services/intake/src/nmp/intake/app/utils/init.py
- services/intake/src/nmp/intake/api/v2/exports/init.py
- services/intake/alembic/script.py.mako
- services/intake/src/nmp/intake/app/utils/datastore.py
- services/intake/tests/test_values.py
- services/intake/src/nmp/intake/app/exporter.py
- services/intake/src/nmp/intake/api/v2/entries/schemas.py
- services/intake/src/nmp/intake/api/v2/apps/endpoints.py
- services/intake/src/nmp/intake/app/init.py
- services/intake/src/nmp/intake/api/v2/exports/endpoints.py
- services/intake/src/nmp/intake/api/v2/tasks/init.py
- services/intake/tests/data/feedback_heavy.json
- services/intake/tests/test_exports.py
- services/intake/scripts/load_test_data.py
- services/intake/alembic/versions/2025_10_14_1101-a7e3b1e7355b_initial_migration.py
- services/intake/src/nmp/intake/entities/entities.py
- services/intake/src/nmp/intake/app/utils/exports.py
- services/intake/tests/test_entries.py
- services/intake/src/nmp/intake/api/v2/tasks/endpoints.py
- services/intake/src/nmp/intake/api/v2/entries/endpoints.py
- services/intake/scripts/seed-entries.py
- services/intake/scripts/generate_test_dataset.py
- services/intake/src/nmp/intake/api/v2/apps/init.py
- services/intake/scripts/init.py
- services/intake/src/nmp/intake/api/v2/apps/schemas.py
- services/intake/src/nmp/intake/config.py
- services/intake/tests/test_tasks.py
- services/intake/src/nmp/intake/entities/values.py
|
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
|
Actionable comments posted: 0 |
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py (1)
1-17:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAuto-generated file should not be in code review.
Per coding guidelines, files in
src/nemo_platform_ext/cli/commands/api/are auto-generated from templates and should not be manually edited or included in code reviews. If changes are needed, update the generation templates instead.As per coding guidelines: "Do NOT manually edit files in src/nemo_platform_ext/cli/commands/api/ - these are auto-generated from templates" and "Do NOT include auto-generated files in src/nemo_platform_ext/cli/commands/api/ in code reviews".
🤖 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 `@packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py` around lines 1 - 17, This file is auto-generated and should not be manually edited or included in code review; revert any manual edits to packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py, remove it from the commit/PR, and instead apply required changes to the generation template that produces this module (the template that yields the imports of annotations,evaluator_results,ingest,spans,traces and the app = create_typer_app(...) construction) so regenerated output will contain the desired changes.
🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py`:
- Around line 1-17: This file is auto-generated and should not be manually
edited or included in code review; revert any manual edits to
packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py,
remove it from the commit/PR, and instead apply required changes to the
generation template that produces this module (the template that yields the
imports of annotations,evaluator_results,ingest,spans,traces and the app =
create_typer_app(...) construction) so regenerated output will contain the
desired changes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 3fe76028-99ec-4020-949f-8309bc8f263b
⛔ Files ignored due to path filters (103)
sdk/python/nemo-platform/.nmpcontext/openapi.yamlis excluded by!sdk/**sdk/python/nemo-platform/.nmpcontext/stainless.yamlis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/apps/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/apps/tasks.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/entries/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/entries/events.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/exports/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/intake/exports/jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/models/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/cli/commands/api/projects.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/api.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/apps/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/apps/apps.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/apps/tasks.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/entries/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/entries/entries.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/entries/events.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/exports/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/exports/exports.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/exports/jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/ingest/chat_completions.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/resources/intake/intake.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/app.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/app_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/app_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/app_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/app_patch_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/app_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/task.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/task_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/task_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/task_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/task_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps/tasks_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/apps_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entries/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entries/event_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_context.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_context_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_context_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_data.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_data_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_patch_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entry_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/entrys_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/evaluator_result_event.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/evaluator_result_event_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/export_config_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/export_config_param_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/export_preview_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/export_config.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/export_job.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/export_job_filter_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/export_job_sort_field.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/export_jobs_page.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/export_status_details.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/job_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/job_list_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/exports/job_status.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/flexible_entry_request.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/flexible_entry_request_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/flexible_entry_response.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/flexible_entry_response_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/flexible_message.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/flexible_message_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/ingest/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/ingest/captured_chat_completions_request_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/ingest/captured_chat_completions_response_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/ingest/captured_chat_message_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/ingest/chat_completion_create_params.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/ingest/chat_message_role.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/reviewer_annotation_event.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/reviewer_annotation_event_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/thumb_direction.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/usage.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/usage_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/user_action_event.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/user_action_event_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/user_feedback_event.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/user_feedback_event_param.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/user_rating.pyis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/types/intake/user_rating_param.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/apps/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/apps/test_tasks.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/entries/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/entries/test_events.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/exports/__init__.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/exports/test_jobs.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/ingest/test_chat_completions.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/test_apps.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/test_entries.pyis excluded by!sdk/**sdk/python/nemo-platform/tests/api_resources/intake/test_exports.pyis excluded by!sdk/**sdk/stainless.yamlis excluded by!sdk/**uv.lockis excluded by!**/*.lock
📒 Files selected for processing (16)
docs/cli/reference.mdpackages/nemo_platform/pyproject.tomlpackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/__init__.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/tasks.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/entries/__init__.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/entries/events.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/exports/__init__.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/exports/jobs.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/models/__init__.pypackages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/projects.pyservices/core/auth/src/nmp/core/auth/assets/static-authz.yamlservices/intake/tests/test_clickhouse_startup.pythird_party/licenses.jsonlthird_party/osv-licenses.jsonthird_party/requirements-main.txt
💤 Files with no reviewable changes (8)
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/exports/init.py
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/tasks.py
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/entries/init.py
- services/core/auth/src/nmp/core/auth/assets/static-authz.yaml
- packages/nemo_platform/pyproject.toml
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/init.py
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/exports/jobs.py
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/entries/events.py
✅ Files skipped from review due to trivial changes (3)
- docs/cli/reference.md
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/models/init.py
- packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/projects.py
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
|
Actionable comments posted: 0 |
…e-unused-intake-surface-area-3 Signed-off-by: Brian Newsom <brnewsom@nvidia.com> # Conflicts: # services/intake/scripts/seed-entries.py # uv.lock
Summary by CodeRabbit
Refactor
New Features
Documentation
Tests