refactor(spec-wiki-contents): 目錄頁 check 欄改用 ●/○,取代 [ ]/[x]
GFM 任務清單語法只在 Markdown 清單項目生效,放進表格儲存格只會被渲染成字面 文字,改用 ●(已完成/已產生)/○(未完成/未產生)避免這個問題; plan-wiki/todo-wiki/do-wiki 三個消費端同步更新描述,計畫頁/代辦頁自己的 checklist(- [ ]/- [x])不受影響、原樣保留。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -22,7 +22,7 @@ description: JSC plugins 共用「wiki 目錄頁格式與列合併規範」:
|
||||
|
||||
| 計畫 | 是否已產生代辦 | 內容 | 代辦 | 是否已完成 | 內容 |
|
||||
| --- | :-: | --- | --- | :-: | --- |
|
||||
| [<計畫頁連結文字>](<查表取得的 path>) | [ ] | <計畫摘要> | [<代辦頁連結文字>](<查表取得的 path>) | [ ] | <代辦摘要> |
|
||||
| [<計畫頁連結文字>](<查表取得的 path>) | ○ | <計畫摘要> | [<代辦頁連結文字>](<查表取得的 path>) | ○ | <代辦摘要> |
|
||||
|
||||
## <另一個英文系統名稱> <另一個中文系統名稱>
|
||||
|
||||
@@ -32,10 +32,11 @@ description: JSC plugins 共用「wiki 目錄頁格式與列合併規範」:
|
||||
- 頁面 H1 固定為 `CONTENTS`;每個系統各自一個 H2 段落,標題固定為 `<英文系統名稱> <中文系統名稱>`,與該系統其他頁面(計畫頁、代辦頁)H1 用的是同一組系統名稱。
|
||||
- 段落 H2 之後先放一段「系統描述」,說明系統目的與範圍;來源為需求彙整或計畫目標摘要,不得留空。
|
||||
- 表格欄位固定六個:`計畫`/`是否已產生代辦`/`內容`/`代辦`/`是否已完成`/`內容`,對齊列固定 `| --- | :-: | --- | --- | :-: | --- |`,不得增減欄位或改變順序。
|
||||
- **check 欄一律用 `●`(已完成/已產生)/`○`(未完成/未產生)**,不適用的欄位維持留空;**不得改用 `[ ]`/`[x]`**——GFM 任務清單語法只在 Markdown 清單項目(`- [ ] ...`)裡才會被渲染成核取方塊,放進表格儲存格會被字面呈現成 `[ ]`/`[x]` 這四個字元,不會渲染成方塊。此規則**只管表格儲存格**,計畫頁/代辦頁內容裡的 checklist(`- [ ] **編號 短標題**:...`)是合法且正常渲染的 GFM 任務清單,不受本規則影響、不得比照修改。
|
||||
- **一列代表一組「計畫+其對應代辦」的配對關係**,不是「一列一種頁面型別」。同一系統可以有多列,例如:同系統先後有多個計畫、同一計畫衍生多個代辦、或代辦先於計畫存在。
|
||||
- 只有計畫、還沒代辦:`代辦`欄與`是否已完成`欄留空(不得填 `[ ]`,因為根本不適用),`是否已產生代辦`欄填 `[ ]`。
|
||||
- 只有代辦、沒有對應計畫(例如需求直接進 `todo-wiki` 沒有經過 `plan-wiki`):`計畫`欄與`是否已產生代辦`欄留空,`代辦`欄填連結,`是否已完成`欄填 `[ ]`/`[x]`。
|
||||
- 兩邊都有:`是否已產生代辦`填 `[x]`,`是否已完成`依代辦頁完成狀態填 `[ ]`/`[x]`。
|
||||
- 只有計畫、還沒代辦:`代辦`欄與`是否已完成`欄留空(不得填 `○`,因為根本不適用),`是否已產生代辦`欄填 `○`。
|
||||
- 只有代辦、沒有對應計畫(例如需求直接進 `todo-wiki` 沒有經過 `plan-wiki`):`計畫`欄與`是否已產生代辦`欄留空,`代辦`欄填連結,`是否已完成`欄填 `○`/`●`。
|
||||
- 兩邊都有:`是否已產生代辦`填 `●`,`是否已完成`依代辦頁完成狀態填 `○`/`●`。
|
||||
- 目錄頁不存在時才依上述格式新建(先建一個系統的段落);已存在時**禁止整頁覆蓋**,只能 upsert 既有段落內的列、在既有段落表格附加新列,或(該系統尚無段落時)在頁尾附加一個新的 `## ` 段落,保留其餘系統的段落與內容。
|
||||
|
||||
## 新增列前先找可合併的既有列
|
||||
@@ -45,7 +46,7 @@ description: JSC plugins 共用「wiki 目錄頁格式與列合併規範」:
|
||||
| 情境 | 判斷 | 動作 |
|
||||
| --- | --- | --- |
|
||||
| 目錄頁裡沒有該系統的 `## ` 段落 | — | 在頁尾附加新段落(系統描述+空表格),再依下列規則新增列 |
|
||||
| 新建代辦,且使用者於開工前選定要關聯的計畫列 | 該計畫列的`代辦`欄目前是空的 | 直接把代辦欄、是否已完成欄、內容欄填進**同一列**,`是否已產生代辦`改為 `[x]`;不新增列 |
|
||||
| 新建代辦,且使用者於開工前選定要關聯的計畫列 | 該計畫列的`代辦`欄目前是空的 | 直接把代辦欄、是否已完成欄、內容欄填進**同一列**,`是否已產生代辦`改為 `●`;不新增列 |
|
||||
| 新建代辦,且使用者於開工前選定的計畫列`代辦`欄已有內容 | 該列已被佔用 | 不得覆蓋既有代辦,改在同一段落表格附加**新列**,`計畫`欄留空或重複連結同一計畫(依 `todo-wiki` 詢問使用者結果決定),並依 `spec-ask-user` 詢問使用者是否要重複關聯同一計畫 |
|
||||
| 新建代辦,未關聯任何計畫 | — | 在該系統段落表格附加新列,`計畫`欄與`是否已產生代辦`欄留空 |
|
||||
| 新建計畫 | 該系統段落表格已有某列`計畫`欄為空、且內容明顯屬於同一需求脈絡(需使用者確認,不得臆測) | 依使用者確認結果,填入該列`計畫`欄;未獲確認一律新增列 |
|
||||
@@ -68,11 +69,11 @@ description: JSC plugins 共用「wiki 目錄頁格式與列合併規範」:
|
||||
## 使用者互動:開工前挑選
|
||||
|
||||
- `todo-wiki` 開工前:先確定本次系統名稱(見 `todo-wiki`〔系統名稱決定〕),讀取目錄頁後定位到該系統的 `## ` 段落;若段落存在且段落內有「`計畫`欄有連結、`代辦`欄空白」的列,依 `/jsc-shared:spec-ask-user` 詢問使用者是否要把本次代辦合併進其中一列(選項固定含「不合併,直接新增列」與「其他」,可以不選);只要存在至少一個這種列就必須詢問,`--yes` 不得略過;一個都沒有時不詢問直接繼續。
|
||||
- `do-wiki` 開工前:讀目錄頁,掃描**所有系統段落**,列出所有`是否已完成`為 `[ ]` 的列(即`代辦`欄非空但未完成者),候選標示為「{該列所屬系統的段落標題}:{代辦內容摘要}」,依 `/jsc-shared:spec-ask-user` 以**單選**呈現;沒有任何未完成代辦列時直接結束,不讀取任何代辦頁、不修改任何檔案或 wiki。
|
||||
- `do-wiki` 開工前:讀目錄頁,掃描**所有系統段落**,列出所有`是否已完成`為 `○` 的列(即`代辦`欄非空但未完成者),候選標示為「{該列所屬系統的段落標題}:{代辦內容摘要}」,依 `/jsc-shared:spec-ask-user` 以**單選**呈現;沒有任何未完成代辦列時直接結束,不讀取任何代辦頁、不修改任何檔案或 wiki。
|
||||
- 候選數量、呈現方式(候選 ≤4 用 `AskUserQuestion`、>4 改文字編號列出)與「其他」選項,一律依 `/jsc-shared:spec-ask-user` 辦理。
|
||||
|
||||
## 回寫規則
|
||||
|
||||
- `todo-wiki` 寫入代辦頁成功後:若本次合併進某個既有列,回目錄頁把該列`代辦`/`是否已完成`/內容欄填好、`是否已產生代辦`改為 `[x]`並讀回確認;若本次是新增列,依「新增列前先找可合併的既有列」規則在對應系統段落附加後讀回確認。
|
||||
- `do-wiki` 於代辦頁全部項目皆為 `- [x]` 後,回目錄頁把該列(在其所屬系統段落內)`是否已完成`由 `[ ]` 改為 `[x]` 並讀回確認;只要還有未勾項目就不得勾選。
|
||||
- `todo-wiki` 寫入代辦頁成功後:若本次合併進某個既有列,回目錄頁把該列`代辦`/`是否已完成`/內容欄填好、`是否已產生代辦`改為 `●`並讀回確認;若本次是新增列,依「新增列前先找可合併的既有列」規則在對應系統段落附加後讀回確認。
|
||||
- `do-wiki` 於代辦頁全部項目皆為 `- [x]` 後,回目錄頁把該列(在其所屬系統段落內)`是否已完成`由 `○` 改為 `●` 並讀回確認;只要還有未勾項目就不得勾選。
|
||||
- 兩者都必須讀回確認寫入成功,失敗立刻停止,不得繼續下一步。
|
||||
|
||||
Reference in New Issue
Block a user