Skip to content

docs+test(custom-engine): finish http transport rollout#107

Merged
zpzjzj merged 3 commits into
mainfrom
docs/custom-engine-http-followups
Jun 23, 2026
Merged

docs+test(custom-engine): finish http transport rollout#107
zpzjzj merged 3 commits into
mainfrom
docs/custom-engine-http-followups

Conversation

@zpzjzj

@zpzjzj zpzjzj commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

What

Finishing touches now that the Custom Engine http transport has fully landed (JSON core #99, multipart http.files #102, artifacts.files[].url download #103). The implementation works, but the docs and e2e suite hadn't caught up.

Docs accuracy

  • docs/design/custom-engine.md: rewrite the stale "Phase 1 / not yet implemented / rejected by validation" status header and drop the "Not yet implemented in Phase 1" note above the HTTP transport section.
  • docs/guide/writing-evals.md + docs/zh/guide/writing-evals.md: stop telling users http fails validation; add a worked custom.http config example (url/method/headers/files/request_body) plus the HTTP-specific rules (structured ${session_input} injection, multipart payload, key-in-URL rejection, artifact URL download).
  • internal/agent/custom.go: fix the stale "planned http transport" comment on SessionInput.

Test coverage

  • e2e/custom_engine_test.go: add TestPipeline_CustomEngine_HTTPTransport. It stands up an in-process httptest server, points ${CUSTOM_AGENT_ENDPOINT} at it via a new eval-http.yaml (reusing the existing hello.yaml case), and asserts both that the framework POSTs a SessionInput carrying the case prompt and that the returned SessionResult reaches report.json with a PASS grading. No POSIX-shell fixture needed, so it also runs on Windows.

No behavior change; the [Unreleased] changelog already documents the feature.

Verification

  • make verify → 0 issues
  • go test ./internal/agent/... ./internal/config/... → ok
  • go test -tags e2e -run TestPipeline_CustomEngine_... ./e2e → all PASS (local, http, validate)

Out of scope (separate follow-ups)

🤖 Generated with Claude Code

zpzjzj and others added 2 commits June 22, 2026 15:28
The http transport (JSON request/response core, multipart http.files upload,
and artifacts.files[].url download) has landed, but the docs still described it
as "not yet implemented / planned / rejected by validation". Update the design
doc status header and HTTP-transport section, the EN/ZH writing-evals guides
(now with a worked http config example), and the stale SessionInput comment in
custom.go to reflect that both local and http are supported.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The pipeline e2e only covered transport: local. Add
TestPipeline_CustomEngine_HTTPTransport, which stands up an in-process httptest
server, points ${CUSTOM_AGENT_ENDPOINT} at it via a new eval-http.yaml (reusing
the existing hello.yaml case), and asserts both that the framework POSTs a
SessionInput carrying the case prompt and that the returned SessionResult flows
into report.json with a PASS grading. Needs no POSIX shell fixture, so it also
runs on Windows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@zpzjzj zpzjzj requested a review from hittyt as a code owner June 22, 2026 07:29
@zpzjzj zpzjzj self-assigned this Jun 22, 2026
@zpzjzj zpzjzj added the documentation Improvements or additions to documentation label Jun 22, 2026
@zpzjzj

zpzjzj commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

@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: 7fde68b610

ℹ️ 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 docs/guide/writing-evals.md Outdated
Per review: uploads use the fixed form field name `files`, with the
workspace-relative path carried in each part's `filename` (CreateFormFile("files",
rel)). The previous wording ("keyed by its workspace-relative path") could lead
server authors to look for per-path form keys. Make the EN/ZH guides say the
server reads each `files` part's filename.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@roark47 roark47 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@zpzjzj zpzjzj merged commit 1395c3a into main Jun 23, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants