Files
system-dev-template/docs/3-specs/cross-repo-signing/design.md
T
Leo 2a8c259d08 依 D22 翻正舊 ignore 政策:本 repo 自己的 SDD 進版控 + 新增 jdd-dual-profile 卷
🔴 修的病:這個框架 repo 自己的 5 份 SDD 全部被 .gitignore 擋在版控之外,
只活在一台硬碟上——clone 不到、雲端 CC 讀不到、沒備份。SDD 是進度真相源,
「框架 repo 沒吃自己的狗糧」。

依據 D22(已翻案):Gitea private 除機敏值外全 push,雲端工人靠 clone,docs 缺=斷糧;
只有 GitHub mirror 才嚴篩,而 docs 整包已在 github-publish-exclude.txt。

.gitignore 改法:整條擋 → 只擋子項(/*)+ 逐個放行真 SDD。
與 template/ 底下逐位元組相同的自裝副本(TEMPLATE-sdd/、SDD-LIFECYCLE.md)續擋。

新增 docs/3-specs/jdd-dual-profile/(status: draft,等 leo confirm 才升 active):
JDD(PM 軌 root/journeys/角色權限/站號 sprint)與雙 profile 合成一卷,
33 條 task/6 phase,每條掛服務哪條 Gherkin(G1–G7)。
新增 hook 6 支、改既有 hook 1 支。**0 行實作**。

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

67 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# cross-repo-signing — Design
> 狀態:已採納
> 建立:2026-06-26 | 最後更新:2026-06-26
> 負責人:leouncle6me-web
> 來源:issue #12InkStoneCo 總管)
---
## 一句話說明
所有 repomira / graph-plugin / ingest-plugin / Arcrun / template…)共用 `uncle6me-web` 一個 GitHub 帳號發 issue/commentauthor 全顯示同一帳號、看不出來源;制度化一條鐵律——**跨 repo 的 issue/comment 一律在開頭署名 `[<本 repo> CC]`**,靠內容層署名溯源。
---
## 背景與問題
- GitHub issue/comment 的 author = 發送帳號(gh token),**沒有 per-repo 身份這設定**。
- `git config user.name` 只影響 commit 作者,**不影響 issue/comment author**。
- 給每個 repo 開獨立帳號 = 多帳號自動化 = 踩「避免被 flag」鐵律,**不可**(見 issue-handle skill 第 3 節)。
→ 身份只能在**內容層自報**(約定),不是平台層。
現狀:CC 們已部分自發(「## 回報(arcrun CC)」「## 回報(graph CC)」),但靠當次自律、不一致(總管自己也常漏署)。本 SDD 把它制度化:寫成鐵律、一處改全 repo 繼承。
---
## 範圍
### 包含(In Scope
- 在 template 的 issue 處理指引(`template/.claude/commands/issue-handle.md`)加一節「跨 repo 署名鐵律」。
- 因 issue-handle 是「讀/回/結案」的權威指引、所有 repo 透過 template 繼承,這是規則的正確落點。
### 不包含(Out of Scope
- 不改 CLAUDE.md(導航牌,不增長;規則細節歸 skill 內文,與既有「採集規則放 skill」一致)。
- 不做任何平台層/自動化(不掛 hook、不改 gh 設定)——純內容約定。
- 不回改各下游 repo 的歷史 comment。
---
## 設計
新增第 4 節「跨 repo 署名(鐵律)」於 issue-handle skill
> **跨 repo 的 issue/comment 一律在開頭署名 `[<本 repo> CC]`**,因所有 repo 共用同一帳號、author 看不出來源,靠內容署名溯源。
> - 收件方 CC 回報:`[graph-plugin CC]` / `[mira CC]` / `[ingest CC]` / `[arcrun CC]`…
> - 總管下令/追問:`[InkStoneCo 總管]`
> - 署名放 comment 第一行或標題式開頭(既有「## 回報(graph CC)」即合格)。
放在第 2 節(發給別的 repo)之後、第 3 節(flag 界線)之前——順著「跨 repo 互動」的脈絡。原第 3、4 節順延。
並把第 1 節「讀/回/結案」的 comment 範例帶上署名,讓署名在最常用路徑就被看見(不只躲在後面的鐵律節)。
---
## 決策理由
- **落點選 issue-handle skill 而非 CLAUDE.md**CLAUDE.md 是導航牌、明令不增長;issue 互動規則屬 skill 內文,與「採集規則放 skill」同構。
- **內容層而非平台層**:唯一不踩多帳號 flag 鐵律的解法。
- **署名格式 `[<repo> CC]`**:沿用 CC 們已自發的形態,降低改變成本;總管用 `[InkStoneCo 總管]` 區隔下令角色。
---
## 升版
併入下一個 template 版本:1.11.0 → 1.12.0(規範新增、跨 repo 行為改變)。兩個 VERSION 同步。