#56 — 補上六個指令走通後浮現的四個缺口
安裝完成等於驗過能用。目前 tea-sdlc install 跑完會回報寫了哪些轉接檔,但沒有人驗過那條鏈真的通:轉接檔 → PATH 上的 tea-sdlc → 流程正本。最脆弱的一環在中間——套件裝在某個 Node 版本底下,換個版本就找不到了,而轉接檔本身看起來完全正常。使用者要到第一次打 /sdlc-plan 才發現,那時他已經離開安裝的心智狀態很久了。
tea-sdlc install
tea-sdlc
/sdlc-plan
install 寫完轉接檔後自動驗一次真實的叫用鏈:實際取回一次流程正本、比對各平台轉接檔存在且內容含正確的叫用行,逐平台 pass/fail 併入輸出。任一平台不通就讓 install 回失敗——「要經過測試才算完成」要做實,不能只是一句期許。
install
驗證完全不需要網路:取正本是讀套件內的檔案,比對轉接檔是讀本機目錄。所以它無條件執行,不受 Gitea 登入或時間追蹤狀態影響。
失敗不回滾,保留已寫的轉接檔。回滾在升級情境下會造成淨損失:使用者原本有一組能用的舊轉接檔,覆蓋後驗證失敗,回滾把新的刪掉、舊的也已經沒了,他從「有點舊但能用」變成「什麼都沒有」。而且最可能的病灶是「PATH 上找不到 tea-sdlc」,那不是轉接檔的問題,刪掉它一點幫助也沒有。輸出要指出病灶與修復方式。
不沿用既有的現況回報:它查的是環境與轉接檔數量,不驗這條鏈叫不叫得動。也不把測試檔打包給使用者跑:那些測試驗的是開發期的契約,不是安裝結果。
ok:false
--dry-run
test/
無,可立即開始
No dependencies set.
The note is not visible to the blocked user.
母議題
#56 — 補上六個指令走通後浮現的四個缺口
要做出什麼
安裝完成等於驗過能用。目前
tea-sdlc install跑完會回報寫了哪些轉接檔,但沒有人驗過那條鏈真的通:轉接檔 → PATH 上的tea-sdlc→ 流程正本。最脆弱的一環在中間——套件裝在某個 Node 版本底下,換個版本就找不到了,而轉接檔本身看起來完全正常。使用者要到第一次打/sdlc-plan才發現,那時他已經離開安裝的心智狀態很久了。install寫完轉接檔後自動驗一次真實的叫用鏈:實際取回一次流程正本、比對各平台轉接檔存在且內容含正確的叫用行,逐平台 pass/fail 併入輸出。任一平台不通就讓install回失敗——「要經過測試才算完成」要做實,不能只是一句期許。驗證完全不需要網路:取正本是讀套件內的檔案,比對轉接檔是讀本機目錄。所以它無條件執行,不受 Gitea 登入或時間追蹤狀態影響。
失敗不回滾,保留已寫的轉接檔。回滾在升級情境下會造成淨損失:使用者原本有一組能用的舊轉接檔,覆蓋後驗證失敗,回滾把新的刪掉、舊的也已經沒了,他從「有點舊但能用」變成「什麼都沒有」。而且最可能的病灶是「PATH 上找不到
tea-sdlc」,那不是轉接檔的問題,刪掉它一點幫助也沒有。輸出要指出病灶與修復方式。不沿用既有的現況回報:它查的是環境與轉接檔數量,不驗這條鏈叫不叫得動。也不把測試檔打包給使用者跑:那些測試驗的是開發期的契約,不是安裝結果。
驗收標準
install寫完轉接檔後自動執行驗證,結果併入輸出install回ok:false--dry-run下不寫入轉接檔,也不因此誤報驗證失敗ok:false、失敗後轉接檔仍在test/加入套件白名單阻擋於
無,可立即開始