Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6244baef25 | |||
| cf2b8e948c |
@@ -1,12 +1,14 @@
|
|||||||
# SDD × Gitea 治理規範
|
# SDD × Gitea 治理規範
|
||||||
|
|
||||||
```
|
```
|
||||||
version: 0.6.0
|
version: 0.7.0
|
||||||
status: 現行(本檔的修改依 §9 走 issue)
|
status: 現行(本檔的修改依 §9 走 issue)
|
||||||
scope: 所有安裝 ISEP 的環境(本機 CC 與雲端 CC)
|
scope: 所有安裝 ISEP 的環境(本機 CC 與雲端 CC)
|
||||||
distribution: 隨 ISEP 發佈,ISEP repo 是唯一編輯點(§11)
|
distribution: 隨 ISEP 發佈,ISEP repo 是唯一編輯點(§11)
|
||||||
lineage: v0.5.0 draft by claude.ai(存檔 _draft-claude-ai-v0.5.0.md)
|
lineage: v0.5.0 draft by claude.ai(存檔 _draft-claude-ai-v0.5.0.md)
|
||||||
→ v0.6.0 由總管對照現場實況修訂,逐條分歧見 DIVERGENCE-v0.5.0-to-v0.6.0.md
|
→ v0.6.0 由總管對照現場實況修訂,逐條分歧見 DIVERGENCE-v0.5.0-to-v0.6.0.md
|
||||||
|
→ v0.7.0 併入全局遍歷(14 repo/156 open/45 張管理票分六群,§13)與新舊票 mapping(§14);
|
||||||
|
依 leo 指正:規劃不另立文件,修正本檔就是新版
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -22,6 +24,10 @@ lineage: v0.5.0 draft by claude.ai(存檔 _draft-claude-ai-v0.5.0.md)
|
|||||||
🔴 **不存在「薄殼只裝一部分」這種東西**——那正是 `InkStoneCo#57` 的成因。
|
🔴 **不存在「薄殼只裝一部分」這種東西**——那正是 `InkStoneCo#57` 的成因。
|
||||||
6. **審核不是任務,是路徑。** 審核 = review PR 並 merge,是交付的唯一必經動作(§3.0)。
|
6. **審核不是任務,是路徑。** 審核 = review PR 並 merge,是交付的唯一必經動作(§3.0)。
|
||||||
7. **人是特殊 executor。** 人的兩種介入——審核者(`Human`)與執行者(`human/exec`)——分別建模,走同一狀態機(§6)。
|
7. **人是特殊 executor。** 人的兩種介入——審核者(`Human`)與執行者(`human/exec`)——分別建模,走同一狀態機(§6)。
|
||||||
|
8. **票就是問題;開發的目的是解決票上的問題。**(leo 2026-08-20)
|
||||||
|
衡量進度的是**舊問題關掉幾張**,不是出了幾個版本、開了幾張新票。
|
||||||
|
來由(同日實犯):總管開 17 張新票、出 2 個版本,事後 mapping 只有 1 張真的推進了舊問題——
|
||||||
|
其餘不是重複,就是「替自己想做的事編的 user story」。§14 是那次的完整對帳。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -412,6 +418,170 @@ Telegram → 純投影。**Wiki 壞不影響 Gitea,Gitea 壞不影響 SDD,
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 13. 現況遍歷與工作分群(2026-08-20 全局實撈)
|
||||||
|
|
||||||
|
> 遍歷範圍:`inkstone` org **14 個 repo、156 張 open 票**。判為「管理」的 **45 張**收在本節。
|
||||||
|
> 判準:管**閘/票/派工/版本紀律/環境**的;產品功能與產品 bug 不在此列(§13.8 列出被排除的,供反對)。
|
||||||
|
>
|
||||||
|
> 🔴 **排序不是按票號,是按「什麼擋住什麼」**:上面的群沒解,下面的群做了也看不到效果。
|
||||||
|
> 本節是唯一把六群串起來的地方——Gitea 沒有跨 repo milestone(已查證),
|
||||||
|
> 各 repo 的同名里程碑都指回這裡。
|
||||||
|
|
||||||
|
### 13.0 六群一頁看完
|
||||||
|
|
||||||
|
```
|
||||||
|
群 0 閘正在害人 每天都在消耗,而且會讓其他群的成果被誤判
|
||||||
|
↓ 不修這群,任何新機制都會被同一批誤攔咬到
|
||||||
|
群 1 沒有資料說話 修了也不知道有沒有變好;leo 開場看不到全局
|
||||||
|
↓ 這群是「有沒有進步」的前提
|
||||||
|
群 2 同一件事有兩份 兩份必然漂移,漂了之後看起來還是綠的
|
||||||
|
↓ 環境/repo/文件/版本號,四種都在發生
|
||||||
|
群 3 人閘卡住 leo 他的啟動力是最稀缺的,卡在他身上整條線就停
|
||||||
|
↓
|
||||||
|
群 4 派工與交付紀律 有了前面幾群,這群才驗證得了
|
||||||
|
↓
|
||||||
|
群 5 票與文件歸位 收尾
|
||||||
|
```
|
||||||
|
|
||||||
|
**憲法另計**:`inkstone/InkStoneCo#40` 不屬於任何一群——它規定「規則長什麼樣、怎麼增減」,管的是六群**怎麼做**。
|
||||||
|
|
||||||
|
### 13.1 群 0 ─ 閘正在害人(里程碑:`讓閘擋對東西`)
|
||||||
|
|
||||||
|
**共同形狀**:閘比對的是**指令長什麼樣**,不是**實際會發生什麼**
|
||||||
|
⇒ 同時漏擋(真動作藏在子行程/腳本裡)與誤攔(只是提到就被擋)。
|
||||||
|
leo 08-17 診斷見公理 3;08-17 實測:文字層的閘 **8 次誤攔、0 次正確攔截**,
|
||||||
|
且方向穩定——**紅線寫得越細,命中關鍵字的機率越高 ⇒ 這些閘在懲罰謹慎**。
|
||||||
|
|
||||||
|
| 條目 | 來源票 | 現況(08-20) |
|
||||||
|
|---|---|---|
|
||||||
|
| 同一道閘同時漏擋真動作、誤擋只是提到它的句子 | `InkStoneCo#56` | 未動 |
|
||||||
|
| 紅線裡複述關鍵字被當成下令 | `InkStoneCo#23` | 未動|08-20 又撞 3 次,累計第 11 次 |
|
||||||
|
| 閘自己壞了:路徑解析失敗仍照擋,印 `/nonexistent` | `InkStoneCo#22` | 未動 |
|
||||||
|
| 守 prod 的閘,包一層腳本就繞過去 | `InkStoneCo#36` | 未動 |
|
||||||
|
| 空手停下:改判「這回合有沒有動作」不判文字 | `InkStoneCo#55` | 部分(`empty-handed-stop-guard.sh` 在跑) |
|
||||||
|
| gate workflow 六閘初稿待審 | `InkStoneCo#1` | triage |
|
||||||
|
|
||||||
|
**已實測、待套用的兩條判準**:
|
||||||
|
① 關鍵字要在「指令位置」才算執行(`#23` 在 `prod-write-guard.sh` 驗證過;08-20 在 `release-tag-guard.sh` 重現 8/8)
|
||||||
|
② 🔴 **heredoc 的 body 是資料不是指令**——08-20 三次誤攔全是這個形狀,**目前沒有任何一支閘實作**。
|
||||||
|
|
||||||
|
### 13.2 群 1 ─ 沒有資料說話(里程碑:`讓規則的效果看得見`)
|
||||||
|
|
||||||
|
沒有這群,「擋對 100 次」與「擋錯 100 次」在資料上長得一模一樣;
|
||||||
|
而 leo 開場看不到全局,每天要親口提醒「這個有票」「wiki 記過」——正是要拔掉的瓶頸。
|
||||||
|
|
||||||
|
| 條目 | 來源票 | 現況 |
|
||||||
|
|---|---|---|
|
||||||
|
| 閘的動作要留痕(擋下/放行/逃生口都查得到) | `InkStoneCo#48` | 未動(43 支只有 2 支會記錄);**是本群其餘條目的前提** |
|
||||||
|
| 票總圖:session 開場注入一份 md | `InkStoneCo#17` | 進行中 |
|
||||||
|
| 同一份圖涵蓋「哪個 repo 的 wiki 記過」 | `InkStoneCo#20`、`Arcrun#86` | 進行中(`PANORAMA.md` 已產出,hook patch 未套) |
|
||||||
|
| AI 開場看不到庫裡有什麼 | `Arcrun#142`、`Arcrun#81` | 未動 |
|
||||||
|
| 票 Kanban 視覺化 | `InkStoneCo#18` | pending |
|
||||||
|
|
||||||
|
### 13.3 群 2 ─ 同一件事有兩份(里程碑:`同一件事只留一份`)
|
||||||
|
|
||||||
|
兩份必然漂移,而漂了之後**看起來還是綠的**——比壞掉更危險。
|
||||||
|
|
||||||
|
| 條目 | 來源票 | 現況 |
|
||||||
|
|---|---|---|
|
||||||
|
| 【環境】雲端 guard 一支都沒生效 | `InkStoneCo#14` | 機制已交;**等 leo 填 Cloud environment 兩欄** |
|
||||||
|
| 【環境】薄殼的閘安靜落後真身 | `InkStoneCo#57` | 成因已消除(同一 plugin);舊 `.claude/` 未拆 |
|
||||||
|
| 【環境】D20 保險入 template | `system-dev-template#2` | 未動 |
|
||||||
|
| 【環境】安裝 URL 指死帳號 GitHub → 改指 Gitea | `system-dev-template#3` | 未動 |
|
||||||
|
| 【repo】同一專案兩份 repo、票號撞號 | `InkStoneCo#37` | **等 leo 裁以哪份為準**(建議 `inkstone/*`) |
|
||||||
|
| 【文件】「D29」同號兩決策且無本文 | `InkStoneCo#11` | backlog |
|
||||||
|
| 【文件】changelog 兩份 | `arcrun-rag#116` | 進行中 |
|
||||||
|
| 【文件】錯誤分類兩份會漂 | `arcrun-rag#123` | triage |
|
||||||
|
| 【文件】更新說明沒有一頁看得完 | `arcrun-rag#122` | triage |
|
||||||
|
| 【版本】內外兩條號+出貨前建版本發佈 | `arcrun-rag#88` | 進行中 |
|
||||||
|
| 【版本】每人的 `acr` 跟 main 沒有保證關係 | `Arcrun#109` | 未動 |
|
||||||
|
|
||||||
|
### 13.4 群 3 ─ 人閘卡住 leo(里程碑:`不要卡在 leo 身上`)
|
||||||
|
|
||||||
|
北極星 §1:任何讓 leo 更忙的設計都是錯的。
|
||||||
|
|
||||||
|
| 條目 | 來源票 | 現況 |
|
||||||
|
|---|---|---|
|
||||||
|
| 不在電腦前就沒辦法同意(通用遠端同意,首例接 arm) | `InkStoneCo#15` | 未動 |
|
||||||
|
| ARM 碼有時效反而綁住 leo → 用掉才失效+Telegram | `InkStoneCo#38` | 未動 |
|
||||||
|
| Arm 頻道(手機回一句話=解閘) | `InkStoneCo#34` | 常駐頻道,不關 |
|
||||||
|
| 票上的同意不能當人閘證據 | `InkStoneCo#31` | 已標 duplicate |
|
||||||
|
| 催辦要自己發生 | `InkStoneCo#52` | triage |
|
||||||
|
|
||||||
|
### 13.5 群 4 ─ 派工與交付紀律(里程碑:`派工與交付紀律`)
|
||||||
|
|
||||||
|
| 條目 | 來源票 | 現況 |
|
||||||
|
|---|---|---|
|
||||||
|
| 派工全靠人記得(拿任務/改狀態/回報要機械必然) | `InkStoneCo#12` | 未動 |
|
||||||
|
| 共用工作區被 subagent 切走分支 | `InkStoneCo#28` | 未動|08-20 用 worktree 人工避開一次 |
|
||||||
|
| 出貨完了版控裡沒有這次出的東西 | `arcrun-rag#47` | 未動 |
|
||||||
|
| 修好的沒進出貨執行檔且沒有閘會講 | `Arcrun#93` | 未動 |
|
||||||
|
| main 上的測試要全綠 | `Arcrun#143`、`Arcrun#131` | 未動 |
|
||||||
|
| daemon 沒有 stage 通道 | `arcrun-rag#124` | 未動 |
|
||||||
|
| 出貨機制模組化 | `system-dev-template#7` | backlog |
|
||||||
|
|
||||||
|
### 13.6 群 5 ─ 票與文件歸位(里程碑:`票與文件歸位`)
|
||||||
|
|
||||||
|
| 條目 | 來源票 | 現況 |
|
||||||
|
|---|---|---|
|
||||||
|
| Gitea 管理機制:標籤+project | `InkStoneCo#9` | 標籤半已完成(labels.yaml+14 repo 對齊);**project 半未動** |
|
||||||
|
| 378 條沒人維護的 checkbox 分診 | `InkStoneCo#49` | 未動 |
|
||||||
|
| issue 落地留底 | `system-dev-template#1` | 未動 |
|
||||||
|
| md → Gitea Project 單向投影 | `system-dev-template#4` | 未動 |
|
||||||
|
| 內部管理太混亂(總綱) | `InkStoneCo#10` | 總綱票,不關 |
|
||||||
|
| JDD 導入規格(方法論母題) | `InkStoneCo#8` | backlog;建議轉 hub 或作廢,**待 leo 裁** |
|
||||||
|
| 閉環機(哲學母題) | `InkStoneCo#5` | backlog;同上 |
|
||||||
|
|
||||||
|
### 13.7 憲法 `InkStoneCo#40` 的七項對帳(08-20)
|
||||||
|
|
||||||
|
| 要求 | 現況 |
|
||||||
|
|---|---|
|
||||||
|
| 三層架構(skill/hookify 規則/最小手寫 hook) | ❌ 未開始;`hookify` 已查證存在可用(官方 marketplace) |
|
||||||
|
| 盤點表,leo 看過分類才准遷移 | ✅ 已交(`docs/hooks-inventory.md`)**等 leo 看** |
|
||||||
|
| 每支三行中文檔頭 | ❌ 43 支全不合格(已量測:0 支三行齊全) |
|
||||||
|
| 新規則一律先 warn | ❌ 總管已違反(08-20 新增兩支直接 block);warn 可行性已查證,見 §13.9 |
|
||||||
|
| 關閉 CC 內建 git 指示 | ❌ 未動 |
|
||||||
|
| README 稽核總表 | ❌ 未動 |
|
||||||
|
| 手寫 hook 只減不增 | ❌ 總管已違反(41 → 43) |
|
||||||
|
|
||||||
|
### 13.8 不在本節的(判為非管理,列出供反對)
|
||||||
|
|
||||||
|
`arcrun-rag` 登入/額度/安裝/知識庫類約 40 張;`Arcrun` App 系統/KBDB 資料層/搜尋類約 35 張;
|
||||||
|
`mira` 全部 6 張;`InkStoneCo` `#2 #3 #4 #6 #7 #19 #42 #43 #44 #50 #51 #53`;
|
||||||
|
`content-pipeline` 2 張;`kbdb-graph-plugin` 1 張。
|
||||||
|
`InkStoneCo#41` 是交接快照(歷史);`#25` 是 ops 排程。
|
||||||
|
|
||||||
|
### 13.9 warn 的可行性(查證結果,補 §8.3/§13.7 那一格)
|
||||||
|
|
||||||
|
- hookify 的 `warn` 走 `systemMessage` ⇒ **只給人看,不進 AI** ⇒ 對 AI 行為無效
|
||||||
|
- `hookSpecificOutput.additionalContext` **會進 AI**(08-20 本 session 實收多則)
|
||||||
|
- ⇒ 手寫閘做得出「AI 真的看得到的 warn」;hookify 的 warn 定位是給 leo 的提醒
|
||||||
|
- ⇒ `#40` §3 照舊有效;已 block 的兩支新閘要補 warn 期或說明理由
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 14. Mapping:新票有沒有滿足舊票(2026-08-20 對帳)
|
||||||
|
|
||||||
|
> leo:「mapping 新票是否滿足舊票要求,滿足則舊票指向新票⋯⋯不滿足則新增票」。
|
||||||
|
> 對帳結果:**不需要新增任何票**——缺口都有既有票承接。
|
||||||
|
|
||||||
|
總管 08-20 開的 17 張新票逐張對舊票:
|
||||||
|
|
||||||
|
| 新票 | 對應舊票 | 滿足? | 處置 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `ISEP#4` 標籤一致 | `InkStoneCo#9` | **半**(標籤 ✅/project ❌) | 已關;結論貼回 `#9`,`#9` 續開 |
|
||||||
|
| `ISEP#2` 規範進 docs | `InkStoneCo#40` | 否 | 已關 duplicate 指回 |
|
||||||
|
| `ISEP#18` 本機 dogfooding | `InkStoneCo#57` | 否(裝上了,舊的沒拆) | 已關 duplicate 指回 |
|
||||||
|
| `ISEP#5`/`#21` 雲端 | `InkStoneCo#14` | 否(機制在,雲端仍沒閘) | 已關 duplicate 指回 |
|
||||||
|
| `ISEP#19` 舊閘退場 | `InkStoneCo#57` | 否 | 已關 duplicate 指回 |
|
||||||
|
| `ISEP#11`–`#17` 封路七張 | `InkStoneCo#40` | 否(把 §8 抄成票) | 已關 duplicate 指回 |
|
||||||
|
| `ISEP#24` 降 scope 留痕 | `InkStoneCo#10` | 否 | 已關 duplicate 指回 |
|
||||||
|
| `ISEP#3` wiki/`ISEP#6` release | —— | **對不到任何舊票** | 是總管編的;已關 |
|
||||||
|
|
||||||
|
🔴 **17 張裡只有 1 張真的推進了舊問題,且只推進一半。** 這就是公理 8 的來由。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 附:Label 全集(快照;唯一真相為 `labels.yaml`)
|
## 附:Label 全集(快照;唯一真相為 `labels.yaml`)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user