OpenCode's registry calls z.object(def.args) on every plugin tool definition, so Zod is mandatory for the tool schema — no JSON Schema escape hatch. TypeBox is used for our own config validation where we control the schema. The two serve different layers with different constraints. Updated both the overview and ADR-001 with a clear table showing which library serves which concern.