Skip to content

fix(core): ordered, idempotent durable tool decisions (follow-ups to #1828) - #1833

Merged
EmersonBraun merged 12 commits into
mainfrom
EmersonBraun/ak-1828-followups
Oct 8, 2026
Merged

EmersonBraun merged 12 commits into
mainfrom
EmersonBraun/ak-1828-followups

Conversation

@EmersonBraun

Copy link
Copy Markdown
Member

Follow-ups from the final review of #1828 (durable tool decisions):

  1. Ordered resume: `decide` persists the decision without resuming the model unless the target call is in the last assistant message and nothing else awaits confirmation. With multiple calls, resume happens once all are decided, with results placed right after the assistant message that made them. This keeps strict providers happy.
  2. Idempotent decisions: pending calls are registered on arrival. A repeated identical `approve`/`deny` (e.g. double click, or before the stream ends) is a no-op. Only a conflicting decision errors.
  3. Denied decisions don't stop the stream: the re-check runs before `stop()` in `prepare`.

Documented limit (no store contract change): rebuilding a multi-call streamed turn after a restart requires `ChatMemory`. Without it, recovery fails with a typed error instead of resuming with an incomplete history. A live controller is not affected.

Checks run locally:

  • 569 core tests;
  • all 52 quality gates;
  • pre-push (lint/build), regenerated docs index;
  • `pnpm size` within budget.

A changeset (patch) is included.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Lighthouse

URL Performance Accessibility Best practices SEO
http://127.0.0.1:3000/ 58 100 96 100
http://127.0.0.1:3000/docs 83 100 96 100
http://127.0.0.1:3000/docs/get-started/getting-started/quickstart 82 100 96 100
http://127.0.0.1:3000/stack 95 100 96 100
http://127.0.0.1:3000/showcase 95 100 96 100

Run by .github/workflows/lighthouse.yml.

@EmersonBraun
EmersonBraun merged commit 677f7e2 into main Oct 8, 2026
34 checks passed
@EmersonBraun
EmersonBraun deleted the EmersonBraun/ak-1828-followups branch October 8, 2026 06:02
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