Skip to content

Trajectory step 4: report-only number check in the PR body - #594

Merged
renmengye merged 4 commits into
mainfrom
feat/trajectory-number-check
Oct 25, 2026
Merged

renmengye merged 4 commits into
mainfrom
feat/trajectory-number-check

Conversation

@renmengye

@renmengye renmengye commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Trajectory step 4: a report-only check that numbers in the author's report were measured. Stacked on #593; GitHub retargets it to main once #593 merges.

  • src/outerloop/number_check.py is pure: no I/O and no events.
    • It examines report lines that mention the metric, "baseline" or "candidate".
    • It skips only the two kinds of number that cannot be a measured value: a seed ("seed 8271", "seeds 3, 4") and a #123 reference. Small integers, years and percentages are checked: the check is report-only, so a rare false flag is cheaper than hiding a claim.
    • A number matches if, rounded to the decimals it was written with and ignoring sign, it equals:
      • a measured value (any measure event's baseline or candidate);
      • the gap between two measured values, i.e. a reported improvement;
      • a number in an Experiments result cell.
    • A percentage matches the relative gap between two measured values.
  • The PR body gains ## Number check listing unmatched values, marked "Report-only; nothing was blocked". The section is omitted when everything matches.
  • Per the PI's decision C, nothing is blocked and no gate, panel or publish decision changes. No new trajectory events.

Gate: ruff check, ruff format --check, mypy, pytest (3079 passed, 7 skipped).

Built by DeepSeek-V4.1-Flash, with improvement-gap and sign matching added by Claude; reviewed by Claude.

@renmengye renmengye added the outerloop:review re-request the advisory review label Oct 25, 2026

@github-actions github-actions Bot 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.

Round 1 — reviewed head f212b597 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: 1 blocking, 0 advisory.

1 finding attached to the lines below.

The number-check section can exceed the bounded PR body.

Comment thread src/outerloop/orchestrator.py Resolved

@github-actions github-actions Bot 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.

Round 2 (re-run on the same head) — reviewed head f212b597 — reviewer summarizer:hermes/gpt-5.6-terra over coverage+credentials+deployment+general+lifecycle+prose.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: 1 blocking, 5 advisory.

6 findings attached to the lines below.

Merged verdict: one blocking redaction leak and five correctness/coverage findings. Rejected: none; the secret-leak and spaced-percentage reports were duplicates merged across agreeing lenses. The prose-lens secret finding was recorded as a suggestion and its detail retained verbatim as required.

Comment thread src/outerloop/orchestrator.py Resolved
Comment thread src/outerloop/number_check.py Resolved
Comment thread tests/test_orchestrator.py Resolved
Comment thread src/outerloop/number_check.py Resolved
Comment thread src/outerloop/number_check.py Resolved
Comment thread src/outerloop/number_check.py Resolved
…dles scientific notation, spaced percentages and zero gaps
@renmengye renmengye added outerloop:review re-request the advisory review and removed outerloop:review re-request the advisory review labels Oct 25, 2026

@github-actions github-actions Bot 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.

Round 3 — reviewed head c46a11a4 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: nothing blocking — 1 advisory note.

1 finding attached to the lines below.

The number check does not skip decimal values on seed lines.

Comment thread src/outerloop/number_check.py Resolved
@renmengye

Copy link
Copy Markdown
Member Author

e4b0260 narrows the skips after the PI's review of a demo. Only seeds ("seed 8271", "seeds 3, 4") and #123 references are skipped now. Small integers, years and percentages are checked, and percentages match the relative gap between measurements. The demo had shown that skipping every integer on a line mentioning a seed hid an invented integer step count.

@renmengye renmengye added outerloop:review re-request the advisory review and removed outerloop:review re-request the advisory review labels Oct 25, 2026

@github-actions github-actions Bot 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.

Round 4 — reviewed head e4b02602 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: nothing blocking — 2 advisory notes.

2 findings attached to the lines below.

The number check misses an Oxford-comma seed and accepts gaps assembled from unrelated measurements.

Comment thread src/outerloop/number_check.py Resolved
Comment thread src/outerloop/number_check.py Resolved
Base automatically changed from feat/trajectory-tool-calls to main October 25, 2026 17:40
@renmengye
renmengye merged commit 702d7b7 into main Oct 25, 2026
1 check passed
@renmengye
renmengye deleted the feat/trajectory-number-check branch October 25, 2026 17:47
@renmengye renmengye mentioned this pull request Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

outerloop:review re-request the advisory review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant