Wrap the raw ForgeToolMetaTool so each forge attempt gets normalized,
pre-validated, captured, and logged.
Normalization fixes: stringified-JSON fields, mode synonyms (code,
javascript, js → sandbox; composed, composition, chain,
pipeline → compose), missing allowlist / code body / steps /
schemas / testCases. After normalization, the shape validator runs;
on failure the judge is skipped and a rejection record is captured
immediately. On success, the raw meta-tool executes and the result's
verdict is folded into a capture record.
Wrap the raw ForgeToolMetaTool so each forge attempt gets normalized, pre-validated, captured, and logged.
Normalization fixes: stringified-JSON fields, mode synonyms (
code,javascript,js→sandbox;composed,composition,chain,pipeline→compose), missing allowlist / code body / steps / schemas / testCases. After normalization, the shape validator runs; on failure the judge is skipped and a rejection record is captured immediately. On success, the raw meta-tool executes and the result's verdict is folded into a capture record.