Skip to content

feat(agent): verify complete_step evidence receipts#2540

Merged
esengine merged 2 commits into
esengine:main-v2from
GTC2080:GTC/host-verified-step-evidence
Jun 1, 2026
Merged

feat(agent): verify complete_step evidence receipts#2540
esengine merged 2 commits into
esengine:main-v2from
GTC2080:GTC/host-verified-step-evidence

Conversation

@GTC2080

@GTC2080 GTC2080 commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Related to #2537

Summary

  • Add a runtime-only internal/evidence ledger for per-turn tool receipts.
  • Record successful and failed tool executions in the agent loop without writing receipts to prompts, tool schemas, or persistent session state.
  • Verify complete_step verification/diff/files evidence against successful host receipts; manual evidence remains allowed but is marked manual/unverified.
  • Keep complete_step read-only, while forcing batches that contain it through sequential execution so receipt ordering is reliable.

Conflict check

  • Scoped away from active auto-plan, worktree agent, goal state, cache diagnostics, and MCP startup/import PR areas.
  • No UI changes.
  • No performance claims.
  • No prompt or tool schema changes.

Review evidence

  • No UI changes; screenshots not applicable.
  • No performance claims; cache hit rate, token consumption, and runtime metrics are not claimed for this correctness change.
  • No prompt or tool schema changes, so cache/token behavior should be unchanged.

Verification

  • D:\Go\go\bin\go.exe test ./internal/evidence ./internal/tool/builtin ./internal/agent: PASS
  • D:\Go\go\bin\go.exe test ./internal/...: PASS
  • git diff --check: PASS

Notes

  • The local legacy npm git hook still expects package.json on this Go branch. The commit was made with --no-verify after the Go validation above passed.

@github-actions github-actions Bot added the v2 Go rewrite (1.x) — main-v2 branch, active development label Jun 1, 2026
@GTC2080 GTC2080 force-pushed the GTC/host-verified-step-evidence branch from 3f0cdd2 to 5f785a5 Compare June 1, 2026 07:39
Port the complete_step serial-ordering guard onto main-v2's
partitionToolCalls model (canParallelise was removed): complete_step is
read-only but reads the turn's evidence ledger, so it never joins a
parallel run — it forms its own serial batch after prior receipts record.

Add an end-to-end Run() test driving bash then complete_step through the
real agent loop, proving cited commands host-verify and uncited ones are
rejected.
@esengine esengine force-pushed the GTC/host-verified-step-evidence branch from a23f811 to ab7a4e8 Compare June 1, 2026 10:49
@esengine esengine merged commit 21e28da into esengine:main-v2 Jun 1, 2026
2 checks passed
@GTC2080 GTC2080 deleted the GTC/host-verified-step-evidence branch June 2, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants