feat/skill-delegation-spec-and-checker
develop
references/delegate-criteria.md
tools/delegate-spec.tsv
tools/check-delegate.sh
seed
judged
next
diff
lint-scripts.sh
check-behaviors.sh
ste100-lint.sh
check-link-format.sh
四支技能異動技能還沒引用這份判準與這支腳本,例行稽核也還沒把 check-delegate.sh 排進它的檢查群組。接線是另外一輪的事。
check-delegate.sh
規格本身有八處模糊或自相矛盾,兩處已在這張 PR 處理,其餘記在待辦文件裡:
doc
code
助理要知道每一支技能能不能交給它代跑,但那份盤點目前只存在於一份待辦文件的表格裡。技能組每天在動,手工盤點只會過期,而且過期得無聲無息——今天就有三件事栽在這上面:照舊版資訊列的待辦白列了、一份文件寫著「8 碼」而工具早就改用 40 碼、一份技能文件描述的路徑家族已經不存在。 判準寫成 references 一份文件,四支技能異動技能共用。內容是判定決策樹的五題與四種結論各自的必填欄位。 判定結果寫成 tools 底下一份 TSV,一支技能一列,十一個欄位。作法沿用設定規格表那一套:註解檔頭說明每一欄的意思與可填值、TAB 分隔、空值寫短橫。技能名分成 domain 與 name 兩欄,形狀跟技能清單工具的輸出一致,比對時直接取前兩欄就好。 初始 35 列依既有盤點種入,來源欄標 seed,代表還沒正式走過決策樹、待複核。技能有異動時就地走一次決策樹再轉成 judged。 檢核腳本比對清單與實際技能:缺列或多列算缺失,必填欄位空著也算缺失——切片交與條件式交沒填「留在人手上的那一半」,助理下一輪會把整支技能當成可交的一路跑完。版本號落後與來源是 seed 都只印提示、不影響結束碼,理由寫進腳本註解:版本號是 domain 層級,同 domain 改一支技能其餘技能也會被標到,當成缺失的話每次發版整個 domain 都亮紅,提示很快就會被當成雜訊忽略。 種入時有一支改判。體檢那一支在既有盤點裡是無條件的切片交,實測確認它呼叫自家腳本走的是帶版本號的路徑,那種路徑進不了允許清單,無人值守的每一輪都會無聲卡在第一支腳本,所以改判條件式交,把條件與條件不成立時的行為都寫進去。留成切片交的話,下一個實作定期健檢的人會看到一列寫著可以交,然後重演一次。 這一輪只建地基。四支技能異動技能還沒引用這份判準與這支腳本,例行稽核也還沒把它排進檢查群組,接線另外一輪做。
委派判定的地基要靠版號才傳得到機器端。 三份 manifest 由 sync-skill-manifest.sh 同步,只動版本欄位。
No dependencies set.
The note is not visible to the blocked user.
摘要
變更內容
references/delegate-criteria.mdtools/delegate-spec.tsvtools/check-delegate.sh設計重點
seed。 代表還沒正式走過決策樹、待複核。技能有異動時就地走一次決策樹再轉成judged。這樣本輪就有完整清單可用,不必現場判 35 次。seed與版本落後都只印提示,不影響結束碼。 版本號是 domain 層級,同 domain 改一支技能其餘技能也會被標到;當成缺失的話每次發版整個 domain 都亮紅,提示很快就會被當成雜訊忽略。next每一列都要填,包含不交的。 不交講的是助理不代跑,跟「跑完之後該接什麼」無關。測試結果
seed的情況回結束碼 0;另外把一列的版本號改成落後值重跑,仍回 0 並印出「要複判」的提示,跑完還原並用diff確認一致。next指到不存在的技能、切片交沒填「留在人手上的那一半」,五種都正確回結束碼 1 並逐項指名。用法錯誤回 2,缺清單或列不出技能回 3。lint-scripts.sh、check-behaviors.sh、ste100-lint.sh、check-link-format.sh對這個存放庫都回結束碼 0。這一輪只建地基
四支技能異動技能還沒引用這份判準與這支腳本,例行稽核也還沒把
check-delegate.sh排進它的檢查群組。接線是另外一輪的事。讀規格時發現的問題
規格本身有八處模糊或自相矛盾,兩處已在這張 PR 處理,其餘記在待辦文件裡:
doc與code兩個 domain)。那是範圍問題不是實作問題,已記進待辦文件。前置 Push Request