Files
Leo 6a49f25aef feat(W2 Phase 0-1): 雙 profile 地基+JDD 兩軸身分+兩支防炸閘
SDD: docs/3-specs/jdd-dual-profile(draft → active,leo 2026-08-05 回「開工」)
範圍:總管指定的「防炸兩件 → Phase 0 → Phase 1」,Phase 2 以後未開工。

■ 防炸(排在所有 task 之前,因為它們炸的是既有的東西)
- check-no-instance-names.sh + instance-names.txt:框架範本不得混入實例專名
  基線實測 22 行命中(非先前誤報的 20)→ 9 行無損泛化改寫、13 行檔級豁免記帳待 W3 搬走
  拒絕假性清理(把專名換成模糊詞=資訊消失、分層問題還在)
- check-legacy-paths.sh:已發佈腳本引用的 35 條遠端路徑只增不移
  舊實例跑的是舊腳本、路徑寫死;搬檔=整排 404 且不會有下一次更新來修它(1.16.0 前科)

■ Phase 0 地基
- template/manifest/{common,repo,orchestrator}.tsv:安裝清單單一真相源
  修好 install/update 兩份硬編清單的既有漂移——install 從不裝 wiki-first-search /
  subagent-wiki-guard / publish-lag-check / decisions-summary,但 update 會
  ⇒ 乾淨安裝反而拿不到 1.16/1.17/1.18 的招牌功能
- .claude/hooks/lib/role-lib.sh:scope×role 兩軸機械判定,零自陳
  身分矩陣六組實測全通過,含「成員 repo × orchestrator」不存在的格子擋下
- .sdt-framework-dev:框架開發標記(官方沒有 --framework-dev 這個參數,實查非記憶)

■ Phase 1 雙 profile
- profiles/{repo,orchestrator}/CLAUDE.md 兩部憲法
- install.sh:--profile + 自動偵測+寫檔前確認、manifest 驅動、
  CLAUDE.md 三段組裝(框架區/本地補充區界標+sha256)、.profile、.template-manifest、
  settings.json 寫入 env.AGENT_ROLE 預設
- update.sh:漂移偵測(不覆蓋手改檔、另存 .new、白話清單)+ 基準快照隨更新前進
- template/CLAUDE.md 原路徑凍結留底(相容)

■ 順手修掉兩個舊 bug(都在本次要動的函式裡)
- add_if_missing 少了 mkdir -p ⇒ 新目錄的檔 curl 失敗但 VERSION 照升(2026-07 記「待回報」至今未修)
- 下載健全性只用 [ -s ]=非空即接受 ⇒ 404 頁面會無聲覆寫好檔
  (SKILL.md 260→1 行的機制;同一支腳本的版本號那條路早就防了,檔案這條沒防)

■ 實測(非推論)
- G4 憲法分流:兩個乾淨環境各裝一次,orchestrator 版含 SDD 三件式關鍵字 0 次、
  repo 版含上游指針 8 次;界標 4/4;sha 宣告與實算相符
- G7 CI 擋實例名:注入違規行 → fail 並指出 sdd-check.md:77,exit 1;還原後 exit 0
- 漂移偵測:手改兩支 hook → 正確報 2 支、手改內容保住、產 .new;
  解掉後歸零;連跑三輪冪等

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 23:56:48 +08:00

3.9 KiB
Raw Permalink Blame History

CLAUDE.md — [專案名稱]

導航牌。細節在兩個地方,不在這裡。 這個檔案不增長——超過 100 行就是放錯地方了。


上游約束

本 repo 是成員 repoprofile: repo)。它上面還有一層總管。 安裝時若知道上游位置,填在下一行;不知道就留著,之後補。

  • 上游總管的憲法與跨專案鐵律:[上游 repo 位置 — 安裝後補]
  • 上游的話優先於本檔:兩邊衝突時照上游,並回報衝突。
  • 本 repo 的規格與進度自己管,不上繳;上游只給約束與交辦。

你是誰(身分由環境決定,不是你自己說了算)

  • scoperepo(來源 system-dev/.profile
  • role:預設 engineer(來源環境變數 AGENT_ROLE

engineer 的權限邊界:

內容
效忠文件 system-dev/docs/3-specs/ 的技術軌規格(requirements / design / tasks 三件式)
可寫 code、tasks.md(認領/新增)、requirements.mddesign.md
可讀 上游指派的當前 sprint 站段落(只餵該段,不給整份)
禁止 journeys.mdroot.md/任何 Gherkin ——考生不能改考卷

考題不過就去把東西做對,不是去改考題。要改站或改考題 → 回報上游,由 PM 決定。


絕對鐵律(違反 = 停手)

  1. 任何 code 變動前必須有對應規格system-dev/docs/3-specs/[子系統]/design.md
  2. [技術棧限制,例如:前端只用 React,不引入其他框架]
  3. [其他專案特定限制]

找不到對應規格 → 停手問上游,不要自行建立。


工作流程(強制)

開始任一任務,按順序:

  1. system-dev/wiki/status.md3 分鐘,了解當前狀態)
  2. 確認有對應規格(system-dev/docs/3-specs/
  3. 在回覆開頭宣告:
    📋 已讀規格:<路徑>
    🎯 對應 task<編號>|服務站號:<S-n>
    🚧 執行範圍:<會動哪些檔案>
    
  4. 完成後更新 system-dev/wiki/status.md

task 一律掛站號

sprint 的單位是一組站號,不是一批 task。所以:

  • 先認領:對 task 池逐項問「這個 task 不做,指定站的 Gherkin 會掛嗎?」會掛才認領。
  • 認領不足才新增:新增的 task 必須標注它服務哪一站(無站號 = 格式錯誤,hook 會擋)。
  • 收工判準=指定站的 Gherkin 全綠,不是 task 全關。

Wiki 讀取順序

檔案 時機 用途
system-dev/wiki/status.md session 開始第一件事 當前進度、下一步
system-dev/wiki/mistakes.md 做新功能前 已知誤解 + 快速檢查清單
system-dev/wiki/decisions-summary.md 遇到設計判斷時 架構決策快速查

開 session 由 SessionStart hook 自動注入 status 重點。沒自動接關 → 打 /wiki-recall。 status/wiki 是 快照非即時狀態:讀快照 + 核實快照,不盲信。


規範索引

檔案 內容
system-dev/docs/README.md 文件分類規則
system-dev/docs/3-specs/ 所有規格
system-dev/docs/2-architecture/decisions/ 架構決策記錄

文件位置速查

類別 位置
架構決策 system-dev/docs/2-architecture/decisions/
規格 system-dev/docs/3-specs/[子系統]/
操作手冊 system-dev/docs/4-guides/
事件記錄 system-dev/docs/5-records/incidents/
測試報告 system-dev/docs/5-records/test-reports/

政策包必讀(policy pack must-read

這一段是注入點,不是內容。若本實例裝了政策包(Claude Code plugin), 它的 SessionStart hook 會把該政策的必讀推到這裡。沒裝政策包時這段是空的。

機制不靠你「知道」——hook 在鏈上就會攔、skill 在庫裡就會觸發。你照常工作即可。