Skip to content

fix: resolve false-positive run failures#154

Merged
coketaste merged 1 commit into
developfrom
coketaste/rocm-27774
Jul 13, 2026
Merged

fix: resolve false-positive run failures#154
coketaste merged 1 commit into
developfrom
coketaste/rocm-27774

Conversation

@coketaste

@coketaste coketaste commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Execution (ROCM-27774): the post-run log scanner greps the entire run
    log for error substrings, including a model's own generated stdout. A
    generative benchmark (e.g. an LLM writing ValueError: inside a code
    sample it generated) could flip an otherwise fully-passing run to
    FAILURE even though valid performance metrics were already recorded.
    Since the scan can't distinguish framework/harness diagnostics from model
    output, valid extracted performance metrics now take priority over a
    pattern match. The match is still printed (in yellow) for triage
    visibility instead of being silently dropped.

Test plan

  • tests/unit/test_container_runner_helpers.py — new TestResolveRunStatus
    cases covering the performance-vs-error-pattern priority (ROCM-27774)
  • Full unit suite passes (pytest tests/unit -q)

…rmance metrics are valid

The post-run log scanner greps the entire run log, including a model's own
generated stdout, so a generative benchmark (e.g. an LLM writing "ValueError:"
in a code sample) could flip an otherwise-successful run to FAILURE. Since the
scan can't distinguish framework diagnostics from model output, valid
extracted performance metrics now take priority over a pattern match; the
match is still surfaced (in yellow) for triage instead of silently dropped.

Fixes ROCM-27774.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coketaste coketaste self-assigned this Jul 9, 2026
Copilot AI review requested due to automatic review settings July 9, 2026 15:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adjusts post-run status determination so that when valid performance metrics are extracted, a log error-pattern match no longer flips the run to FAILURE (the match is still surfaced for triage). This mitigates false failures when generative model output includes error-like substrings.

Changes:

  • Introduces resolve_run_status() to centralize status/reason selection with the new “performance wins” priority.
  • Updates ContainerRunner status logic to use resolve_run_status() and print SUCCESS-with-error-match in yellow.
  • Adds unit tests and updates documentation to reflect the revised log-scan behavior.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
tests/unit/test_container_runner_helpers.py Adds unit tests covering the new status resolution rules.
src/madengine/execution/container_runner.py Refactors status assignment/printing to use resolve_run_status() and implement the new priority.
src/madengine/execution/container_runner_helpers.py Adds resolve_run_status() helper with documented precedence rules.
docs/configuration.md Updates documentation for log error pattern scan behavior when performance metrics are present.
Comments suppressed due to low confidence (1)

src/madengine/execution/container_runner.py:1876

  • has_performance calls performance_value.strip() twice and will raise if performance_value is not a string. Computing the stripped value once (and guarding type) avoids duplicate work and makes status determination more robust.
                                has_performance = bool(
                                    performance_value
                                    and performance_value.strip()
                                    and performance_value.strip() != "N/A"
                                )

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/madengine/execution/container_runner.py
Comment thread src/madengine/execution/container_runner_helpers.py
@coketaste coketaste changed the title fix(execution): don't fail runs on log error-pattern match when perfo… fix: resolve false-positive run failures Jul 9, 2026
@coketaste
coketaste merged commit 47c467f into develop Jul 13, 2026
1 check passed
coketaste added a commit that referenced this pull request Jul 13, 2026
Document the three fixes on develop ahead of main: log error-pattern
match no longer overrides valid performance metrics (#154), sglang-disagg
co-located proxy support (#149), and MAD_SECRETS_* redaction in printed
commands (#150).

Co-authored-by: Claude Opus 4 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants