@@ -479,6 +479,9 @@ names that plugin registers. Active Memory lists those tools in the recall
|
479 | 479 | prompt and passes the same list to the embedded sub-agent. If none of the |
480 | 480 | configured tools are available, or the memory sub-agent fails, Active Memory |
481 | 481 | skips recall for that turn and the main reply continues without memory context. |
| 482 | +For custom recall tools, non-empty model-visible tool output counts as recall |
| 483 | +evidence unless structured result fields explicitly report an empty result or |
| 484 | +failure. |
482 | 485 | `toolsAllow` only accepts concrete memory tool names. Wildcards, `group:*` |
483 | 486 | entries, and core agent tools such as `read`, `exec`, `message`, and |
484 | 487 | `web_search` are ignored before the hidden memory sub-agent starts. |
@@ -743,7 +746,11 @@ Before v2026.5.2 the plugin silently extended your configured `timeoutMs` by an
|
743 | 746 | extra 30000 ms during cold-start so model warm-up, embedding-index load, and |
744 | 747 | the first recall could share one larger budget. v2026.5.2 moved that grace |
745 | 748 | behind an explicit `setupGraceTimeoutMs` config — your configured `timeoutMs` |
746 | | -is now the budget by default, unless you opt in. |
| 749 | +is now the recall-work budget by default, unless you opt in. The blocking hook |
| 750 | +uses two bounded phases around that budget: up to 1500 ms for session/config |
| 751 | +preflight before recall starts, then a separate fixed 1500 ms for abort |
| 752 | +settlement and transcript recovery after recall work stops. Neither allowance |
| 753 | +extends model or tool execution. |
747 | 754 | |
748 | 755 | If you upgraded from v2026.4.x and you set `timeoutMs` to a value tuned for the |
749 | 756 | old implicit-grace world (the recommended starter `timeoutMs: 15000` is one |
@@ -765,14 +772,16 @@ outer watchdog budgets back to the pre-v5.2 effective values:
|
765 | 772 | } |
766 | 773 | ``` |
767 | 774 | |
768 | | -Per the v2026.5.2 changelog: _"use the configured recall timeout as the |
769 | | -blocking prompt-build hook budget by default and move cold-start setup grace |
770 | | -behind explicit `setupGraceTimeoutMs` config, so the plugin no longer silently |
771 | | -extends 15000 ms configs to 45000 ms on the main lane."_ |
| 775 | +The v2026.5.2 change removed the old implicit 30000 ms cold-start extension. |
| 776 | +Beyond the configured recall-work budget, the hook can use up to 1500 ms for |
| 777 | +preflight and another 1500 ms for post-recall completion. Its worst-case |
| 778 | +blocking time is therefore `timeoutMs + setupGraceTimeoutMs + 3000` ms. |
772 | 779 | |
773 | 780 | The embedded recall runner uses the same effective timeout budget, so |
774 | 781 | `setupGraceTimeoutMs` covers both the outer prompt-build watchdog and the inner |
775 | | -blocking recall run. |
| 782 | +blocking recall run. The preflight cap covers session/config checks before that |
| 783 | +budget begins. The post-recall allowance lets the outer hook settle abort |
| 784 | +cleanup and read any final transcript state. |
776 | 785 | |
777 | 786 | For resource-tight gateways where cold-start latency is a known trade-off, |
778 | 787 | lower values (5000–15000 ms) work too — the trade-off is a higher chance of |
|