Repository navigation
Normalize Nemotron terminal prompts and empty turns - #292
Conversation
There was a problem hiding this comment.
🟡 Acceptable logic, but SFT samples are stale. The raw_to_atif.py changes are correct — splitting the combined user/system prompt and filtering empty turns is the right normalisation. One blocking issue prevents merge.
This review was generated by an AI agent (OpenHands) on behalf of the repository maintainers.
Was this automated review useful? React with 👍 or 👎 to this review to help us measure review quality.
Workflow run: https://github.com/neulab/agent-data-protocol/actions/runs/28747951247
There was a problem hiding this comment.
🟡 Acceptable logic, SFT samples now regenerated. The prompt-splitting and empty-turn filtering in atif_to_std.py are correct, and the blocking issue from the previous review (stale SFT samples) is resolved. One new correctness edge case found; two previously flagged issues in unresolved threads remain open.
Still-open from prior threads:
step_id=2placeholder on the newly inserted step is still present (misleading, flagged in unresolved thread).- PR description still omits the design-decision catalog and structured test results required by AGENTS.md for dataset format changes.
Was this automated review useful? React with 👍 or 👎 to this review to help us measure review quality.
Workflow run: https://github.com/neulab/agent-data-protocol/actions/runs/28751013082
2392dba to
44a8d1c
Compare
There was a problem hiding this comment.
🟡 Acceptable — one minor edge case to consider. The prompt-splitting and empty-turn filtering logic is correct, and all previously blocking issues (stale SFT samples, step_id placeholder, PR description gaps) are resolved. CI passes (test (3.12), pre-commit, check_dataset_metadata, check-pr-artifacts). One remaining edge case in structure_terminal_completion is noted below.
This review was generated by an AI agent (OpenHands) on behalf of the repository maintainers.
Was this automated review useful? React with 👍 or 👎 to this review to help us measure review quality.
Workflow run: https://github.com/neulab/agent-data-protocol/actions/runs/28754029410
There was a problem hiding this comment.
🟢 Good taste. All previously blocking issues are resolved. The logic in normalize_nemotron is correct: structure_terminal_completion_step runs before the empty-turn filter (converted steps gain a ToolCall and are therefore not filtered), and renumber_steps runs last after the filter. The commands = payload.get("commands") or [] fix and the empty-message guard are both sound. Sample files are valid JSON with trailing newlines, 5 matching records, and correct function_call roles throughout.
One observation, not blocking: split_terminal_task_description_prompt calls renumber_steps internally, and normalize_nemotron calls it again at the end after filtering empty turns. The first numbering is immediately overwritten, but since the internal call is inside the shared helper (used by other datasets too), the double-renumber is unavoidable here and harmless.
Was this automated review useful? React with 👍 or 👎 to this review to help us measure review quality.
Workflow run: https://github.com/neulab/agent-data-protocol/actions/runs/28754282199
This review was generated by an AI agent (OpenHands) on behalf of the repository maintainers.
Closes #281.
Refs #296.
Summary
Design decisions
Validation
Known limitations