Skip to content

feat(experimentalist): Remove tau2 from getting started guide and add experimentalist instructions - #1010

Merged
nicot merged 8 commits into
mainfrom
tau3-minimal-example-cleanup/ntonozzi
Jul 31, 2026
Merged

feat(experimentalist): Remove tau2 from getting started guide and add experimentalist instructions#1010
nicot merged 8 commits into
mainfrom
tau3-minimal-example-cleanup/ntonozzi

Conversation

@nicot

@nicot nicot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Consolidates on Tau3, removes Tau2 data from getting started guide.
Uses tau3 tasks for insights generation
Adds instructions for running experimentalist on tau3

Summary by CodeRabbit

  • New Features

    • Added a Tau3 Airline agent workflow with environment setup, dataset preparation, trace recording, and experiment comparison.
    • Added automated preparation of validated training, validation, and insights datasets.
    • Added trace uploads with experiment metadata and summary reporting.
  • Documentation

    • Updated the getting-started guide with the Tau3 workflow and generated output locations.
  • Chores

    • Added an environment configuration template for required services and models.
    • Removed the superseded airline smoke-test preparation script.

Consolidate the Airline datasets and provide a bounded runner so users can ingest ground-truth-free Tau3 traces before analyzing or optimizing the agent.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
@github-actions github-actions Bot added the feat label Jul 31, 2026
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 29340/37347 78.6% 63.2%
Integration Tests 17288/36065 47.9% 20.6%

nicot added 3 commits July 31, 2026 10:12
Name the standalone command after its observable recording behavior rather than its downstream consumer.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
Keep the standalone example focused on its validated end-to-end workflow without a dedicated Insights runner test module.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
Document the consolidated dataset, trace ingestion, Insights, and Experimentalist flow with a sourceable environment template.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
@nicot
nicot marked this pull request as ready for review July 31, 2026 17:44
@nicot
nicot requested review from a team as code owners July 31, 2026 17:44
@nicot nicot changed the title feat(experimentalist): add Tau3 Insights trace workflow feat(experimentalist): Remove tau2 from getting started guide and add experimentalist instructions Jul 31, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Set the Tau3 agent and simulator to Luna while assigning Sol, Terra, and Luna to the Experimentalist smart, mid, and fast roles.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The Tau3 no-OOA airline example now configures services, prepares validated datasets, records Harbor evaluation traces, uploads them to Intake, and documents Insights and Experimentalist workflows.

Changes

Tau3 airline workflow

Layer / File(s) Summary
Dataset preparation and environment setup
plugins/nemo-experimentalist/examples/tau3-nooa-agent/.env.example, plugins/nemo-experimentalist/examples/tau3-nooa-agent/prepare-airline-datasets.sh, plugins/nemo-experimentalist/examples/tau3-nooa-agent/RUNBOOK.md, docs/get-started/example-agent.mdx
The example adds service configuration, downloads and validates the pinned Tau3 dataset, prepares Insights and Experimentalist splits, and documents setup commands.
Trace recording and upload
plugins/nemo-experimentalist/examples/tau3-nooa-agent/record_tau_airline_traces.py, plugins/nemo-experimentalist/examples/tau3-nooa-agent/RUNBOOK.md
The new runner executes Harbor trials, uploads OTLP traces with metadata, verifies Intake availability, writes a JSON summary, and documents trace analysis.
Experimentalist workflow documentation
docs/get-started/example-agent.mdx, plugins/nemo-experimentalist/examples/tau3-nooa-agent/RUNBOOK.md
The guide and runbook configure the Experimentalist workspace, use Tau3 train and validation paths, and reference generated experiment results for candidate comparison.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant DatasetScript
  participant Harbor
  participant Intake
  participant Insights
  participant Experimentalist
  User->>DatasetScript: Prepare Tau3 dataset splits
  DatasetScript-->>User: Return Insights and Experimentalist paths
  User->>Harbor: Run agent trials
  Harbor-->>User: Return trial traces
  User->>Intake: Upload traces with experiment metadata
  Intake-->>User: Confirm trace availability
  User->>Insights: Analyze uploaded traces
  User->>Experimentalist: Run optimization with train and validation splits
  Experimentalist-->>User: Write experiment results
