Audit batch 5: I-9, I-12, I-14, N-1..N-12, single-task wire single-transaction

This commit is contained in:
host committed 2026-11-04 18:02:23 +00:00
1 parent cdac8039b3
commit 2adc605373
7 files changed
+1349 -440

No files matched your search

+11
View File
@@ -216,6 +216,17 @@ def parse_agent_tools_column(raw):
parse logic therefore changes no observable behaviour on
either side; the old server/worker defaults (None vs []) were
only different spellings of the same dispatch outcome.
Audit batch 5 (N-9, deliberate choice: document, do not filter):
the parser guarantees list shape only, NOT item types — a dirty
row like ["a", 1] is returned as-is. Downstream tolerates
non-string items, which is why filtering here would be churn,
not a fix: the worker required-tools gate only formats items
with "%s" (missing_required_tools) and compares them with ==
(deny check), the server only JSON-dumps the list, and no use
site calls a str method on an item. Filtering at parse time
would instead change serialization of old dirty rows (the
server today echoes them exactly), so the loose contract stays
and is locked by test.
"""
if raw is None:
return None