釋出:到期的內建檢查項真的跑一遍,成敗回寫待辦簿 #27

Merged
admin merged 3 commits from develop into master 2026-09-04 06:08:58 +00:00
Member

摘要

  • 需求描述:把 develop 累積的變更釋出到 master。deploy.sh clone 的是預設分支,沒進 master 的東西這台機器一輪都用不到。這一批讓助理第一次真的執行到期的內建檢查項。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

這一批的內容

待辦簿蓋好之後一直沒有人執行它。十六筆內建項、十五筆到期,而執行紀錄與失敗次數從建立到現在一次都沒動過——巡檢每輪把它們印出來,如此而已。

新增 tools/run-due.sh,接在巡檢步驟五、寫心跳之前。

版號 0.2.2 到 0.2.3。

只跑三種動作裡的一種

動作欄有三種值:一行指令、技能名、只提醒。這一支只跑第一種。

技能名那一種不跑,因為叫用一整支技能會寫 wiki、開 PR、改檔案,而這一支跑在沒有人看的那一輪裡。唯讀盤點指令失敗最多回一個非零碼;一支技能中途失敗可能留下寫到一半的頁或開錯的 PR。兩種代價不同,就該分兩次判、分兩次接。

使用者親手登錄的那幾筆也不跑——那幾筆沒有經過種入那一支的檢核,動作欄想寫什麼都行。

代不出目標不算失敗

{cli} 由偵測到的 CLI 代入,這台機器五支。{repo} 的存取庫掃描還沒做出來,所以帶那個代入點的一律印一行跳過,而且執行紀錄與失敗次數一個字都不動。

那一筆沒有做錯任何事。記成失敗會讓一個沒有人修得動的計數一路往上爬,而那個計數存在的理由正是指出「有一筆壞掉的項目每輪重試而沒人知道」。

三層防線

執行前再驗一次指令形狀,不信任待辦檔的內容——那是純文字,種入之後可能被改。擋掉金錢符號、反引號、波浪號、分號、管線與連接符號;路徑一定要落在這一輪的根目錄底下;代完之後不得留大括號。

權限閘門看不到這一支裡面跑了什麼,而那不是繞過:閘門是可信入口的白名單、不是沙箱,清單上每一支腳本本來就做得了它該做的事。理由寫進了檔頭。

界線補了一條

不對發現動手,跟跑自己排定的工作,不是同一件事。待人處理那幾列是關於別人機器狀態的發現;到期的內建項是助理自己被交付的工作,來源是要走審查的委派清單。並寫明哪天那一欄出現會寫入的指令,要重新吵這一段,不是悄悄放寬。

測試結果

  • 真機乾跑:15 筆到期,2 筆要跑(一筆展開成五個 CLI 目標)、1 筆代不出目標、12 筆這一批不跑。
  • 真的執行並回寫(隔離環境):成功那一筆寫進執行時間與算好的下次到期;失敗那一筆的失敗次數從 0 變 1,再跑一次變 2。這是待辦簿建起來之後第一次有欄位因為執行而改變。
  • 四道防線各驗一次:夾帶分號、指令不在根目錄底下、代完還留著認不得的代入點、不是內建項——四種全部擋住,夾帶的檔案沒有被建出來。
  • 結束碼六條路各驗一次。
  • 四支檢核腳本都回結束碼 0。

前置 Push Request

  • 無
## 摘要 - 需求描述:把 develop 累積的變更釋出到 master。`deploy.sh` clone 的是預設分支,沒進 master 的東西這台機器一輪都用不到。這一批讓助理第一次真的執行到期的內建檢查項。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 這一批的內容 待辦簿蓋好之後一直沒有人執行它。十六筆內建項、十五筆到期,而執行紀錄與失敗次數從建立到現在一次都沒動過——巡檢每輪把它們印出來,如此而已。 新增 `tools/run-due.sh`,接在巡檢步驟五、寫心跳之前。 版號 0.2.2 到 0.2.3。 ## 只跑三種動作裡的一種 動作欄有三種值:一行指令、技能名、只提醒。這一支只跑第一種。 技能名那一種不跑,因為叫用一整支技能會寫 wiki、開 PR、改檔案,而這一支跑在沒有人看的那一輪裡。唯讀盤點指令失敗最多回一個非零碼;一支技能中途失敗可能留下寫到一半的頁或開錯的 PR。**兩種代價不同,就該分兩次判、分兩次接。** 使用者親手登錄的那幾筆也不跑——那幾筆沒有經過種入那一支的檢核,動作欄想寫什麼都行。 ## 代不出目標不算失敗 `{cli}` 由偵測到的 CLI 代入,這台機器五支。`{repo}` 的存取庫掃描還沒做出來,所以帶那個代入點的一律印一行跳過,**而且執行紀錄與失敗次數一個字都不動**。 那一筆沒有做錯任何事。記成失敗會讓一個沒有人修得動的計數一路往上爬,而那個計數存在的理由正是指出「有一筆壞掉的項目每輪重試而沒人知道」。 ## 三層防線 執行前再驗一次指令形狀,不信任待辦檔的內容——那是純文字,種入之後可能被改。擋掉金錢符號、反引號、波浪號、分號、管線與連接符號;路徑一定要落在這一輪的根目錄底下;代完之後不得留大括號。 權限閘門看不到這一支裡面跑了什麼,而那不是繞過:閘門是可信入口的白名單、不是沙箱,清單上每一支腳本本來就做得了它該做的事。理由寫進了檔頭。 ## 界線補了一條 不對發現動手,跟跑自己排定的工作,不是同一件事。待人處理那幾列是關於別人機器狀態的發現;到期的內建項是助理自己被交付的工作,來源是要走審查的委派清單。並寫明哪天那一欄出現會寫入的指令,要重新吵這一段,不是悄悄放寬。 ## 測試結果 - 真機乾跑:15 筆到期,2 筆要跑(一筆展開成五個 CLI 目標)、1 筆代不出目標、12 筆這一批不跑。 - 真的執行並回寫(隔離環境):成功那一筆寫進執行時間與算好的下次到期;失敗那一筆的失敗次數從 0 變 1,再跑一次變 2。**這是待辦簿建起來之後第一次有欄位因為執行而改變。** - 四道防線各驗一次:夾帶分號、指令不在根目錄底下、代完還留著認不得的代入點、不是內建項——四種全部擋住,夾帶的檔案沒有被建出來。 - 結束碼六條路各驗一次。 - 四支檢核腳本都回結束碼 0。 ## 前置 Push Request - 無
jiantw83 added 3 commits 2026-09-04 06:08:21 +00:00
待辦簿蓋好之後一直沒有人執行它。十六筆內建項、十五筆到期,而 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>
Reviewed-on: #26
admin approved these changes 2026-09-04 06:08:54 +00:00
admin merged commit 0fcce1c96a into master 2026-09-04 06:08:58 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/assist#27