Repository navigation
feat(adk): read returned plain tool closures with invocation evidence - #965
Open
pengfei-threemoonslab wants to merge 5 commits into
Open
pengfei-threemoonslab wants to merge 5 commits into
pengfei-threemoonslab wants to merge 5 commits into
Conversation
pengfei-threemoonslab
marked this pull request as ready for review
October 5, 2026 17:00
Contributor
Author
|
Review (2026-10-05): holding this PR, not merging. It is based on an older #964 commit ( |
pengfei-threemoonslab
force-pushed
the
codex/874-returned-tool-lists
branch
from
October 8, 2026 08:55
1db868c to
e8f997a
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft validation notice: renewed independent review identified scope gaps involving comprehension assignments, eager headers, generic type parameters, and unevaluated annotations. The shared correction is being validated on #964; #965 will be restacked afterward. Earlier clear-validation statements below apply to the previous head and do not establish readiness. The final source, replay provenance, committed verification and hosted checks will replace this notice before readiness.
ADK agents that select plain nested functions from a synchronous factory's returned list, tuple or literal-key dictionary currently lose that tool binding. This change follows those fresh functions through the established factory invocation and records their source locations and per-agent captured literal values.
The reader checks every eager nested header, including unselected dictionary members. Executable headers, decorated tools, named capture aliases, callbacks, shared mutable defaults and unproved parent cells keep explicit limits. Unknown captures establish no complete implementation comparison, and their diagnostics omit literal argument payloads. Factory namespace and retained-container ownership checks still apply to empty projections. OpenAI Agents SDK remains outside this plain-closure route.
This is the next bounded increment for #874, stacked on #964. Foreign target-agent surfaces, runtime runner retention and instance attributes remain subsequent work. It does not claim complete #874 or Vesta acceptance.
Validation: the full suite passed 15,100 tests with 7 skips (20m01s). The focused reader suite passed 896 tests, static-only checks passed 522 tests, and all five latency gates passed (7.18s). Ruff and whitespace checks passed; fixture self-check reports ready. Both independent reviewers cleared the change, including separate probes for nonlocal cells, per-agent capture separation, payload privacy and empty-projection namespace escapes.
The frozen 49-case replay completed with all members answering: 1 compared, 42 partial and 6 not established. All 68 established rows (60 changed, 8 added across 9 members), all statuses/limits/row payloads, and all other substantive answer content are unchanged from
87381ec12. Tuatha's combined-scope output carries updated nested engine identities; its substantive answer is unchanged. This replay is unscored and claims no new Q qualification. Independent source audit validated 98 tree pins, 49 merge bases, 44 definitions, 15 constructions and 41 import blobs. All 51 engine occurrences match one engine. The replay ran on the reviewed uncommitted overlay, and its entire engine requirement is equivalent to the clean committed source on0399f386d. Hosted CI will be recorded before marking the PR ready.Local boundary checking names no recognized host changes and requires verification. Fresh committed verification against
origin/main...HEADreportscontrol_state=complete,decision=passedand all six permissions true on0399f386d.