Skip to content

docs: inventory runner contracts for eval-engine extraction - #65

Merged
bateau84 merged 1 commit into
eval-engine/01-architecturefrom
eval-engine/01-runner-contracts
Oct 7, 2026
Merged

bateau84 merged 1 commit into
eval-engine/01-architecturefrom
eval-engine/01-runner-contracts

Conversation

@bateau84

@bateau84 bateau84 commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Scope

Worker B for #58 (Task 1/9): post-PR-#45 runner contract/invariant inventory.

This PR is intentionally documentation-only. It does not implement the eval engine, change invoke, migrate Loom, add a public eval CLI, or define the final Task 1 architecture.

What it captures

  • one invoke = exactly one isolated invocation;
  • opencode-eval-runner/v1 result boundary;
  • mandatory/authoritative runtime_evidence/v1;
  • assertion-scoped evidence readiness and field states;
  • product vs evidence vs infrastructure failure separation;
  • inner vs outer timeout behavior;
  • retry ownership above invoke, cross-checked against Loom's current narrow retry policy;
  • OpenCode vs Copilot transport capability differences;
  • host output validation and host/image compatibility;
  • CLI and GitHub Action interface limits;
  • explicit unsupported areas and trusted-checkout scope;
  • current Loom behaviors that must not accidentally become runner contracts.

Validation

Cross-checked against the landed post-#45 contract:

eval-engine/01-architecture now matches main at the PR #45 merge commit. The worker branch has been rebased onto that exact state, leaving a one-file documentation diff.

Part of #58.

@bateau84
bateau84 force-pushed the eval-engine/01-runner-contracts branch from 45946d8 to 29b2b4d Compare October 7, 2026 08:16
@bateau84
bateau84 merged commit 45a8ee8 into eval-engine/01-architecture Oct 7, 2026
1 check passed
@bateau84
bateau84 deleted the eval-engine/01-runner-contracts branch October 7, 2026 08:20
bateau84 added a commit that referenced this pull request Oct 7, 2026
## Task

Closes #58 — **Task 1 of 9: Define generic orchestration boundary and
extraction contract**.

This PR is architecture/documentation only. It does not implement the
eval engine.

## Inputs integrated

Parallel worker results were merged into the integration branch first:

- #65 — runner contract/invariant inventory
- #66 — Loom eval-runner responsibility inventory

Both are based on the post-#45 merged `main` contract.

## Architecture decisions

The final synthesis defines:

- one `invoke` = exactly one isolated invocation;
- retry ownership exclusively in orchestration;
- `runtime_evidence/v1` as the only authoritative runtime-evidence
source;
- explicit separation of product, evidence, and infrastructure outcomes;
- generic ownership for planning, iterations, concurrency, attempts,
evidence-readiness mechanics, judge lifecycle, tri-state classification,
artifacts, and summaries;
- project/profile ownership for case semantics, fixtures, prompts,
evidence requirements, deterministic assertions, judge meaning,
thresholds, and ablation policy;
- explicit non-migration of Loom's old direct-container fallback, legacy
observer/evidence reconstruction, and superseded runner-safety paths;
- concrete internal module decomposition for Tasks 2–5;
- concrete internal contracts for normalized cases/jobs, invocation
specs, attempt records, retry policy, evidence requirements/readiness,
check outcomes, semantic decisions, and durable artifacts;
- initial standard/runtime concurrency-lane behavior;
- versioned internal run/artifact schemas;
- explicit Task 2–5 handoff boundaries.

No universal assertion DSL, public `eval` CLI, input JSON API, Loom
migration, or skill-ablation implementation is introduced.

## Files

- `docs/eval-engine-architecture.md` — final Task 1 synthesis
- `docs/eval-engine-runner-contracts.md` — worker B inventory
- `docs/loom-eval-runner-responsibility-inventory.md` — worker A
inventory

## Branch topology

- integration branch: `eval-engine/01-architecture`
- base: `main`
- worker branches were merged into the integration branch before
synthesis.

## Acceptance

The architecture is intended to let Tasks #59–#62 proceed independently
without redesigning the ownership boundary.

Documentation only; no runtime behavior changes.
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