Skip to content

Retain invalid integration IDs as unresolved findings - #427

Merged
Vilin97 merged 1 commit into
mainfrom
fix/review-invalid-resolution-ids
Sep 13, 2026
Merged

Vilin97 merged 1 commit into
mainfrom
fix/review-invalid-resolution-ids

Conversation

@Vilin97

@Vilin97 Vilin97 commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

A large review aborted in its fourth rubric when the integration model cited an unknown obligation ID. Preserve that diagnostic and any unresolved real obligations in a discussion verdict instead of aborting the entire run. Unknown IDs cannot support approval, including an ID that tries to name its own diagnostic.

Also checkpoint each completed rubric so a later failure retains its integrated evidence, coverage, and ordered source reports.

Validation: all 381 Python tests pass; Ruff check/format and diff checks pass. Regressions cover unknown IDs, attempted self-resolution, and retention of a completed rubric after a later failure.

@Vilin97
Vilin97 merged commit 77cb8ae into main Sep 13, 2026
9 checks passed
@greptile-apps

greptile-apps Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict.

Retrigger

The PR appears safe to merge, with a non-blocking reliability improvement recommended for atomic evidence checkpoint replacement.

Findings

  1. P2 Checkpoint Can Be Corrupted ▶

Summary

  • Unknown IDs now force a discussion verdict and remain visible as diagnostics.
  • Completed rubric results are persisted before subsequent rubric execution.
  • Regression tests cover unknown IDs, self-resolution attempts, and later rubric failures.

Reviews (1) · Last reviewed commit: "Retain unknown integration IDs as unreso..."

verdict = normalize_rubric_verdict(spec, result.payload)
print(f"Rubric {spec.key}: {verdict}.", file=sys.stderr)
outcomes.append(RubricOutcome(spec=spec, result=result, verdict=verdict))
_write_review_evidence([outcome.result for outcome in outcomes])

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 Checkpoint Can Be Corrupted

Each completed rubric rewrites the evidence file in place. If a later write is interrupted or fails after truncating the file, the valid earlier checkpoint can become malformed or incomplete, defeating the new recovery guarantee. Write to a temporary sibling and atomically replace the artifact so the last complete checkpoint survives.

Knowledge Base Used:

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