develop
master
把 develop 上累積的變更釋出到 master。合併之後,這些變更才會透過 marketplace 到達每一台機器。
CONTENTS 成為第 15 種頁面類型,解析鏈是 JSC_WIKI_REPO_CONTENTS 到 JSC_WIKI_REPO,刻意不退回型別變數。14 個目錄頁從此同住一庫,內容頁仍各走自己的型別。兩者不再同庫,跨庫沒有 wiki 連結語法,所以目錄頁指向內容頁的連結一律改成 gitea.sh wiki-url 的絕對網址。
CONTENTS
JSC_WIKI_REPO_CONTENTS
JSC_WIKI_REPO
gitea.sh wiki-url
目錄頁的整列 upsert 收成一支 jsc-gitea/tools/wiki-contents.sh,取代原本 14 處只有 1 處寫成程式的手工流程。
jsc-gitea/tools/wiki-contents.sh
hash-id 只保留大寫轉換,輸出完整 40 碼。原本的 H 前綴會命中 16 個十六進位首碼裡的 13 個,還丟掉第 8 碼,把有效熵壓到 28 位元,而且全庫查不到任何理由紀錄。頁名樣式仍收 H 加 7 碼的舊頁,遷移期間讀得到舊頁。
hash-id
H
閘門的模型來源改成只讀屬於當前 CLI 的那一份,政策改為 fail-closed:判不出 CLI、判不出模型、模型不在能力標籤表上,三種一律擋下,每一則擋下的訊息都帶兩條逃生門。階段鎖狀態檔改成 $JSC_HOME/sessions/{CLI 代號}-{sid}.stage,舊路徑仍讀得到。
$JSC_HOME/sessions/{CLI 代號}-{sid}.stage
Group 3 先讀上一輪決議,不重複掃、不重複問;建議表加上「決議」與「決議日期」兩欄;新增步驟 8 把稽核結果寫進 SKILLSET 頁。Group 1 補進三支現成但沒人呼叫過的檢查腳本。
JSC_WIKI_REPO_MONITOR
階段鎖狀態檔改名,所以每台機器第一次啟動會清一次重啟閘門——起始檔不存在,看起來像新的工作階段。只發生一次,已實測連跑三次不會再清。升級當下正好有閘門升著的話,那一次會被放下。
wiki 既有頁要用 jsc-gitea/tools/migrate-wiki.sh 搬。先部署再搬:舊版技能算的是 8 碼頁名,先搬會讓舊版找不到頁、照範本另外開一份新的。那支預設只印對照表,--apply 才真的動,而且是先寫新頁、確認寫成、才刪舊頁。
jsc-gitea/tools/migrate-wiki.sh
--apply
What:準則的環境變數表與命名總表加入 JSC_WIKI_REPO_CONTENTS 與目錄頁專用存取庫 一節,HASH 規則改為完整 40 碼。skill-check 的 Group 3 先讀上一輪決議,建議表加上 決議與決議日期兩欄,新增步驟 8 把稽核結果寫進 SKILLSET 頁。新增 check-page-name.sh 與兩份 SKILLSET 範本。 Why:優化建議原本每輪產出後就散掉,決議為延後的項目下一輪會重新掃、重新問一次, 正是 skill-check 自己第三個面向點名的毛病。SKILLSET_CONTENTS 是 14 個目錄頁裡 唯一沒有範本的,四支技能都被要求寫它,卻沒有欄位定義可套。 How:Group 1 補進三支現成但沒人呼叫的檢查腳本——ste100-lint.sh、check-wiki-rules.sh 與新增的 check-page-name.sh。讀不到上一輪決議時只停掉 Group 3,不再中止整輪:那兩組 完全不碰 wiki,金鑰失效就會鎖死整組技能唯一的稽核路徑。另外四支 meta 技能原本把目錄頁 寫進 SKILLSET 存取庫,一併改走 CONTENTS。
Reviewed-on: #63
No dependencies set.
The note is not visible to the blocked user.
把 develop 上累積的變更釋出到 master。合併之後,這些變更才會透過 marketplace 到達每一台機器。
這一版帶了什麼
一、wiki 目錄頁進專用存取庫
CONTENTS成為第 15 種頁面類型,解析鏈是JSC_WIKI_REPO_CONTENTS到JSC_WIKI_REPO,刻意不退回型別變數。14 個目錄頁從此同住一庫,內容頁仍各走自己的型別。兩者不再同庫,跨庫沒有 wiki 連結語法,所以目錄頁指向內容頁的連結一律改成gitea.sh wiki-url的絕對網址。目錄頁的整列 upsert 收成一支
jsc-gitea/tools/wiki-contents.sh,取代原本 14 處只有 1 處寫成程式的手工流程。二、wiki 頁 HASH 去除截短與 H 前綴
hash-id只保留大寫轉換,輸出完整 40 碼。原本的H前綴會命中 16 個十六進位首碼裡的 13 個,還丟掉第 8 碼,把有效熵壓到 28 位元,而且全庫查不到任何理由紀錄。頁名樣式仍收H加 7 碼的舊頁,遷移期間讀得到舊頁。三、SDLC 能力閘門依 CLI 分流
閘門的模型來源改成只讀屬於當前 CLI 的那一份,政策改為 fail-closed:判不出 CLI、判不出模型、模型不在能力標籤表上,三種一律擋下,每一則擋下的訊息都帶兩條逃生門。階段鎖狀態檔改成
$JSC_HOME/sessions/{CLI 代號}-{sid}.stage,舊路徑仍讀得到。四、skill-check 加入優化與建議流程
Group 3 先讀上一輪決議,不重複掃、不重複問;建議表加上「決議」與「決議日期」兩欄;新增步驟 8 把稽核結果寫進 SKILLSET 頁。Group 1 補進三支現成但沒人呼叫過的檢查腳本。
五、順手修掉的既有缺陷
H開頭舊頁編號漏偵測。JSC_WIKI_REPO_MONITOR,體檢看不到它而孤兒掃描還會誤報;另有指向不存在頁面的殘留項目。升級後的一次性代價
階段鎖狀態檔改名,所以每台機器第一次啟動會清一次重啟閘門——起始檔不存在,看起來像新的工作階段。只發生一次,已實測連跑三次不會再清。升級當下正好有閘門升著的話,那一次會被放下。
部署後要做的事
wiki 既有頁要用
jsc-gitea/tools/migrate-wiki.sh搬。先部署再搬:舊版技能算的是 8 碼頁名,先搬會讓舊版找不到頁、照範本另外開一份新的。那支預設只印對照表,--apply才真的動,而且是先寫新頁、確認寫成、才刪舊頁。