This repository was archived by the owner on Sep 13, 2026. It is now read-only.
v0.3.14
Added
- ADR-0011: Adaptive thinking forcing,
can_disableconsumption, and
OpenAI reasoning_effort forcing. Documents the full truth tables for both
Anthropic and OpenAI routes. StampPolicy.canDisableThinkingfield — populated from
/v1/models/inforeasoning.can_disableat parse time. Kimi K2.7
(umans-kimi*,umans-coder) reportcan_disable: false— their
thinking cannot be turned off, so the proxy forces it to adaptive.isThinkingDisabled()andisThinkingEnabled()exported from
stamp-thinking.ts— recognize disabled forms (type: "disabled",
"off","none",enabled: false).
Changed
- Anthropic route — thinking forcing: when
stampClaudeCodeis enabled
and the body has a non-disabledthinkingblock, it is forced to
{ type: "adaptive" }. Disabled forms are respected when
canDisableThinking: true, but forced to adaptive whencanDisableThinking: false(Kimi, Coder). - Anthropic route — all body stamps gated on thinking:
max_tokens,
top_k,context_management,output_config, andtemperatureare
only stamped when thinking is enabled (present and not disabled). When
thinking is absent or disabled, only TTL/cache_control stamping runs.
Supersedes ADR-0008's "max_tokens always stamps" rule. - Anthropic route —
reasoning_effortstripped: the OpenAI-style
reasoning_effortfield is always deleted from Anthropic request bodies. - OpenAI route — reasoning_effort forcing:
stampReasoning()is no
longer a no-op. It injectsreasoning_effortfrompolicy.effortwhen
thinkingis present, forces existing values topolicy.effort, and
respects disabled values (off/none/null) whencanDisableThinking: true. - OpenAI route — Anthropic fields stripped: when
reasoning_effortis
active,thinking,output_config, andcontext_managementare stripped
from the body.temperatureis forced to 1.0 (reasoning models reject
temperature != 1.0). - OpenAI route — target effort from policy: the target effort is
policy.effort("max"for GLM,"high"for others), not the
STAMP_REASONING_EFFORT_VALUEconfig constant. OpenAiBody.reasoning_efforttype widened from"high" | "max"to
stringto accept disabled values.anthropic-betaheader placed beforeanthropic-versionin header order.STAMP_THINKING_VALUEconstant is now consumed bystampThinking().- AGENTS.md: added "Common agent mistakes" section (9 items) documenting
recurring errors: dashboard build prerequisite, interface field additions,
unused imports, Biome formatting, edit boundaries, thinking stamping rules,
OpenAI reasoning rules, codegraph trust, and test section dividers.