Head fbad12d921701045fda50eddfb9ccf701ba232d4. Production source unchanged. Exact declaration assertions preserved as a verified tests-only patch. Working tree clean; bridge file ownership released. No new council, push or PR.
Real Pi CLI requests to a loopback completion gateway carried the full current 71-tool advertised T3 catalog. Two baseline runs were byte-identical. The head omits 56 T3 schemas. It does not reach the literal three-tool floor: guidance intentionally activates 12 optional tools in addition to the three direct orchestration tools.
Tool-schema bytes, including native Pi tools:
| Cold request | Base | Head |
|---|---|---|
| Total bytes | 59,306 | 25,906 |
| All declarations | 76 | 20 |
| T3 declarations | 71 | 15 |
| T3 schema bytes | 49,188 | 17,524 |
Cubic's claim that guidance restores almost the whole catalog is rejected by this capture. These are controlled cold-session byte counts, not token or billing estimates. Project instructions or later history may activate more tools.
The exact optional guidance hits are t3_thread_send, task_cancel, t3_thread_interrupt, t3_thread_launch, create_threads, t3_thread_read, t3_environment_links, t3_environment_link, request_secret, schedule_task, html_preview, html_render. Browser and device guidance is not included in this base orchestration section; device tools and preview_open/preview_status remain absent in this capture.
A later extension injects a previously unseen tool name through Pi's context hook. Request 1 declares it. The same response calls it, but Pi returns Tool mcp__t3-code__context_only_probe not found; MCP records zero calls. This differs from the already-passing message_end steer/tool-result cases.
The owner is Pi's request preparation: it snapshots executable tools before context transformation. The bridge's later setActiveTools and toolsAdded update visibility but not that current executable snapshot.
Both actual coding-agent SDKs, 0.80.5 and 0.99.0, loaded the unmodified bridge through their own loadExtensions and executed orchestrator_capabilities successfully. Each used jiti 2.7 and a matching pinned pi-ai version. The 0.80.5 helpers are absent, but jiti loads the module and the legacy guard avoids using them. The earlier missing cross-spawn setup failure was resolved in isolated scratch installs. Limit: context-hook runtime accessors were supplied because no CLI Runner was started; this is actual SDK loader and extension API proof, not a full old-Pi agent turn.
The exact added declaration, including parameters and exclusion of unused optional declarations, is asserted again. Omitting parameters or adding an unused optional schema passes all three old subset checks, but fails all three restored exact checks. The real source passes. check:changed passes 50 tests and affected checks.
The dispatcher chose a native Pi prerequisite, not bridge containment. Pi must provide a supported refresh of the current executable-tool snapshot after context hooks, or an equivalent public seam that keeps declarations and executable implementations coherent for the same response.
The native owner is AgentSession._installAgentRequestProjection in pi-coding-agent: prepareRequest copies agent.state.tools before pi-agent-core streamAssistantResponse runs transformContext. prepareToolCall later looks up the unchanged currentContext.tools. ExtensionAPI.setActiveTools updates the loadout but not that sliced request snapshot.
The identical context-only reproduction must declare and successfully execute the MCP tool in that same response after the native fix, while preserving exclusions, codemode and payload savings. No further bridge review, push or PR is authorized now. No eager fallback, new setting, vendor modification or external upstream issue/PR was made.
All raw proof is preserved. Fixture CLI processes exited and fake servers closed. The restored exact assertions are retained in a verified re-applicable tests-only patch; the branch remains at the reviewed production head.
PostPlan uses fallback black/white colors because the active client theme could not be read.