From 06d05cbc4dfeb23d9ca0ab4292a29d3269f0f7ba Mon Sep 17 00:00:00 2001 From: Eve Date: Fri, 24 Apr 2026 10:38:13 +0800 Subject: [PATCH] docs: define subagent completion receipt fields --- docs/runbooks/subagent-anti-blackhole.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/runbooks/subagent-anti-blackhole.md b/docs/runbooks/subagent-anti-blackhole.md index e19d61b..c39013d 100644 --- a/docs/runbooks/subagent-anti-blackhole.md +++ b/docs/runbooks/subagent-anti-blackhole.md @@ -21,3 +21,23 @@ Dispatch receipt 僅定義子代理派發當下所需的欄位,用來識別本 "expectedBy": "2026-04-24T10:15:00+08:00" } ``` + +## Completion receipt fields + +Completion receipt 僅定義子代理完成結果被接收到之後所需記錄的欄位,用來區分「子代理已完成」與「結果是否已成功轉交 main conversation」。 + +- `completionReceivedAt`: 主流程或監看機制實際收到 completion/result 的時間戳記。用於確認子代理何時已經完成並回傳結果,不再只靠 `expectedBy` 推估。 +- `forwardedToMain`: 布林欄位,表示該 completion/result 是否已成功轉送到 main conversation。用於區分「已收到結果」與「已完成主線回報」這兩個不同狀態。 +- `resultSource`: completion/result 的來源標記,例如來自主動 completion push、補抓回來的 session 狀態,或其他明確來源。用於後續判讀結果是正常送達還是經由補救路徑取得。 + +> 本節僅定義 completion receipt 欄位,不涵蓋 watchdog logic、recovery 流程、scenario tests 或其他後續 task。 + +## Completion receipt example + +```json +{ + "completionReceivedAt": "2026-04-24T10:12:34+08:00", + "forwardedToMain": true, + "resultSource": "completion_push" +} +```