Problem
OpenCodeReview can produce useful findings while some selected files or subtasks fail. Consumers currently receive aggregate status and warnings, but not a complete machine-readable record of which files were selected, completed, reused, failed, or waived. This allows a partial review to look complete.
A retained cross-repository study observed 117 fully successful runs out of 145 attempts (80.7%), while 142 runs produced some usable output (97.9%). In a matched same-commit comparison, one run reviewed 90 files but reported 16 provider-concurrency subtask failures. Useful output and complete coverage are materially different states.
PR 306 added resumable sessions and file checkpoints, which appears to be the right substrate. This request is a narrow output-contract follow-up, not a parallel persistence system.
Desired behavior
Expose a versioned immutable run manifest through JSON output and persisted sessions containing:
- canonical run/session ID and parent/resume ID;
- repository identity, requested head, resolved base, and exact range;
- OCR version, provider/model identifier, configured concurrency, and non-secret rule/config hashes;
- selected, completed, reused, failed, and explicitly waived file sets;
- typed failure classification per failed item;
- terminal state: complete, partial, failed, or skipped;
- redacted source artifact checksum and elapsed execution metadata.
A partial result may still publish useful findings, but it must not be represented as ordinary success or as a complete no-findings result.
Acceptance criteria
- JSON output and the persisted session expose the same coverage values.
- Selected/completed/reused/failed arrays are machine-readable and stable under a versioned schema.
- Mixed-success runs terminate as partial until failed items are resumed successfully or explicitly waived.
- Resume retains the original input identity and links to its parent session.
- Tests cover full success, zero findings, mixed failures, resume, cancellation, and provider transition.
- No credentials, raw secrets, or provider tokens are emitted.
Related work
- PR 306: resumable sessions and file checkpoints
- PR 179: persisted review results/viewer
Neither currently provides the complete selected-versus-completed coverage contract requested here.
Problem
OpenCodeReview can produce useful findings while some selected files or subtasks fail. Consumers currently receive aggregate status and warnings, but not a complete machine-readable record of which files were selected, completed, reused, failed, or waived. This allows a partial review to look complete.
A retained cross-repository study observed 117 fully successful runs out of 145 attempts (80.7%), while 142 runs produced some usable output (97.9%). In a matched same-commit comparison, one run reviewed 90 files but reported 16 provider-concurrency subtask failures. Useful output and complete coverage are materially different states.
PR 306 added resumable sessions and file checkpoints, which appears to be the right substrate. This request is a narrow output-contract follow-up, not a parallel persistence system.
Desired behavior
Expose a versioned immutable run manifest through JSON output and persisted sessions containing:
A partial result may still publish useful findings, but it must not be represented as ordinary success or as a complete no-findings result.
Acceptance criteria
Related work
Neither currently provides the complete selected-versus-completed coverage contract requested here.