Skip to content

fix: prevent silent deferral of oversized inbox turns - #21

Merged
apresmoi merged 3 commits into
mainfrom
fix/attention-wake-validation
Sep 12, 2026
Merged

apresmoi merged 3 commits into
mainfrom
fix/attention-wake-validation

Conversation

@apresmoi

@apresmoi apresmoi commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

A durable delivery can fit admission limits but exceed the execution host's 4,096-codepoint limit after the inbox wrapper is added. Those rejected turns previously stayed deferred without an actionable failure signal.

The dispatcher now checks the complete generated prompt and directs agents to the existing inbox tool when the payload is larger, preserving every delivery. Rejected and failed executions retain a bounded, credential-redacted diagnostic that appears in availability after idle, restart, and unrelated successful work. Explicit disposition or a successful retry clears the affected delivery's diagnostic. Retry remains externally triggered.

Validation includes real-host/parser/store regressions for long scheduled deliveries, six-message batches, Unicode, durable failure visibility, and recovery. Removing either fix makes its corresponding regression tests fail. Additional tests and mutation checks cover empty/large diagnostics, re-sanitization, older agent identities, and the public activity type. The final local suite passed 629 tests with four platform-dependent skips; typecheck, both builds, manifest, native-artifact and production-closure verification passed. Independent Claude Fable 5.1 review passed, including the review fixes and final public-type cleanup. Linux CI is required before merge.

Public schemas are unchanged. Stored receipts gain an optional private execution_error field; older runtimes cannot read records carrying it. This change does not deploy or restart any running organization.

@apresmoi
apresmoi marked this pull request as ready for review September 12, 2026 14:58
@apresmoi
apresmoi merged commit d24b893 into main Sep 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant