Skip to content

chore: remove verify script dead code - #4102

Closed
melmennaoui wants to merge 1 commit into
mainfrom
chore/remove-verify-dead-code
Closed

chore: remove verify script dead code#4102
melmennaoui wants to merge 1 commit into
mainfrom
chore/remove-verify-dead-code

Conversation

@melmennaoui

Copy link
Copy Markdown
Contributor

Summary

Remove the verify field from EvalCriteria and all supporting code. This was shipped in #4088 and #4089 but is dead code — it cannot work without container lifecycle changes that aren't warranted.

Why

The verify concept (run a shell script via docker exec on the eval container post-agent) requires the container to stay alive after the agent exits. The current pipeline uses --rm, so the container is deleted before verify could run.

The assertion system already covers the verifiable cases:

  • Response text: contains, not_contains, equals, regex, starts_with, ends_with
  • Tool usage: tool_called
  • Cost: cost_threshold

All of these operate on the captured event stream — no live container needed.

Removed

  • EvalCriteria.Verify field
  • VerifyCheck type and EvalResultChecks.Verify field
  • cloneEvalResultChecks verify branch
  • pkg/evaluation/verify.go and verify_test.go
  • Verify test case in session_test.go

Forward compatibility

EvalCriteria.UnmarshalJSON uses DisallowUnknownFields, so a verify field in an eval JSON will produce a clear error. If a real need emerges later, adding the field back is a one-line change.

Remove the verify field from EvalCriteria and all supporting code.

The verify concept (running a shell script via docker exec on the eval
container after the agent completes) cannot work without container
lifecycle changes: the container uses --rm and is deleted before verify
could run. The assertion system already covers verifiable cases —
response text, tool calls, cost — via the captured event stream.

Rather than ship dead code that creates user confusion (the schema
accepts it, nothing runs it), remove it entirely. The schema's
DisallowUnknownFields rejection ensures a future verify field can be
added cleanly when a real need is proven.

Removed:
- EvalCriteria.Verify field
- VerifyCheck type and EvalResultChecks.Verify field
- cloneEvalResultChecks verify branch
- verify.go and verify_test.go
- verify test case in session_test.go
@melmennaoui
melmennaoui force-pushed the chore/remove-verify-dead-code branch from ca9c9e3 to 3805fc3 Compare September 1, 2026 15:55
@melmennaoui

Copy link
Copy Markdown
Contributor Author

Folded into #4103

@melmennaoui melmennaoui closed this Sep 1, 2026
@aheritier aheritier added kind/chore Maintenance, deps, CI, tooling (maps to chore: commit prefix) status/needs-triage For issues that need to be triaged labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/chore Maintenance, deps, CI, tooling (maps to chore: commit prefix) status/needs-triage For issues that need to be triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants