Repository navigation
Add versioned cross-stack tool-calling qualification - #1246
Sayan Shaw (sayanshaw24) wants to merge 9 commits into
Conversation
Compose the direct GenAI report, Foundry protocol gate, and real Copilot coding-agent runs into a versioned per-model and per-backend verdict with reproducibility fingerprints. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix the qualification root, support Copilot CLI releases where offline mode supersedes the removed remote-export flag, and qualify the current Linux bash schema in the oneOf profile. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Direct the agent to trust the authoritative file read instead of spending its output budget re-deriving Unicode byte encodings; exact payload and final-file checks remain unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
🟡 Changes recommended
Cross-stack verdicts need direct-report model identity validation and retained, fingerprinted evidence.
2 open issues
What changed in this PR
Adds versioned, per-model/per-backend tool-calling qualification by combining the existing Foundry protocol and coding-agent gates with optional direct ORT GenAI evidence.
Changes:
- Adds repeated qualification runs across schema profiles, with environment fingerprints and consolidated verdicts.
- Updates the coding-agent gate for current Copilot CLI releases, both shell tools, and clearer exact-byte fixture instructions.
- Documents the qualification command and Foundry-only versus cross-stack scope.
| File | Description |
|---|---|
sdk_v2/cpp/test/manual/tool_call_qualification.py |
Adds qualification orchestration, report assessment, and artifact metadata. |
sdk_v2/cpp/test/manual/coding_agent_gate.py |
Updates CLI compatibility, shell schema handling, self-tests, and fixture instructions. |
sdk_v2/cpp/README.md |
Documents qualification usage and recorded evidence. |
Review effort: Balanced
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Baiju Meswani (baijumeswani)
left a comment
There was a problem hiding this comment.
This PR adds one repeatable way to run the existing tool-calling checks and collect their results for a model and backend. It can include a direct GenAI report, runs the Foundry HTTP checks and real Copilot coding workflows, and saves a versioned result with evidence links and hashes.
The approach is useful: it reuses the existing gates, clearly separates Foundry-only results from cross-stack results, keeps raw prompts and outputs local, and preserves the exact-byte checks. All three offline self-tests passed (103 checks), along with Ruff, Python compilation, and whitespace checks. I did not repeat the real-model qualification.
Before approval, please fix the outer-timeout cleanup and preserve completed results when a later check fails. The other inline comments are smaller compatibility and design suggestions, not requests to change model or inference behavior.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts: # .github/workflows/samples-integration-test.yml
Windows console control events may be unavailable in CI. Verify the owned child has actually exited after Job Object cleanup instead of requiring a graceful-handler marker. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>


Why
Tool-calling correctness currently has strong individual gates, but no reproducible per-model/per-backend contract that combines direct ORT GenAI behavior, Foundry HTTP protocol fidelity, and a sustained real coding-agent workflow.
What
tool_call_qualification.py, a versioned orchestrator for one model/backend.benchmark_toolcalling.pyend-to-end report.minlength, andoneofschema profiles.qualification.json.localhost, IPv4, and IPv6 endpoints as the coding gate.COPILOT_OFFLINEsupersedes the removed--no-remote-exportflag.oneofdiagnostic profile to the platform's actual shell tool (bashorpowershell).Validation
Offline/component:
python3 -m py_compileon both manual gatespython3 -m ruff checkon both manual gatestool_call_qualification.py --self-testcoding_agent_gate.py --self-testtool_call_gate.py --self-testAt
31b08bfd, current main is merged, Python compilation and Ruff pass, all 12 qualification self-checks pass (including a real owned-child timeout and partial-result persistence), and the coding-agent/protocol self-tests pass on Linux. The first Windows CI run exposed an overly strict graceful-cleanup marker in the timeout self-test; the follow-up verifies actual Windows child-process termination after Job Object cleanup. The latest CI matrix establishes Windows and macOS results, not local claims.Real CUDA qualification on an NVIDIA H200 with Qwen 3.8 27B:
native,minlength, andoneofThe direct report is produced by the benchmark introduced in microsoft/onnxruntime-genai#2687. It remains optional so Foundry-only qualification is explicit rather than silently pretending to be cross-stack.