kMaxDecisionLensPromptBytes top-level constant
The bound on the ASSEMBLED explore-decision prompt, in UTF-8 BYTES
(256 KiB).
The evidence bundle is bounded per record (kMaxDiscoverySnippetChars) and
per surface (kMaxDecisionEntriesPerSurface), but nothing bounded their
PRODUCT: a bead naming many surfaces against a mature register assembled a
prompt the harness answered api_error_status 400: Prompt is too long
(~202 302 tokens against a 200 000 limit, measured 2026-09-12), which the
circuit reads as a model step that exited with no artifact — and three such
exits in a row throttled the session. An oversize bundle is now CLIPPED and
says so (kDecisionLensEvidenceOmissionMarker) instead.
Only the DECISION lens is bounded here. It is the one lane whose evidence scales with the register rather than with the bead, and a cap is a bound on what a lens can READ: applied where it is not needed, it would silently shrink evidence nobody measured as too large.
Implementation
const int kMaxDecisionLensPromptBytes = 256 * 1024;