Repository navigation
Description
Problem
Issue #1550 is CONFIRMED LIVE and its fix is blocked: route attempt 228433 (2026-11-04, workhorse → antigravity-direct/claude-sonnet-5-5) failed with the Anthropic-on-Vertex body
tools.5.custom.input_schema: JSON schema is invalid. It must match JSON Schema draft 2020-12
The task 9458 triage verdict (2026-11-04, on #1550) audited the in-repo translation layer and found it clean, and recorded the follow-up this issue files: nobody has ever meta-validated the actual built-in tool schemas — as translated for Anthropic targets — against the draft 2020-12 meta-schema. Until that test exists, the offender in tools.5 cannot be named: if a built-in schema is the invalid one, the test names it; if every built-in schema validates, the offender is proven external (MCP/plugin tool) and #1550's remaining step is only the route-ledger payload pull.
Evidence (origin/main 6a35d3a284, checked 2026-11-04)
- No such test exists: a grep across
packages/for a 2020-12 meta-schema validation of tool schemas finds only schema generation sites —packages/core/src/tool/runtime.ts:169-170emits schemas withtarget: "draft-2020-12"— and a fixture$schemastring inpackages/ai/test/provider/antigravity.test.ts:44. Nothing validates the emitted schemas against the meta-schema they claim to target. - The built-in tool set is enumerable:
packages/core/src/tool/plugin/*.ts(read, edit, shell, grep, glob, patch, skill, question, subagent, …), each producing itsinputSchemathroughdefinition()inpackages/core/src/tool/runtime.ts;packages/core/test/tool-schema.test.tsalready tests those definitions shape-by-shape but never meta-validates them. - Both Anthropic-bound translations are in scope:
packages/ai/src/protocols/anthropic-messages.ts:550passesinput_schema: tool.inputSchemaverbatim, and the Antigravity protocol'sconvertSchema(packages/ai/src/protocols/antigravity.ts,anthropicflag) re-serializes proto Schemas into Anthropicinput_schemas for Claude leaves — the exact path that 400'd in Antigravity door: Claude leaf (claude-sonnet-5-5) 400s on workhorse attempts, Anthropic-shaped error #1550. - Oracle (per the repo's testing doctrine, AGENTS.md 2026-11-04): the official JSON Schema draft 2020-12 meta-schema itself — validation success/failure per named tool is decidable, no hand-written expectations.
Acceptance criteria
- A test enumerates every built-in tool (the
packages/core/src/tool/plugin/set), takes each tool's generatedinputSchema, applies the Anthropic-bound translation(s), and validates each result against the draft 2020-12 meta-schema. - A validation failure names the offending tool and the meta-schema violation (the test output identifies
tools.Ncandidates instead of a bare pass/fail). - The test runs in an existing package test suite (core or ai) with no network access — the meta-schema is vendored or embedded as a fixture.
- The result is recorded on Antigravity door: Claude leaf (claude-sonnet-5-5) 400s on workhorse attempts, Anthropic-shaped error #1550 either way: the named built-in offender, or the explicit "built-ins clean — offender is external" verdict that unblocks the payload-pull step.
Activity
dezren39 commentedon Nov 4, 2026
🤖 Agent note · filed
13 remaining items
dezren39 commentedon Nov 5, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 5, 2026
🤖 Agent note · parked
dezren39 commentedon Nov 5, 2026
🤖 Agent note · state: adopted as design phase
anthropic-messages.tspassestool.inputSchemaverbatim asinput_schema, :550 on main618de2888f): the source itself must be valid draft 2020-12, and this test is what proves it per built-in tool.files/designs/opencode-schema-projection-fidelity.md(keep-the-four-repos-healthy goal workspace)dezren39 commentedon Nov 5, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 5, 2026
🤖 Agent note · done