Nick
4032c753f3
feat(go): factory batch 1 — tool-protocol validation core (contract BUILDER-2026-10-07T22:11:52Z-9ffb73)
The model→tool boundary ported to tool-protocol:
- ValidateToolRequest: alias canonicalization BEFORE schema (grep→
grep_files, bash→run_command — bash never bypasses run_command's
approval boundary), exact Python error texts (unknown tool / required
argument missing / unknown argument / must be <type>), array item
type checks, deterministic arg iteration for error stability
- schemas from the FROZEN tools_registry.json (shared with
tool-executor — the set-equality authority)
- NormalizeOllamaToolCalls: native envelope + string-arguments JSON
decode, malformed-shape errors
- ContainsInternalProtocol: result/error markers + xml tool_call spans
- ToolRequest dataclass aligned to the Python shape (Arguments field)
- 17-case truth battery from the live oracle; span-surgery surfaces
(extract_visible_text, text-fallback parse) pinned for batch 2
2026-10-07 23:48:24 +01:00
..
2026-09-12 17:03:27 +01:00
2026-09-11 20:15:57 +01:00
2026-09-19 01:40:34 +01:00
2026-09-19 18:23:17 +01:00
2026-09-07 19:51:36 +01:00
2026-09-08 02:06:34 +01:00
2026-09-07 15:10:37 +01:00
2026-09-07 21:00:44 +01:00
2026-09-08 02:46:26 +01:00
2026-09-19 01:40:34 +01:00
2026-09-19 00:56:19 +01:00
2026-09-13 14:48:28 +01:00
2026-09-11 20:15:57 +01:00
2026-09-14 06:26:24 +01:00
2026-09-18 10:25:59 +01:00
2026-09-14 23:30:51 +01:00
2026-10-07 10:27:53 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 20:15:57 +01:00
2026-10-07 10:52:49 +01:00
2026-10-07 18:18:07 +01:00
2026-10-07 19:35:04 +01:00
2026-10-07 17:45:20 +01:00
2026-10-07 20:52:25 +01:00
2026-10-07 20:00:56 +01:00
2026-10-07 19:13:55 +01:00
2026-09-07 21:00:44 +01:00
2026-10-07 19:50:33 +01:00
2026-10-07 18:56:17 +01:00
2026-10-07 18:42:22 +01:00
2026-10-07 20:13:13 +01:00
2026-10-07 17:23:15 +01:00
2026-10-07 23:48:24 +01:00
2026-10-07 20:39:13 +01:00
2026-09-11 20:15:57 +01:00
2026-09-19 15:08:23 +01:00
2026-08-30 17:10:32 +01:00
2026-08-30 17:10:32 +01:00
2026-09-23 18:09:26 +01:00
2026-09-19 07:16:35 +01:00
2026-09-19 03:32:24 +01:00
2026-09-07 21:00:44 +01:00
2026-09-08 05:54:37 +01:00
2026-09-11 15:36:08 +01:00
2026-09-19 06:12:38 +01:00
2026-09-11 15:36:08 +01:00
2026-10-07 21:31:23 +01:00
2026-09-10 20:08:50 +01:00
2026-09-11 20:15:57 +01:00
2026-09-19 06:12:38 +01:00
2026-09-29 14:47:38 +01:00
2026-09-29 14:47:38 +01:00
2026-09-14 23:30:51 +01:00
2026-09-08 11:26:30 +01:00
2026-09-08 07:12:34 +01:00
2026-09-11 15:36:08 +01:00
2026-09-15 17:02:04 +01:00
2026-09-17 12:56:52 +01:00
2026-09-17 13:06:17 +01:00
2026-09-11 15:36:08 +01:00
2026-09-08 12:31:53 +01:00
2026-09-15 17:02:04 +01:00
2026-09-11 15:36:08 +01:00
2026-09-17 01:38:39 +01:00
2026-09-11 15:36:08 +01:00
2026-09-12 17:03:27 +01:00
2026-10-07 13:06:39 +01:00
2026-09-16 03:32:53 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-17 12:56:52 +01:00
2026-10-03 16:20:08 +01:00
2026-09-15 17:02:04 +01:00
2026-09-15 17:02:04 +01:00
2026-09-11 03:16:50 +01:00
2026-10-04 01:08:20 +01:00
2026-09-09 04:12:58 +01:00
2026-09-17 12:56:52 +01:00
2026-09-11 22:33:10 +01:00
2026-09-17 12:56:52 +01:00
2026-09-17 12:56:52 +01:00