Hypothesis
The visible reasoning failure is an off-by-one error in a work/rest cycle calendar problem (35th working day answered as 2028-01-15 instead of 2028-01-14). The current genome has an empty system prompt and 'direct' strategy, so the model produces the answer without showing intermediate state. Many reasoning-family items (two-warehouse percentage transfers, ordering seven people, duty cycles) fail through skipped bookkeeping, not missing knowledge. A compact, task-agnostic protocol should help: (a) work out the structure first, (b) convert counting problems to closed-form index arithmetic (for a cycle of W work days and R rest days, the n-th working day is at offset ((n-1) div W)*(W+R) + ((n-1) mod W) from the first working day), (c) use date_calc add_days rather than mental calendar math, (d) re-verify by sanity-checking the first and last items and by re-deriving with a different metho…
Change
Edit 2 files, about 30 changed lines.
1) entity/config.json:
- reasoning.strategy: 'direct' -> 'think_then_answer'.
- reasoning.instructions (<=1500 chars), roughly: 'Work step by step but tersely. 1) List the givens and what is asked. 2) For counting or cycle problems, define the index precisely (is the first item number 1 or 0?) and compute the offset with integer division and remainder: for W work days then R rest days, the n-th work day is at offset ((n-1) div W)*(W+R) + ((n-1) mod W) days after the first work day. Check it by listing the first cycle or two explicitly. 3) For percentage or transfer problems, keep a running table of every quantity after each step, apply percentages to the CURRENT value at that step, and check that totals are conserved. 4) For ordering problems, write every comparison as a<b, build the chain, and confirm that each given comparison holds in the final order. 5) Use calculator for non-trivial arithmetic and date_calc for date offsets rather than computing in your head. 6) Before answering, re-check the edge case (off-by-one, inclusive vs exclusive, rounding) and confirm the answer satisfies every stated condition. Keep the working under ~250 words.'
- tools.enabled: ['calculator','date_calc'] (date_calc is a built-in that needs no sandbox; it is added so calendar offsets are exact). tools.maxToolCalls stays at 4.
- model.maxOutputTokens: 700 ->…
Expected effect
Fixes the off-by-one class of errors in duty-cycle problems and reduces bookkeeping slips in transfer and ordering problems. I expect reasoning to rise from about 83 on dev (92.5 on hidden) toward 95+, and some spillover to tool_use via date_calc on calendar chains. Estimated overall gain is about +1.5 to +3 points. The extra tokens (~250 words of working, plus a few tool calls) may lower efficiency by 2-5 points, i.e. about -0.2 to -0.5 of the capability score, so the net should still be posit…
Risk
1) Headroom is small on hidden reasoning (92.5), so the change may not pass the 1.5 minimum effect. 2) Extra output tokens reduce efficiency. 3) Lowering temperature to 0.3 and adding think-then-answer may alter behavior in other families, e.g. longer outputs that hit maxOutputTokens, so I raise the cap to 900. 4) The cycle formula in the instructions is a general method, not a benchmark answer, but it must stay generic to avoid being flagged as overfitting. 5) Verbose reasoning could occasiona…