Repository navigation
fix(agent): verify consequential single-round tool executions before final answers - #8441
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
Rebased onto upstream/main (including v3.1.3 and shared zstd unification); preserve only the scoped policy and regression tests. No lockfile or dependency-ceiling changes.
791d8bc to
3e5ceb8
Compare
|
CI validation note for the current draft head Update — October 28, 2026: The rerun request above applied to an older head, not the current PR. The refreshed head is |
Merge latest upstream changes without changing the independently tested verification logic.
Summary
Problem
The existing
verify_before_finishpolicy only triggers after five tool rounds or anytodocall. A consequential single-round edit or delegation can therefore be declared done without independent verification. The TinyAgentsFinishActivitycontract already distinguishes requested tools from executors that actually started, and from operations with side effects.Solution
Use the existing upstream-pinned TinyAgents
FinishActivity::{executed,executed_with_side_effects}accessors. Trigger only for enumerated consequential executions, fordelegate_*executions, or for started structural writes with side effects. Preserve the root-only orchestrator guard and the linked wrap-up budget suppression. No additional tool is installed or new protocol field introduced.CI recovery and upstream-base reconciliation
The initial Rust gates-off run measured 343/341 packages (312 names, 3 native) because the then-current upstream
mainresolved twozstdand twozstd-safeversions. An interim branch-only dependency unification removed those duplicate resolutions, but upstream subsequently merged #8457, which resolved the same version split using the newerzstd0.14 line.To avoid reintroducing stale dependencies or a conflicting lockfile, this PR has now been rebased onto upstream main
9d5a06c, preserving only the consequential-execution policy and its tests. The original two-file behavior change is retained;Cargo.toml,Cargo.lock, and the dependency-budget ceiling now match upstream main exactly. No policy gate was disabled or raised. Hosted CI on this exact rebased head remains required.Submission Checklist
verify_before_finish_tests.rs.## Related: N/A — no feature row added/removed; existing verify-before-finish policy.Closes #NNN: N/A — no confirmed matching issue; this is a targeted fork-derived improvement.Impact
FinishActivity::{executed, executed_with_side_effects}API; the rebased upstream main supplies that contract.Related
AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
Branch:
AmirrezaFarnamTaheri:upstream/verify-consequential-tool-execution-20261027Commit SHA:
1c2518deffd53c4c6a5e0e614d520c8e94bed206Upstream sync: merged
tinyhumansai/mainat546cb2bwithout overlapping source changes; hosted checks rerun on this merge head. The prior Rust coverage lane was cancelled before producing a complete result, so no passing coverage is claimed.Validation Run
pnpm --filter openhuman-app format:check— N/A: no frontend files.pnpm typecheck— N/A: no TypeScript files.cargo test -p openhuman --lib verify_before_finish— pending exact-head hosted verification.cargo fmt --all --check,cargo check -p openhuman— pending.Validation Blocked
command:local Cargo execution and exact-head hosted CI.error:the current work environment has no network checkout of the fork; hosted GitHub CI is the source of validation.impact:no local pass is claimed; PR remains draft pending checks.Behavior Changes
Parity Contract
Duplicate / Superseded PR Handling