唯讀盤點那一欄補一條結束碼規則,並換掉一個用結束碼帶狀態的指令 #77

Merged
admin merged 1 commits from fix/probe-exit-code-must-mean-pass-or-fail into develop 2026-09-04 10:09:55 +00:00
Member

摘要

  • 需求描述:唯讀盤點那一欄的合約規定了路徑形狀、代入點、不准有金錢符號與波浪號,卻從來沒定義結束碼該怎麼解讀。漏了那一條就踩過一次。這張補上規則,並把那一格換成新的寫法。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
tools/delegate-spec.tsv 檔頭補一條結束碼規則;hooks/hooks-install 那一列的指令換成帶旗標的寫法,交出描述與判定版本號一併對齊
三份 manifest 版號 0.3.7 升到 0.3.8

漏掉的那一條規則

填進來的那一支用結束碼帶三種狀態:接好、接好但這支 CLI 做不到、有東西沒接。那是給人看的三分法,本身沒有錯。

但讀的那一邊照非零判失敗。於是有先天限制的那一支 CLI 每一輪讓那一筆失敗一次、一天 96 次,而沒有人修得動——那支 CLI 擋不下技能叫用是它的架構限制,16 個接線項目全部就位。

失敗次數存在的理由是指出「有一筆壞掉的項目每輪重試而沒人知道」。被一個修不動的數字填滿,就等於用假的壞掉把真的壞掉蓋掉。

補進去的規則

結束碼只准表示過與不過,不准用來編碼狀態。

並且明寫遇到用結束碼帶狀態的腳本時該怎麼做——去那一邊加一個只回過與不過的模式,不要在這一欄將就。

最後那半句是重點。將就的寫法是在讀的那一邊開一份「可接受的非零碼」清單,那會把「我的結束碼是哪一種語意」這個問題推給每一個往後填這一欄的人。修在來源那一邊只需要知道自己的三種狀態哪一種是缺陷,而那個知識本來就在那一支裡。

那一列跟著改的三個欄位

欄位 改成什麼
probe 加上新旗標
slice 本來只寫子命令名,補上「先天限制不算失敗」
version 帶到上游加旗標的那一版——這一列的判定跟著它走

測試結果

  • check-delegate.sh 結束碼 0,三十五列對上三十五支技能。
  • ste100-lint.sh 結束碼 0。
  • 那一列的三個欄位逐項確認過內容。

相關的另一張

plugins/hooks 那邊同時給那一支加了旗標,實測五支 CLI 兩種模式的結束碼、輸出逐字相同、缺項目時仍然回非零。兩張都合併之後這件事才完整:這一張只是把清單指向新的寫法,旗標本身在那一張。

前置 Push Request

  • plugins/hooks 加旗標那一張。這一張的指令指向那個旗標,先合併這一張的話那一格會指到一個還不存在的選項,種入時代得出來、跑起來回用法錯誤。
## 摘要 - 需求描述:唯讀盤點那一欄的合約規定了路徑形狀、代入點、不准有金錢符號與波浪號,卻從來沒定義結束碼該怎麼解讀。漏了那一條就踩過一次。這張補上規則,並把那一格換成新的寫法。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `tools/delegate-spec.tsv` | 檔頭補一條結束碼規則;`hooks/hooks-install` 那一列的指令換成帶旗標的寫法,交出描述與判定版本號一併對齊 | | 三份 manifest | 版號 0.3.7 升到 0.3.8 | ## 漏掉的那一條規則 填進來的那一支用結束碼帶三種狀態:接好、接好但這支 CLI 做不到、有東西沒接。那是給人看的三分法,本身沒有錯。 但讀的那一邊照非零判失敗。於是有先天限制的那一支 CLI 每一輪讓那一筆失敗一次、**一天 96 次**,而沒有人修得動——那支 CLI 擋不下技能叫用是它的架構限制,16 個接線項目全部就位。 失敗次數存在的理由是指出「有一筆壞掉的項目每輪重試而沒人知道」。被一個修不動的數字填滿,就等於用假的壞掉把真的壞掉蓋掉。 ## 補進去的規則 > 結束碼只准表示過與不過,不准用來編碼狀態。 並且明寫遇到用結束碼帶狀態的腳本時該怎麼做——**去那一邊加一個只回過與不過的模式,不要在這一欄將就。** 最後那半句是重點。將就的寫法是在讀的那一邊開一份「可接受的非零碼」清單,那會把「我的結束碼是哪一種語意」這個問題推給每一個往後填這一欄的人。修在來源那一邊只需要知道自己的三種狀態哪一種是缺陷,而那個知識本來就在那一支裡。 ## 那一列跟著改的三個欄位 | 欄位 | 改成什麼 | | --- | --- | | `probe` | 加上新旗標 | | `slice` | 本來只寫子命令名,補上「先天限制不算失敗」 | | `version` | 帶到上游加旗標的那一版——這一列的判定跟著它走 | ## 測試結果 - `check-delegate.sh` 結束碼 0,三十五列對上三十五支技能。 - `ste100-lint.sh` 結束碼 0。 - 那一列的三個欄位逐項確認過內容。 ## 相關的另一張 `plugins/hooks` 那邊同時給那一支加了旗標,實測五支 CLI 兩種模式的結束碼、輸出逐字相同、缺項目時仍然回非零。**兩張都合併之後這件事才完整**:這一張只是把清單指向新的寫法,旗標本身在那一張。 ## 前置 Push Request - `plugins/hooks` 加旗標那一張。這一張的指令指向那個旗標,先合併這一張的話那一格會指到一個還不存在的選項,種入時代得出來、跑起來回用法錯誤。
jiantw83 added 1 commit 2026-09-04 10:07:05 +00:00
那一欄的合約規定了路徑形狀、代入點、不准有金錢符號與波浪號,卻從來沒定義
結束碼該怎麼解讀。漏了那一條就踩過一次。

填進來的那一支用結束碼帶三種狀態:接好、接好但這支 CLI 做不到、有東西沒接。
那是給人看的三分法,本身沒有錯。但讀的那一邊照非零判失敗,於是有先天限制的
那一支 CLI 每一輪讓那一筆失敗一次、一天 96 次,而沒有人修得動——那支 CLI
擋不下技能叫用是它的架構限制,不是接線缺漏,16 個接線項目全部就位。

失敗次數存在的理由是指出「有一筆壞掉的項目每輪重試而沒人知道」。被一個修不動
的數字填滿,就等於用假的壞掉把真的壞掉蓋掉。

所以補上那一條:這一欄的結束碼只准表示過與不過,不准用來編碼狀態。而且明寫
遇到用結束碼帶狀態的腳本時該怎麼做——去那一邊加一個只回過與不過的模式,不要
在這一欄將就。上游那一支已經加了那個旗標,這一列跟著換過去。

那一列的交出描述與判定版本號一併對齊:描述本來只寫子命令名,現在補上「先天
限制不算失敗」;版本號帶到上游加旗標的那一版,因為這一列的判定跟著它走。

三份 manifest 版號 0.3.7 升到 0.3.8。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
admin merged commit fd6aa6f45c into develop 2026-09-04 10:09:55 +00:00
admin deleted branch fix/probe-exit-code-must-mean-pass-or-fail 2026-09-04 10:09:55 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Reference: plugins/meta#77