Skip to content

CR-129: Define external evaluator adapter contract#102

Merged
coreytshaffer merged 1 commit into
mainfrom
codex/cr-129-external-evaluator-adapter-contract
Jul 17, 2026
Merged

CR-129: Define external evaluator adapter contract#102
coreytshaffer merged 1 commit into
mainfrom
codex/cr-129-external-evaluator-adapter-contract

Conversation

@coreytshaffer

Copy link
Copy Markdown
Owner

What changed

  • Add external_evaluator_adapter_contract.v0 as a documentation-only boundary.
  • Reserve a future closed-profile tc eval invoke-external shape without implementing a CLI or subprocess.
  • Define mandatory evaluator identity and version, fixed bundle mapping, explicit cwd, result ownership, network posture, exit meanings, output encoding and caps, and process-tree timeout behavior.
  • Require CR-128 bundle validation before any future process launch.
  • Add drift tests proving no generic executable, free-form argv, CLI, or runtime adapter surface exists.
  • Reconcile CR-128 status after PR CR-128: Validate evaluation handoff bundle integrity #101 merged and update the handoff docs, backlog, and changelog.

Why

The repository documents the external evaluator conceptually but does not yet own a versioned executable interface, bundle-aware argument contract, result destination, network posture, or portable termination behavior. Implementing a generic subprocess wrapper now would create an unsafe arbitrary-command surface. CR-129 records the prerequisites for a separately approved code-bearing slice.

Impact

This change adds no runtime behavior. TriageCore still does not launch evaluators, create or parse evaluator results, score cases, interpret exit statuses, write ledger evidence, or claim offline execution, approval, safety, or correctness.

Validation

  • Focused contract tests: 10 passed.
  • Full suite: 1002 passed, 3 skipped.
  • git diff --check: clean.
  • Runtime source contains no invoke-external command or external evaluator adapter module.

@coreytshaffer
coreytshaffer marked this pull request as ready for review July 17, 2026 09:05
@coreytshaffer
coreytshaffer merged commit 0795c04 into main Jul 17, 2026
3 checks passed
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