test(tasks): fence the background integration test on an idle owner

The rewritten test tolerated the interleaving where a fast command
settles before the running turn's next pre-step claim. The notice is
then folded into a step whose scripted reply is final, the turn closes
with an empty next-step inbox, and the collection entries are never
reached — a real timeout, not a tolerated ordering.

The command now blocks on a sentinel the test creates only after the
agent has gone idle, so the wake is the only path that can deliver the
notice, and the test asserts exactly two turns.

Also apply the review's smaller points: key the wake budget by Agent
rather than object, register the budget-refill listener only under
wakeup delivery, pin the schema default and rejection like
reportDelivery does, record the retirement-window stranding as a Known
Limitation, and cross-link the partial supersession both ways.
This commit is contained in:
Yichen Jiang
2026-08-11 20:39:04 +08:00
parent 75b26988dc
commit fa349202c7
9 changed files with 59 additions and 25 deletions
+2 -2
View File
@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/tasks/tool-tasks/README.md
README.md: f08ca3708d3ecc0dd1b5bfb3286207f23cb87898
README.zh.md: 15a7e6ba41af1011a9760e1d332a01f44c0a8794
README.md: a899fbaeb402096f523e230ee03d6f422d321810
README.zh.md: d0d4b7bdc66d5261d914ae8380488c36c17a0f0a