Loop book
一個 loop 的狀態是一份條目檔,每個階段都從它算出來。agent 只宣告 extension 看不到的事;其餘都從證據讀出。
第一次 todo create 會以 inline 開啟 loop,kind 呼叫也能開啟或更改 loop。
loop 怎麼開啟,以及 agent 宣告什麼
第一次 todo create 會以 inline 開啟 loop:intent 取第一個 todo 的標題,anchor 取 Reality anchor: 這一行或該 todo 的 metadata.anchor。kind 呼叫也能開啟或更改 loop。任務紀錄需要 @juicesharp/rpiv-todo 的 todo 工具,book 讀它的 tool_result details {tasks, nextId} 和 rpiv-todo-state 條目。
agent 只用 anchorloop_stage 宣告 extension 看不到的事:
kind:用來選quick、reviewed或durable,附 intent 和 anchor 指令;改掉 agent 自己選的種類時,必須附reason。verify:不是 bash 指令的檢查。fresh-read、friction(tried、found、led_by)與reflect。skip與back。close,以及查詢用的read。
book 也記錄每個 todo 的 anchor、ref(<path>#<heading>,解析成行號範圍)和 followup metadata。
book 放在哪裡,怎麼結束
每個開啟中的 loop 有一份 YAML book,放在 ~/.pi/agent/anchorloop/books/;可用 ANCHORLOOP_BOOKS_DIR 覆寫目錄,空的專案目錄與 agents/ 目錄會被移除。subagent 的 book 放在 agents/;subagent 自己 close 時,book 留給主 session。session_start 會清掉 session 已不存在或 7 天沒有更新的 book。提示只用一行列出數量(本專案未關的 book、刪掉的過期 book),再列最新三本與其餘所在的目錄。
close 回覆 closed (landed). Clear the todo list.,只多列沒有完成的階段和還沒 reflect 的 friction。它不會因為階段或 friction 而拒絕。只在還有 pending 或 in-progress 的 todo 沒有 metadata.followup 時拒絕:票號、memory 或 drop — <reason>。