symfonic.capabilities.tools.results.values¶
values ¶
Value types for the result-policy capability (T3.1.3).
ResultDecision
dataclass
¶
The disposition and the one-word reason behind it.
The reason is the deliverable. "Why is this 200KB payload still on the wire?" used to require reading a hundred-line rewriter with six early returns; it is now a string.
ResultDisposition ¶
Bases: StrEnum
What happens to one settled tool result.
ResultPolicySettings
dataclass
¶
ResultPolicySettings(enabled: bool = False, size_chars: int = DEFAULT_SIZE_THRESHOLD_CHARS, keep_last_n: int = 1, offload_enabled: bool = False, large_offload_threshold_chars: int = DEFAULT_LARGE_OFFLOAD_THRESHOLD_CHARS, turn_boundary_index: int | None = None, model_name: str = '', expected_conversation_depth: int = 5, expected_recall_probability: float = 0.5)
Everything the policy needs to decide, read once.
enabled defaults to False. v8.7.1 (C1): the pre-T3.1.3
fallback used to default it True, so a dropped config key silently
force-enabled compaction and pointed recall stubs at an unregistered
recall tool — the payload was simply gone.
with_turn_boundary ¶
A copy carrying a derived boundary, when the caller had none.
Source code in src/symfonic/capabilities/tools/results/values.py
ResultRecord
dataclass
¶
ResultRecord(call_id: str, tool_name: str, size_chars: int, decision: ResultDecision, applied: bool = False)
One decision, attributed to the call it was made about.