Skip to content

Feat/structured comparison result - #21

Merged
RLungWu merged 2 commits into
mainfrom
feat/structured-comparison-result
Aug 28, 2026
Merged

Feat/structured comparison result#21
RLungWu merged 2 commits into
mainfrom
feat/structured-comparison-result

Conversation

@RLungWu

@RLungWu RLungWu commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Problem

What situation existed before this change? Why did it need to change?

Change

What did you actually do? Summarize the change, not the diff line-by-line.

Design Decisions

Any non-obvious choices made while implementing this — trade-offs, rejected
alternatives, or anything a future reader would ask "why did you do it this
way?" about.

Validation

  • pytest passes
  • ruff check . passes
  • mypy src passes
  • New behavior is covered by tests (unit / integration / golden)

Risks

What could this break? What wasn't tested? What assumptions might not hold
for other inputs or backends?

Related

  • Closes #
  • Milestone:
  • ADR (if applicable):

@RLungWu
RLungWu merged commit 0fd0a7c into main Aug 28, 2026
1 check passed
@RLungWu
RLungWu deleted the feat/structured-comparison-result branch August 28, 2026 10:30

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 40b601d9ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +38 to +39
positive_pair_count: int
positive_pair_rate: float

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Reject impossible positive-pair statistics

When a result is constructed or deserialized with values such as positive_pair_count=-1 or positive_pair_rate=1.5, strict Pydantic validation still accepts it because these fields have no range or consistency constraints. Since the milestone defines them as the count of positive improvements and its rate over pairs, the result model can currently represent impossible evidence as valid; validate the count and rate against their domains and the supplied pairs.

Useful? React with 👍 / 👎.

@@ -0,0 +1,122 @@
# ADR-0004: Define Comparison Value Semantics and Evidence Requirements

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Give the comparison decision a unique ADR number

This introduces an accepted ADR-0004, but ROADMAP.md:335-339 already reserves ADR-0004 for the findings-schema decision. Once that planned ADR is written, references to ADR-0004 will be ambiguous or one document will need to be renumbered retroactively; assign this decision an unused number or update the roadmap's planned numbering in the same change.

Useful? React with 👍 / 👎.

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.

1 participant