Project routing
Reference for selecting Judgment projects by name or ID and distinguishing deployment environments within a project.
Every trace, SDK request, and JQL query belongs to one organization and one project. Judgeval clients select a project by name. Direct OTLP export selects it by ID.
Selection methods
| Client | Project selector | Where it is sent |
|---|---|---|
Python Tracer or Judgeval |
project_name="my-project" |
SDK initialization or client construction |
TypeScript Tracer or Judgeval |
projectName: "my-project" |
SDK initialization or client construction |
| Direct OTLP/HTTP | X-Project-Id: <JUDGMENT_PROJECT_ID> |
Request header on every export |
| Judgment MCP | project_id |
Tool argument after selecting an organization |
For direct OTLP, copy the project ID from the project URL or use Command Menu
to find the project ID shortcut. Do not substitute a project name in the
X-Project-Id header.
Projects and environments
Use a project for your application or agent. Within that project, set the
SDK’s environment option to distinguish development, staging, and production
traces. Keep the project name the same across deployments and pass the
environment when calling Tracer.init(). See the Python and TypeScript
examples in Initialize tracing.
Distributed services
All services contributing spans to one distributed trace must export to the
same Judgment organization and project. Distinguish services with resource
attributes such as service.name, not with separate projects. See
Trace conventions.
Use Distributed tracing to carry one live request between services.
Startup verification
At startup, log the selected project name or ID and deployment environment. Never log the API key. Then send one real trace and verify:
- The trace appears in the intended organization, project, and environment.
- The expected project was selected before the root span started.
- Every service in one distributed trace used the same project.
- Local and test traces carry their intended environment labels.
Initialization logs prove only what configuration the process attempted to use. The received trace in Judgment is the routing proof.