feat/run-due-built-in-check-items
develop
tools/run-due.sh
run
plan
skills/assistant/SKILL.md
references/behaviors.md
待辦簿的動作欄有三種值:一行指令、技能名、只提醒。這一支只跑第一種。
技能名那一種不跑,因為叫用一整支技能會寫 wiki、開 PR、改檔案,而這一支跑在沒有人看的那一輪裡。唯讀盤點指令失敗最多回一個非零碼,那一筆記一次失敗;一支技能中途失敗可能留下寫到一半的頁或開錯的 PR。兩種代價不同,就該分兩次判、分兩次接。
使用者親手登錄的那幾筆也不跑。 只有帶著反查鍵的內建項會被執行,那幾筆的指令經過種入那一支的檢核。人手動登錄的沒有經過那道關,動作欄想寫什麼都行。
兩個代入點的現況不同:
{cli}
jsc-cli/tools/detect-clis.sh
{repo}
所以三支指令這一輪只跑得動兩支。帶不出目標的那一筆印一行跳過,而且執行紀錄與失敗次數一個字都不動。
那一筆沒有做錯任何事。記成失敗會讓一個沒有人修得動的計數一路往上爬,而那個計數存在的理由正是指出「有一筆壞掉的項目每輪重試而沒人知道」。把「還沒接上」記成「壞掉」,等於用假的壞掉把真的壞掉蓋掉。
種入那一支驗過同樣幾項,這裡不省——待辦檔是純文字,種入之後可能被改。擋掉金錢符號、反引號、波浪號、分號、管線與連接符號;路徑一定要落在這一輪的根目錄底下;代完之後不得留大括號。
這一支自己執行那些指令,所以權限層只看得到 run-due.sh 這一條,看不到裡面跑了什麼。
run-due.sh
那不是繞過閘門。閘門本來就不是沙箱,它是一份「可信入口」的白名單,而清單上每一支腳本本來就做得了它該做的事——巡檢那一支會寫 wiki 頁,部署那一支會改整台機器的外掛。
防線改由三層擋:只跑經過審查的委派清單種出來的項目、執行前再驗一次形狀、代不出來的一律不跑。這段理由寫進了檔頭,因為下一個維護的人一定會問,而「為什麼不會被擋」跟「為什麼不需要被擋」是兩個不同的答案。
不對發現動手,跟跑自己排定的工作,不是同一件事:
並寫明:哪天那一欄出現會寫入的指令,要重新吵這一段,不是悄悄把它放寬。
last_run
lint-scripts.sh
check-behaviors.sh
ste100-lint.sh
check-skill-paths.sh
失敗照重試、不自動退讓,維持規格原本的寫法。逾期提醒怎麼送到前景、登錄時的補問流程、待辦簿的 wiki 雙向同步,三項都不在這一批。存取庫掃描做出來之後,帶那個代入點的那一筆會自己開始跑,這一支不必再改。
待辦簿蓋好之後一直沒有人執行它。十六筆內建項、十五筆到期,而 last_run 與 fail_count 從建立到現在一次都沒動過——巡檢每輪把它們印出來,如此而已。 這一支只跑動作是一行指令、而且帶著 spec_key 的那幾筆。技能名那一種不跑: 叫用一整支技能會寫頁、開 PR、改檔案,而這一支跑在沒有人看的那一輪裡;唯讀 盤點指令失敗最多回一個非零碼,一支技能中途失敗可能留下寫到一半的頁。兩種 代價不同,就該分兩次判、分兩次接。使用者親手登錄的那幾筆也不跑,那幾筆沒有 經過種入那一支的檢核,動作欄想寫什麼都行。 代入點只展開得了 CLI 那一個。存取庫掃描還沒做出來,所以帶那個代入點的一律 印一行跳過,而且**執行紀錄與失敗次數一個字都不動**:代不出目標不是那一筆做 錯了什麼,記成失敗會讓一個沒有人修得動的計數一路往上爬,而那個計數存在的 理由正是指出「有一筆壞掉的項目每輪重試而沒人知道」。把「還沒接上」記成 「壞掉」,等於用假的壞掉把真的壞掉蓋掉。 執行前再驗一次指令形狀,不信任待辦檔的內容——那是純文字,種入之後可能被改。 擋掉金錢符號、反引號、波浪號、分號、管線與連接符號,路徑一定要落在這一輪的 根目錄底下,代完之後不得留大括號。 權限閘門看不到這一支裡面跑了什麼,檔頭把理由寫明了:閘門是可信入口的白名單、 不是沙箱,清單上每一支腳本本來就做得了它該做的事。防線改由「只跑經過審查的 清單種出來的項目」加「執行前再驗一次形狀」擋。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
檢核腳本沒人叫等於不存在,所以同一批把它接進巡檢的步驟五,擺在寫心跳之前 ——跑過的結果要進得了這一輪的紀錄。任何一個結束碼都不中止那一輪:一支指令 失敗是發現,不是壞掉的一輪。 界線那一段補了一條,把兩件事分開:不對發現動手,跟跑自己排定的工作,不是 同一件事。待人處理那幾列是關於別人機器狀態的發現,跑那幾列等於一輪自己決定 別人的工作該怎麼做;到期的內建項是助理自己被交付的工作,來源是要走 PR 審查 的委派清單。並且寫明:哪天那一欄出現會寫入的指令,要重新吵這一段,不是悄悄 把它放寬。 收尾回報多一個區塊,因為那是待辦簿自己的工作唯一被交代的地方,並要求把 「跳過那幾筆的歷史沒有被動過」講明。 三份 manifest 版號 0.2.2 升到 0.2.3。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
摘要
變更內容
tools/run-due.shrun與planskills/assistant/SKILL.mdreferences/behaviors.md只跑三種動作裡的一種
待辦簿的動作欄有三種值:一行指令、技能名、只提醒。這一支只跑第一種。
技能名那一種不跑,因為叫用一整支技能會寫 wiki、開 PR、改檔案,而這一支跑在沒有人看的那一輪裡。唯讀盤點指令失敗最多回一個非零碼,那一筆記一次失敗;一支技能中途失敗可能留下寫到一半的頁或開錯的 PR。兩種代價不同,就該分兩次判、分兩次接。
使用者親手登錄的那幾筆也不跑。 只有帶著反查鍵的內建項會被執行,那幾筆的指令經過種入那一支的檢核。人手動登錄的沒有經過那道關,動作欄想寫什麼都行。
代不出目標不算失敗
兩個代入點的現況不同:
{cli}jsc-cli/tools/detect-clis.sh{repo}所以三支指令這一輪只跑得動兩支。帶不出目標的那一筆印一行跳過,而且執行紀錄與失敗次數一個字都不動。
那一筆沒有做錯任何事。記成失敗會讓一個沒有人修得動的計數一路往上爬,而那個計數存在的理由正是指出「有一筆壞掉的項目每輪重試而沒人知道」。把「還沒接上」記成「壞掉」,等於用假的壞掉把真的壞掉蓋掉。
執行前再驗一次形狀
種入那一支驗過同樣幾項,這裡不省——待辦檔是純文字,種入之後可能被改。擋掉金錢符號、反引號、波浪號、分號、管線與連接符號;路徑一定要落在這一輪的根目錄底下;代完之後不得留大括號。
權限閘門與這一支的關係
這一支自己執行那些指令,所以權限層只看得到
run-due.sh這一條,看不到裡面跑了什麼。那不是繞過閘門。閘門本來就不是沙箱,它是一份「可信入口」的白名單,而清單上每一支腳本本來就做得了它該做的事——巡檢那一支會寫 wiki 頁,部署那一支會改整台機器的外掛。
防線改由三層擋:只跑經過審查的委派清單種出來的項目、執行前再驗一次形狀、代不出來的一律不跑。這段理由寫進了檔頭,因為下一個維護的人一定會問,而「為什麼不會被擋」跟「為什麼不需要被擋」是兩個不同的答案。
界線補了一條
不對發現動手,跟跑自己排定的工作,不是同一件事:
並寫明:哪天那一欄出現會寫入的指令,要重新吵這一段,不是悄悄把它放寬。
測試結果
last_run與算好的下次到期;失敗那一筆last_run有了、失敗次數變 1;第二次再跑變 2。這是待辦簿建起來之後第一次有欄位因為執行而改變。lint-scripts.sh、check-behaviors.sh、ste100-lint.sh、check-skill-paths.sh四支都回結束碼 0。這一批的邊界
失敗照重試、不自動退讓,維持規格原本的寫法。逾期提醒怎麼送到前景、登錄時的補問流程、待辦簿的 wiki 雙向同步,三項都不在這一批。存取庫掃描做出來之後,帶那個代入點的那一筆會自己開始跑,這一支不必再改。
前置 Push Request