Loading

Possibly related PRs

Suggested labels: docs

Suggested reviewers: aleckhoury

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: removing Tau2 from the guide and adding Tau3 Experimentalist instructions.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tau3-minimal-example-cleanup/ntonozzi

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
plugins/nemo-experimentalist/examples/tau3-nooa-agent/record_tau_airline_traces.py (1)

152-189: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

No safeguard against duplicate uploads on workspace reuse.

RUNBOOK.md warns to use a fresh --workspace name because "Intake appends traces," but nothing here enforces it. Reusing a workspace by mistake silently duplicates the Insights corpus. Consider checking for existing traces in the target workspace before running and warning or requiring a --force flag to proceed.

🤖 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
`@plugins/nemo-experimentalist/examples/tau3-nooa-agent/record_tau_airline_traces.py`
around lines 152 - 189, Update the workspace setup flow before running
HarborEvaluator in the main try block to detect whether the target workspace
already contains traces. Require an explicit force/override option before
continuing with a reused workspace, otherwise fail or warn and skip uploads;
preserve the current behavior for fresh workspaces and avoid executing the
upload path without this safeguard.
🤖 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 `@plugins/nemo-experimentalist/examples/tau3-nooa-agent/agent.py`:
- Around line 36-72: Update the NOOA code-execution path used by
StopAwareMCPManager so ConversationEnded is not caught and converted into
RuntimeError by RuntimeServices.execute_code(); propagate it unchanged to
main.py while retaining existing handling for other BaseException values. Add a
smoke test covering a Tau3 stop token raised through tool execution and reaching
the main flow.

In
`@plugins/nemo-experimentalist/examples/tau3-nooa-agent/record_tau_airline_traces.py`:
- Around line 234-235: The recorder’s --model and --user-model arguments ignore
the configured environment variables. In record_tau_airline_traces.py, update
these defaults to read AUT_MODEL_NAME and TAU2_USER_MODEL with DEFAULT_MODEL as
fallback; make no changes to .env.example or RUNBOOK.md, which are corrected by
this root-cause fix.

---

Nitpick comments:
In
`@plugins/nemo-experimentalist/examples/tau3-nooa-agent/record_tau_airline_traces.py`:
- Around line 152-189: Update the workspace setup flow before running
HarborEvaluator in the main try block to detect whether the target workspace
already contains traces. Require an explicit force/override option before
continuing with a reused workspace, otherwise fail or warn and skip uploads;
preserve the current behavior for fresh workspaces and avoid executing the
upload path without this safeguard.
🪄 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: 018a6547-baa0-4c18-9ad9-8f1f4ffcf7fc

📥 Commits

Reviewing files that changed from the base of the PR and between 3a13f10 and 1ace963.

📒 Files selected for processing (8)
  • docs/get-started/example-agent.mdx
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/.env.example
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/RUNBOOK.md
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/agent.py
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/main.py
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/prepare-airline-datasets.sh
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/prepare-airline-smoke.sh
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/record_tau_airline_traces.py
💤 Files with no reviewable changes (1)
  • plugins/nemo-experimentalist/examples/tau3-nooa-agent/prepare-airline-smoke.sh

Comment thread plugins/nemo-experimentalist/examples/tau3-nooa-agent/agent.py Outdated
nicot added 2 commits July 31, 2026 11:47
Restore the example agent's original MCP behavior until conversation termination can be handled with a more thoroughly validated design.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
Use the configured agent and user-simulator models as recorder defaults so the documented environment controls execution.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
Keep the Tau3 workflow documented only in the getting-started guide.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
@nicot
nicot enabled auto-merge July 31, 2026 18:59
@nicot
nicot added this pull request to the merge queue Jul 31, 2026
Merged via the queue into main with commit c30bac1 Jul 31, 2026
56 checks passed
@nicot
nicot deleted the tau3-minimal-example-cleanup/ntonozzi branch July 31, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants