Skip to content

Add strict eval report boundary - #32

Merged
vriesd merged 2 commits into
mainfrom
codex/eval-phase-1
Aug 24, 2026
Merged

Add strict eval report boundary#32
vriesd merged 2 commits into
mainfrom
codex/eval-phase-1

Conversation

@vriesd

@vriesd vriesd commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Phase 1 of the eval engineering plan establishes the trust boundary that every later analyzer and runner will consume.

What changed

  • Adds strict schema-derived v2 plans, attempt ledgers, completion records, and case policy.
  • Rejects legacy and summary-only evidence, duplicate or missing records, plan hash drift, budget contradictions, invalid terminal state, provenance shape gaps, and incomplete paired retries.
  • Adds RFC 8785-compatible canonical JSON, deeply frozen validated values, and isolated paired-plan invariants.
  • Records the four-model Interrogate findings, lead judgments, accepted fixes, and phase stop-gate evidence.

Verification

  • bun test tests/eval-report.test.ts. 19 pass, 0 fail.
  • bun run check. 430 pass, 1 intentional live-host skip, 0 fail.
  • flow contribution commit and push preflights passed. Gitleaks was unavailable, so the optional local secret scan was skipped.

The runner and release qualifier are intentionally unchanged. Sample-floor decisions land in Phase 2. Expected provenance comparison lands in Phase 3.

@vriesd
vriesd merged commit b6f3000 into main Aug 24, 2026
6 checks passed

@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: 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".

Comment thread evals/report-pairing.ts
Comment on lines +108 to +111
first?.schedule === "replacement-reserve" &&
second?.schedule === "replacement-reserve" &&
activatedReserveCells.has(first.cellId) !==
activatedReserveCells.has(second.cellId)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge 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 👍 / 👎.

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.

2 participants