Skip to content

fix(application): retain unread SDK tool-list candidates - #1010

Merged
pengfei-threemoonslab merged 3 commits into
mainfrom
codex/fix-1001-application-rows
Oct 10, 2026
Merged

pengfei-threemoonslab merged 3 commits into
mainfrom
codex/fix-1001-application-rows

Conversation

@pengfei-threemoonslab

@pengfei-threemoonslab pengfei-threemoonslab commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

When constructor or returned-handle ownership is unread, the SDK reader can discard an inspectable tools initializer. This retains readable function references as explicitly unestablished candidates, with the original constructor/list refusal attached to each tool. Constructor identity, list mutation, handle escape, and release control checks remain in force.

Refs #1001. This is a diagnostic increment accepted by the owner on 2026-10-10; it does not close the issue or claim restored Q2 eligibility. Continue #915 after this increment's review.

Reproduction and remaining acceptance

At the frozen CRM#5 and MIS_TALENT#7 refs:

  • 0e58e6ff and the parent of feat(readers): follow caller-supplied agent lists #963, 86ed18ef, produce the four Wycena changes and three Finance/Preflight changes.
  • 7c160cfb (feat(readers): follow caller-supplied agent lists #963) drops all Wycena rows and the Finance row, confirming the introducing change.
  • Current 68517566 additionally withholds constructor identities; the readable Preflight rows are also unestablished.
  • This increment restores the missing source evidence as candidates. Current constructor/caller refusal evidence is still reported; historical established status is not reasserted.

The four Wycena changes (policz_wycene, policz_wysylke, wyslij_obraz, znajdz_klienta) share a current caller-census refusal: dynamic import machinery in _smoke.py:5,14 leaves constructor identity unproved. Finance's load_and_validate additionally has an escaped returned handle and a retained namespace consumed as a value in app/api.py:25/26. These are evidence limitations, not proof that the application is unsafe.

The full 49-case remeasurement, scoring ledger, and released-build evaluation are deferred to the separate baseline implementation requested by the owner. #1001's established-row restoration and full-corpus acceptance remain open.

Type

  • Input adapter change

Authorship

  • A coding agent wrote some or all of this change. Agent: Codex.
  • A person read the whole diff before opening this pull request.

Verification

  • Focused regression and initializer boundary tests: 13 passed, also rerun independently.
  • Complete imported-tool review, shard-partition, and frozen-source constructor-dependency suites before the condition fix: 703 passed. The full imported-tool review and shard-partition suites after the fix: 226 passed.
  • Related SDK/ADK, builder, imported-tool, list-expression and application comparison suites passed.
  • Static-only adapter checks and both Git-ignore-affected host fixtures passed.
  • Performance budgets: 5 passed.
  • Ruff, compileall, self-check (ready: true), and source contract v42 passed.
  • Two real pinned application comparisons retain the missing named tools as not_established.
  • Committed-source verifier and refreshed control: complete, release decision passed.
  • GitHub checks for prior head 095c5e59724d14148b7cd903c4da45df2b4e2551: all 14 applicable checks passed, including all six suite shards and aggregate coverage. The release-tag consistency check was skipped by its pull-request condition.

CI for final head d142c7decdf771af7b0a5df5679b26d0b684d3bf: all 14 applicable checks passed, including all six suite shards and aggregate coverage. The release-tag consistency check was skipped by its pull-request condition.

The extended nightly matrix was not completed. Local Git fixture checks use a test-process-only override of the user's ignore file; user configuration was not changed.

Review and fixes

Author review retained existing definition limitations alongside the new candidate explanation. It also bounded total candidate allocation across repeated list spreads/concatenations, with a regression case. Initial CI found two old empty-row assertions and a missing measured weight for the new test file. The assertions now require unestablished rows with uncertainty and preserve both original refusal checks. The measured weight was added with its JUnit provenance; no test was excluded or marked xfail.

Independent review round 1 (head 095c5e5): one P2 finding. Recovered candidates omitted caller invocation conditions, so a changed caller condition was absent from the review. The fix applies those conditions with the same order and deduplication as normal list resolution, retaining initializer conditions and uncertainty. An end-to-end condition-change regression test was added.

Independent review round 2 (the final SDK/test patch, committed as d142c7d): the reviewer reran the original reproduction and all 13 focused tests. The P2 is addressed; no new actionable findings. Constructor, mutation, escaped-handle and uncertainty refusals remain. Both reviews were read-only; the coding agent implemented the fix.

Sequential combination validation

The six increments are stacked in the approved order through #1019 at a4ea56e5987bf. Against that unchanged source, 1,546 combination tests passed with 1 skip. Independent combination review passed another 383 tests and found no actionable P1/P2; candidate uncertainty, inherited conditions and refusal routes were preserved. These checks did not score a corpus or complete #1001's established-row acceptance.

Release-readiness notes

  • No user-code import added to default scan paths.
  • No network access added to default scan paths.
  • No report/schema or declaration changes.

Post-merge main verification

Squash-merged as cd1433be1b12; the resulting tree equals the independently reviewed PR head. On that main commit, 210 targeted regressions passed and local check/verifier control completed with release decision passed. Main CI run 38090003419 passed all 13 jobs, including six suite shards, aggregate coverage and release-tag consistency, before proceeding to the next merge. Baseline implementation and full established-row acceptance remain deferred/open as described above.

@pengfei-threemoonslab
pengfei-threemoonslab marked this pull request as ready for review October 10, 2026 18:12
@pengfei-threemoonslab
pengfei-threemoonslab merged commit cd1433b into main Oct 10, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant