步驟1 最後一筆:install-harness 交付內容升級到現世代+世代閘

管道本來就是好的(install-harness 功能完整、冪等),**過時的是內容**:
harness skill(4066B)grep「意圖」「>>」= 0 命中,只講世界觀/別寫 Python
⇒ 新裝的封測者拿不到步驟 1 的核心教材(`>>` 意圖語法)。

■ 單一真相源:harness skill 改為建置期由 registry 複製
  build-harness-skill.mjs=head + registry/skills/write_intent_workflow.md 正文 + tail。
  選「建置期複製」的理由:npm files 只收 harness/,registry 不進套件;
  symlink 在 npm pack 與 Windows 不可靠。產物 commit 進 repo(npm 裝的是產物、不跑 build)。
  head/tail 是 harness 專屬(CLI 語境入口/acr 指令表/暴露同意/誠實鐵律),
  install-harness 的 copyTree 跳過 .head/.tail,不鋪進使用者專案。

■ 其餘三件逐份對照現世代事實後更新(過時的直接刪,不留死代碼)
  - CLAUDE.block.md:補 >> 意圖語法、not_found 兩條路、零件 vs recipe 分型、
    腹語術紅線、金鑰只拿名字
  - commands/arcrun.md:步驟改成「先寫意圖 → 丟去查 → 再寫 YAML」,補 acr search/validate
  - hooks/arcrun-guard.sh:**正路提示改為指向 arcrun-mindset Skill +意圖語法**
    (呼應「hook 沒提 skill 反而把 AI 導向 repo 文件」的教訓);
    新增 code 節點腹語術提醒,settings.fragment 補 Write|Edit|MultiEdit matcher

■ 世代閘(防再度脫節)
  check-harness-generation.mjs 檢查四件交付物的現世代指紋,缺指紋 exit 1,
  掛進 npm run build(prepublishOnly 因此也擋)。
  反向驗證:把 skill/CLAUDE.block 換回上一代 → 兩者都被擋下並逐條點名缺哪個指紋。

■ 驗收(考生 haiku/受測物=環境)
  乾淨臨時目錄 acr install-harness → 四件鋪好;重跑冪等(全檔 md5 不變、
  CLAUDE.md 66 行不變、hooks 條目 2 不變、arcrun 區塊仍 1 個)。
  haiku 只讀該目錄的 CLAUDE.md+SKILL.md(明令禁讀 ~/.claude、禁上網;
  兩份教材 md5 與大小均不同,可證非考本機那支)答十題
  → grade-step1.sh **10 / 10 通過**(判分器同時反向驗證仍會抓
  ON_TRUE/ON_FAILURE/第一節點非 input)。
  npm test 18/18、tsc 綠。

SDD:workflow-discovery/tasks.md 3.11

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
uncle6me-web
2026-07-31 15:29:17 +08:00
parent d48f83ae6f
commit 46afea83c2
13 changed files with 675 additions and 87 deletions
@@ -112,6 +112,33 @@
前兩者與 target 走同一條路;recipe_search 搜公庫 vs target=recipe 搜私庫=語料不同
是設計(installed vs marketplace),回應互相指路,非行為漂移
- [x] 3.11 `acr install-harness` 交付內容升級到現世代(CP arcrun-usable **步驟 1** 最後一筆;
頂層交棒)— **管道本來就好的,過時的是內容**`cli/harness/skills/arcrun-mindset/SKILL.md`
4066Bgrep「意圖」「>>」=**0 命中**,只講世界觀/別寫 Python,
新裝封測者拿不到步驟 1 的核心教材(`>>` 意圖語法)。
- **單一真相源**harness skill 改為**建置期由 `registry/skills/write_intent_workflow.md`
複製**`cli/scripts/build-harness-skill.mjs`headregistry 正文+tail 三段拼接)。
選建置期複製而非 symlinknpm 引用:npm `files` 只收 `harness/`registry 不進套件;
symlink 在 npm pack 與 Windows 不可靠。產物 commit 進 reponpm 裝的是產物,不跑 build)。
head/tail 為 harness 專屬(CLI 語境入口/`acr` 指令表/暴露同意/誠實鐵律),
`install-harness``copyTree` 跳過 `.head``.tail` 不鋪給用戶。
- **其餘三件同步升級**`CLAUDE.block.md`(補 `>>` 意圖語法+`not_found` 兩條路+
零件 vs recipe 分型+腹語術紅線+金鑰只拿名字);`commands/arcrun.md`(步驟改成
「先寫意圖→丟去查→再寫 YAML」,補 `acr search``acr validate`);
`hooks/arcrun-guard.sh`**正路提示改為指向 arcrun-mindset Skill +意圖語法**
呼應「hook 沒提 skill 反而把 AI 導向 repo 文件」的教訓;新增 code 節點腹語術提醒,
settings.fragment 補 `Write|Edit|MultiEdit` matcher)。
- **世代閘**(防再度脫節):`cli/scripts/check-harness-generation.mjs` 檢查四件交付物的
現世代指紋(`>>``ON_SUCCESS``對每個``not_found`/腹語術/`arcrun-mindset`),
缺指紋 exit 1;掛進 `npm run build`(故 `prepublishOnly` 也擋)。
反向驗證:把 skillCLAUDE.block 換回上一代 → 兩者都被擋下並逐條點名缺哪個指紋。
- **驗收**(考生 haiku/受測物=環境):乾淨臨時目錄跑 `acr install-harness`
→ 四件鋪好、重跑冪等(全檔 md5 不變、CLAUDE.md 66 行不變、hooks 條目 2 不變、
arcrun 區塊仍 1 個);haiku 只讀該目錄的 CLAUDE.mdSKILL.md(明令禁讀 ~/.claude、
禁上網;兩份教材 md5 與大小均不同可證非考本機那支)答十題
`grade-step1.sh` **10 / 10 通過**(判分器同時反向驗證仍會抓 ON_TRUEON_FAILURE
第一節點非 input)
---
## 跨任務鐵律提醒