fix: update.sh 不再覆蓋客製 pre-write-guard.sh(issue #3)+ bump 1.3.1
update.sh 原把 pre-write-guard.sh 列在無條件覆蓋區,會用模板空殼 無聲蓋掉下游已客製的 guardrail,且 update_file 無 .bak 備份。 改法(issue 方案 1):新增 keep_with_template()——原檔永不覆蓋, 最新模板版另存 pre-write-guard.template.sh 旁邊,結尾印 diff 指令供採納。 首次安裝(原檔不存在)才走 update_file 抓本體。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,18 @@
|
||||
|
||||
---
|
||||
|
||||
## 1.3.1 — 修:update.sh 不再覆蓋客製的 pre-write-guard.sh(issue #3)
|
||||
|
||||
**修正**
|
||||
- `scripts/update.sh` 原本把 `pre-write-guard.sh` 列在「覆蓋更新」區,**無條件**用模板空殼蓋掉。
|
||||
但此檔的定位是「使用者手填的 guardrail 客製檔」(CHANGELOG 1.2.0),下游通常已塞滿自己的 enforcement,
|
||||
且 `update_file` 覆蓋**無 `.bak` 備份**——跑一次 update 等於無聲關掉整套 guardrail(如 Arcrun 的 KNOWN_SDDS 白名單、薄殼原則強制等數百行)。
|
||||
- 改法(issue 建議方案 1):新增 `keep_with_template()`,把 `pre-write-guard.sh` 移出覆蓋區。
|
||||
**原檔永不覆蓋**,改把最新模板版另存成 `pre-write-guard.template.sh` 旁邊,更新結尾印出 `diff` 指令供使用者自行採納。
|
||||
首次安裝(原檔不存在)才會直接抓本體。`install.sh` 路徑本就用 `download_if_missing`(已存在即跳過),無此問題。
|
||||
|
||||
---
|
||||
|
||||
## 1.3.0 — vault 偵測(Logseq / Obsidian)+ Cowork 整理 skill
|
||||
|
||||
**新增**
|
||||
|
||||
Reference in New Issue
Block a user