custom-engine · git:20260917.0186b47 · 2026-09-17 · sha256 86d3100a72d0e11f

custom-engine git:20260917.0186b47C

Immutable. This exact content is served forever at /api/v1/blob/86d3100a72d0e11f.

# Custom Engine e2e fixture

This directory is a minimal skill-up fixture that exercises the **Custom
Engine** local and http transports end-to-end. It is consumed by
`e2e/custom_engine_test.go`.

`agent.sh` + `evals/eval.yaml` cover the **local** transport: `agent.sh` is a
deterministic stand-in for a real custom agent that reads the `SessionInput`
JSON the framework writes to `${input_file}` and emits a fixed `SessionResult`
on stdout. The case asserts that `final_message` flows from the agent's stdout
into the report.

`evals/eval-http.yaml` exercises the **http** transport against the same
`hello.yaml` case. `TestPipeline_CustomEngine_HTTPTransport` starts an
in-process `httptest` server, points `${CUSTOM_AGENT_ENDPOINT}` at it, and
asserts the posted `SessionInput` reaches the server and the returned
`SessionResult` flows into the report — so the http stand-in agent lives in the
test rather than in `agent.sh`.

The `eval-stateful-*.yaml` fixtures exercise opt-in stateful conversations for
both transports, including session-ID propagation, per-turn post-conditions,
capture, substitution, and a final response that needs no continuation ID.