feat(sdlc): 四階段收尾一律回報
What:新增 tools/stage-report.sh 與 references/stage-report.md,四支階段技能各加一步收尾回報:模型能力標籤判定、工作日誌連結、所有寫入的 wiki 連結;實作階段再加工作目錄與來源、工作、目標三條分支。 Why:階段跑完該交代什麼是固定的,寫在內文靠模型自己記,少一項看不出來。沒寫工作日誌更是如此——內容只留在對話裡,換一個工作階段就沒了。 How:彙整搬到程式層。頁名換絕對網址、commit 數與推送狀態由 git 現查、來源分支在不在遠端也由腳本判定;模型閘門那一列只轉述 sdlc-gate.sh report,不自評。沒有工作日誌就警告使用者檢查,並把內容交給 jsc-log 的暫存區,下次寫日誌一併寫入。結束碼 1 是警告不是阻擋,提前停下來也要回報。 Who:跑 SDLC 四階段的人,以及接手看紀錄的人。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 階段回報 — 四個階段收尾都要交的東西
|
||||
|
||||
規劃、分析、實作、維護跑完,最後一件事一定是階段回報。彙整由 `tools/stage-report.sh` 產出,
|
||||
技能只負責把事實餵進去:寫過哪些 wiki 頁、有沒有寫工作日誌、實作階段的工作目錄與三條分支。
|
||||
|
||||
## 什麼時候回報
|
||||
|
||||
階段結束就回報,**提前停下來也算結束**:模型閘門擋下、工作包閘門擋下、沒有可選的計畫或工作包、
|
||||
來源分支在遠端找不到——這些情況一樣要回報,而且更需要。停在半路卻沒有回報,看起來就跟沒跑過一樣。
|
||||
|
||||
## 每個階段都要回報的三項
|
||||
|
||||
| 項目 | 來源 | 沒有時怎麼辦 |
|
||||
| --- | --- | --- |
|
||||
| 模型能力標籤 | `jsc-hooks/hooks/sdlc-gate.sh report`,腳本自己讀 | 回報「查不到閘門狀態」,並要求重跑 `lock {stage}` |
|
||||
| 工作日誌連結 | `--worklog` 給頁名、`--worklog-heading` 給條目標題,組成導向該條目的錨點連結 | 警告使用者檢查,並把內容暫存(見下節) |
|
||||
| 所有寫入的 wiki 連結 | 每寫一頁就記一筆,收尾時用 `--page TYPE:PAGE` 全部餵進去 | 沒寫任何頁就據實回報「本階段沒有寫入任何 wiki 頁」 |
|
||||
|
||||
`--page` 的 `TYPE` 是頁名前綴(`PLAN`、`ANALYZE`、`DELIVER`、`REPO`、`MAINTAIN`、`LOG`)。腳本用它解析
|
||||
該類型的 wiki 存取庫,再換成絕對網址,所以跨存取庫的頁面也連得到。目錄頁(`*_CONTENTS`)也算寫入,要列。
|
||||
|
||||
## 實作階段多回報四項
|
||||
|
||||
| 項目 | 選項 | 腳本自己查的部分 |
|
||||
| --- | --- | --- |
|
||||
| 工作目錄 | `--worktree PATH` | 無,原樣列出 |
|
||||
| 來源分支 | `--source-branch NAME` | 遠端有沒有這一條。遠端找不到就標「只有本機」 |
|
||||
| 工作分支 | `--work-branch NAME` | 相對來源分支的 commit 數、推送狀態(未 push、或還有幾個 commit 沒 push) |
|
||||
| 目標分支 | `--target-branch NAME`、`--pr URL` | 省略目標分支時等同來源分支;沒有 PR 連結就列為警告 |
|
||||
|
||||
## 沒寫工作日誌就暫存
|
||||
|
||||
階段跑完卻沒有工作日誌,內容只留在對話裡,換一個工作階段就沒了。所以:
|
||||
|
||||
1. 把這個階段要記的日誌內容寫成一個檔案。
|
||||
2. 收尾時一起餵進去:`--pending-file {檔案} --log-hash {LOG_{HASH} 的 HASH}`。
|
||||
3. 腳本轉呼叫 `jsc-log/tools/worklog-pending.sh add`,把內容存進 `$JSC_HOME/worklog-pending/{HASH}/`,並在回報裡印出存放路徑。
|
||||
4. 下次 `jsc-log:worklog` 寫入時,會先把暫存區的內容一併寫進日誌頁,寫成功才清掉暫存。
|
||||
|
||||
`{HASH}` 用 `jsc-gitea/tools/hash-id` 對程式碼存取庫的 `{owner}/{repo}` 算出來,和 `LOG_{HASH}` 同一個值。
|
||||
|
||||
## 結束碼
|
||||
|
||||
| 碼 | 意思 | 呼叫端要做的事 |
|
||||
| --- | --- | --- |
|
||||
| 0 | 回報完整 | 把輸出原樣貼給使用者 |
|
||||
| 1 | 有警告(缺工作日誌、或實作階段沒有 PR) | 一樣把輸出貼給使用者。**這是警告不是阻擋**,階段的工作已經做完了 |
|
||||
| 2 | 用法錯誤 | 修正參數重跑 |
|
||||
| 3 | 找不到 `gitea.sh` 或 `sdlc-gate.sh` | 修好相依關係再重跑 |
|
||||
Reference in New Issue
Block a user