Add strict eval report boundary - #32
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8ca940e76
ℹ️ 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".
| first?.schedule === "replacement-reserve" && | ||
| second?.schedule === "replacement-reserve" && | ||
| activatedReserveCells.has(first.cellId) !== | ||
| activatedReserveCells.has(second.cellId) |
There was a problem hiding this comment.
Reject reserves without an eligible infrastructure failure
When a primary block ends with unscored-escalation or a non-retryable failure, this check only requires both reserve cells to be activated; it never requires the replaced block to contain a retryable evaluator, host, or provider failure. A complete report containing one primary escalation, the other primary product, and a complete reserve pair therefore returns ok: true. This permits selective replacement of user-level outcomes and changes which pairs enter the experiment, so reserve activation should be rejected unless it replaces an eligible failed block.
Useful? React with 👍 / 👎.
Phase 1 of the eval engineering plan establishes the trust boundary that every later analyzer and runner will consume.
What changed
Verification
The runner and release qualifier are intentionally unchanged. Sample-floor decisions land in Phase 2. Expected provenance comparison lands in Phase 3.