Yichen Jiang
37ebe87087
fix(tool-tasks): claim completion notices only for the mount's own scope
...
Moving the task registry to the host plane put every preset's `tool-tasks`
listener on ONE `LocalTaskService`. `settle()` computes a single snapshot and
walks every registered listener with no scope filter, and it marks `reported`
only when a waiter is present — so a task settling without a waiter reached
each mount's listener with `reported` false and every one of them injected the
same completion into the same owner. Three shipped presets carry `tool-tasks`,
and a preset file edit adds a second generation of the same mount, so an agent
read N copies of one notice as model-visible durable context.
A mount now claims an owner only when the owner's scope chain reaches the
mount's own scope. An unscoped mount is the host-plane instance that serves
every agent, which keeps the TUI composition and every existing test intact.
Registry-side ownership was the alternative: mark `reported` once the first
listener claims it. It is wrong because `onTaskDone` is not a notice-only
seam — the `dsh-tasks` invariant companion registers a validating listener —
so first-claim-wins would silence observers that are not delivering anything.
The regression test mounts two scoped `tool-tasks` over one registry and
settles an unowned-wait task, which is the only path that reaches the notice
listeners at all: the shipped-composition e2e uses `wait: true`, and a waiter
marks `reported` before settlement, so that test structurally cannot cover it.
Also corrects the standing-mounts Agent Note, which still listed `tasks-local`
among the stateful PRESET plugins.
Refs #2141
2026-08-10 15:27:10 +08:00
..
2026-08-09 03:20:17 +08:00
2026-08-03 16:04:26 +08:00
2026-08-09 03:20:17 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-07 22:52:19 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-08 00:04:55 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 01:27:09 +08:00
2026-08-09 11:33:14 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 10:40:31 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 03:20:17 +08:00
2026-08-08 16:53:23 +08:00
2026-08-09 03:20:17 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-08 15:03:23 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 11:33:14 +08:00
2026-08-08 22:19:13 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:11:00 +08:00
2026-08-09 21:11:00 +08:00
2026-08-09 21:11:00 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 13:08:49 +08:00
2026-08-09 11:41:40 +08:00
2026-08-09 13:08:49 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:02:16 +08:00
2026-07-31 22:52:18 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-08 11:41:47 +08:00
2026-08-08 11:41:47 +08:00
2026-08-08 11:41:47 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 01:25:24 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 10:40:32 +08:00
2026-08-09 11:33:14 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 11:28:46 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 13:44:23 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 14:58:33 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:02:16 +08:00
2026-08-06 16:38:25 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 18:16:44 +08:00
2026-08-09 18:16:44 +08:00
2026-08-09 18:16:44 +08:00
2026-08-10 15:27:10 +08:00
2026-08-10 15:27:10 +08:00
2026-08-10 15:27:10 +08:00
2026-08-09 13:46:14 +08:00
2026-08-09 11:41:40 +08:00
2026-08-09 13:46:14 +08:00
2026-08-09 19:36:03 +08:00
2026-08-09 19:36:03 +08:00
2026-08-09 19:36:03 +08:00
2026-08-09 10:29:13 +08:00
2026-08-09 10:29:13 +08:00
2026-08-09 10:29:13 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 23:18:37 +08:00
2026-08-09 23:18:37 +08:00
2026-08-09 23:18:37 +08:00