STRING_KEYS no longer names model, which the run at 2.1.306 never showed (closes #247)
Closes #247: STRING_KEYS names one key fewer, as the run at 2.1.306 showed.
What the run showed (trials/P-13.v2-1-306.json, merged in #291):
- Within the fields the script keeps, nine of STRING_KEYS' eleven keys held a string:
type,subtype,stop_reason,service_tier,inference_geo,speed,canonicalModel,providerandcostBasis. tool_nameis reached only when a tool is refused, and that run refused none.modelappeared nowhere. The model's name is a key ofmodelUsageand the value ofcanonicalModel, never under a keymodel.
The change:
tools/trial_p13_cli.shdropsmodelfrom STRING_KEYS, so a word under that key is no longer kept. It keepstool_name, since another run may refuse a tool.TrialScriptpins the list as it pins KEPT_RESULT.- The stand-in answer plants a one-word code under
model, so the test that no model text reaches OUT fails ifmodelis named again. A mutant that names it is killed.
The other half of the item: decided, no per-field lists. usage and modelUsage held numbers and seven code words under named keys (service_tier, inference_geo, speed, type under usage; canonicalModel, provider, costBasis under modelUsage). One list already names just those words and the answer's own codes, so per-field lists would hold the same words. The script's comment says so, and the test now shows the dropped word recorded in model_text_removed.
Verification. make verify passed in the worktree, with history, at SIM_SEEDS=40.
Reviews. A fresh Claude review with a security pass on 14247d9 found no blocker and no major. It confirmed #247's other three items are on main (#263). Its minors are fixed in 30dc6b3. Muse not run (the Maintainer, 2026-10-20: Kernel/hook only).
š¤ Generated with Claude Code