Eval-driven optimizations from the 2026-08-14/15 agent evaluations:
- abstained lexical responses now carry a bounded hint naming the one
permitted verification step (dws schema <product> --compact) and
licensing the conclusion 'unsupported', so agents stop enumerating
every product to prove a capability is missing
- responses whose candidates only matched weak fields (parameters/
description, no identity/summary hit) set weak_match=true with a
matching hint; the flag is field-class based, not a score threshold,
preserving the RFC ban on absolute score cutoffs
- exact_filtered keeps its typed refusal without inheriting either hint;
budget-truncation to zero candidates downgrades to the abstain hint
- dingtalk-shared gains the matching convergence rule: one search, at
most one schema <product> verification, then conclude honestly
Evidence: the nonexistent-capability intent scenario took 15 turns/177s
to conclude 'no poll capability' with identical correctness to a 4-turn
run; these signals bound that path. Note: on the real catalog the poll
phrasing still matches summary fields of generic chat tools, so the
behavioral fix for that specific case rides on the shared-skill rule;
the wire flags cover genuinely unmatched and weak-field-only queries.