Skip to content

feat(queue): deliver follow-ups at safe tool boundaries - #92

Draft
Mjones13 wants to merge 2 commits into
work/audit-stack-integration-20261004from
feat/tool-boundary-queue-20261004
Draft

Mjones13 wants to merge 2 commits into
work/audit-stack-integration-20261004from
feat/tool-boundary-queue-20261004

Conversation

@Mjones13

@Mjones13 Mjones13 commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Queued follow-ups currently wait for the entire active turn. This change delivers compatible owner messages after a successful native foreground tool boundary, once all observed parallel foreground tools finish. Delivery is server-owned, so leaving the thread view or disconnecting the client does not strand queued messages.

Automatic delivery reuses persisted promotion receipts and the effect outbox without interrupting or restarting tools. Receipt-sequence predecessor checks preserve the selected queue order through timestamp ties and delayed retries; failed, cancelled, uncertain, or invalidly recorded predecessors hold later deliveries. Approvals, held queues, unsupported steering, changed settings, and maintenance commands retain their existing hold or next-turn behavior. Web/mobile wording and composer documentation describe the new behavior.

Depends on #91 at 09ead6ea565ffce428e9cda1bd5696c69ce9e616; targets work/audit-stack-integration-20261004. This is a source-only handoff, with no deployment performed.

Validation:

  • 144 affected tests passed. The same 45 failing test names reproduce on the untouched integration base; no new failures.
  • Frozen-clock SQL tests reproduce the original lexical ordering bug and prove FIFO claims, delayed retries, failure/hold handling, receipt validation, and target isolation. A runtime test claims 12 reordered messages in the selected order.
  • Claim and wake-up query plans use the existing predecessor index; no migration.
  • Typecheck retains 933 errors with the same file/error-code counts as the base. FIFO-file lint passes; broader touched-file lint retains an unchanged node:crypto namespace-import violation.
  • No native-provider, browser, device, screenshot, or timing-video verification was performed. Quiescence is observed rather than an atomic provider pause; this does not claim exactly-once native delivery.

The repository commit hook reformatted touched files. Pre/post-hook syntax comparisons verified those formatting changes were equivalent.

Implemented through the Codex harness with GPT-6.1 Sol; the FIFO design follows owner-requested GPT-6 Astra Extra High guidance.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

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