fix(honcho): warn model away from minimal reasoning_level on multi-fact queries

honcho_reasoning's minimal tier hard-caps Honcho's dialectic output at 250
tokens combined with the model's own hidden reasoning tokens. Confirmed via
direct honcho-api server logs that a multi-fact query ("summarize known
facts about this peer and communication preferences") run at
reasoning_level=minimal gets cut off mid chain-of-thought at exactly
output_tokens=250, before the model ever reaches a synthesized answer.

low/medium/high/max fall back to Honcho's much larger global dialectic
default and don't hit this cap. Since dialecticDynamic is on by default and
the calling model picks reasoning_level itself via this tool parameter, the
fix is to make the tradeoff explicit in the parameter description so the
model defaults to low unless the query is genuinely a single-fact lookup.

Schema-description-only change; the shared dialectic_max_chars truncation
cap in session.py's dialectic_query() is a separate fix (its own PR).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
vizi0uz 2026-07-06 04:50:22 -03:00 committed by Teknium
parent b08a13cd33
commit 602998b76c

View file

@ -125,13 +125,26 @@ REASONING_SCHEMA = {
"type": "string",
"description": (
"Override the default reasoning depth. "
"Omit to use the configured default (typically low). "
"Guide:\n"
"- minimal: quick factual lookups (name, role, simple preference)\n"
"- low: straightforward questions with clear answers\n"
"- medium: multi-aspect questions requiring synthesis across observations\n"
"- high: complex behavioral patterns, contradictions, deep analysis\n"
"- max: thorough audit-level analysis, leave no stone unturned"
"Omit to use the configured default (typically low).\n"
"reasoning_level parameter guide:\n"
"- minimal: use ONLY for a single quick factual lookup (e.g. "
"'what is the user's name'). Honcho hard-caps this tier's output "
"at 250 tokens combined with the model's own hidden reasoning "
"tokens — a multi-part answer can get cut off mid-thought before "
"it even reaches the final-answer phase, especially on models "
"with reasoning/thinking enabled.\n"
"- low/medium/high/max: use for anything requiring a synthesized, "
"multi-fact, or summary-style answer (e.g. 'summarize known facts "
"about this peer', 'what are their communication preferences'). "
"These tiers have no output-token cap of their own (fall back to "
"Honcho's 8192-token global default), so they don't have "
"minimal's cutoff failure mode.\n"
" - low: straightforward questions with clear answers\n"
" - medium: multi-aspect questions requiring synthesis across observations\n"
" - high: complex behavioral patterns, contradictions, deep analysis\n"
" - max: thorough audit-level analysis, leave no stone unturned\n"
"Default to at least 'low' unless the query is genuinely a single "
"fact lookup."
),
"enum": ["minimal", "low", "medium", "high", "max"],
},