jiantw83
|
b7b1d8bb01
|
docs(skills): 四支階段技能的目錄頁讀取與寫入敘述同步條列版面
What
- `skills/plan`、`skills/analyze`、`skills/implement`、`skills/maintain`:目錄頁的讀取敘述改成從 H2 區塊取值,寫入敘述從「單列 upsert」改成單一 H2 區塊 upsert,鍵補上內容頁頁名這個引數,並註明第四個引數是區塊檔。
- `skills/maintain`:讀寫的鍵改成該存取庫的 `{owner}/{repo}`,因為這個型別沒有內容頁。
- `references/behaviors.md`:四支技能的關鍵步驟、外部呼叫與可驗證跡象同步,跡象從「留下那一列」改成留下那一個 H2 區塊。
- `references/consensus.md`:查已答問題那一條補上問答目錄頁也是條列式版面、要從區塊取值而不是表格列。
- `references/stage-report.md`:目錄頁也算寫入那一段補上「改動一個區塊也算寫過那一頁」,並統一用 `CONTENTS` 這個型別餵進去。
- `README.md`:四支技能的流程敘述與 wiki 規則段同步,並補上五個目錄頁的版面規則、鍵的落點與各頁鍵欄的正確序號。
Why
- 範本已經改成條列版面,技能內文還寫著「那一列」,執行時就會照舊敘述組出表格列,跟工具的單一區塊 upsert 對不上。
- 讀取端的敘述沒跟著改,技能會拿表格的解析方式去讀一頁條列,既有紀錄一筆都認不出來。
- 呼叫少帶鍵這個引數,工具無從判斷要換掉哪一個區塊,同一筆會被當成新的附加上去。
- 行為清單是稽核與驗證的比對基準,敘述沒跟上,稽核會拿舊描述判合規。
How
- 四支技能的呼叫一律寫成 `wiki-contents.sh upsert {TYPE} {鍵欄} "{鍵}" {區塊檔} [{範本}]`,各頁的鍵欄序號照線上那一頁實際的欄位排法寫定。
- 完成條件與可驗證跡象改用區塊的說法,連結範例改成 `- {欄位名}:[{頁名}]({連結})` 的形態。
- 只改敘述與說明,不動任何腳本;轉檔與 upsert 的實作在別的存取庫。
Who
- 本存取庫四支階段技能,以及讀這幾份說明檔決定共識判定與階段回報寫法的流程。
- 稽核與驗證流程改拿新的行為清單比對。
|
2026-09-02 17:21:10 +08:00 |
|
jiantw83
|
f38d1f3087
|
feat(狀態回報): 收尾寫一筆 skill-end 事件
現行紀錄只記「被叫用」,沒有成敗也沒有結束碼。跑完整輪的技能與開場就
中止的技能,在紀錄裡長得一模一樣。
start 由技能用量 hook 順手發,不必改技能文件。end 只能由技能自己在收尾
步驟寫——hook 接在技能工具呼叫上,而實際工作發生在之後的模型輪次,它在
原理上看不到成敗。有 start 沒有配對的 end,就是那一輪中止了。
status 五選一,每支技能各自寫明什麼情況選哪一個。找不到回報腳本就安靜
跳過,回報失敗一律不改變技能自己的結論。
|
2026-09-02 16:01:18 +08:00 |
|
jiantw83
|
f4e489ceb4
|
feat(link): 連結一律寫成 [文字](絕對網址),寫入前先驗證連得到
取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與
「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上
看起來像普通文字或死連結,巡不到也修不了。
連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API,
不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把
好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁
整批判死。
|
2026-09-02 14:27:18 +08:00 |
|
jiantw83
|
9e71474bfb
|
feat(wiki): 五個目錄頁改走專用存取庫,補齊 wiki-url 退出碼分流
What:PLAN、ANALYZE、DELIVER、MAINTAIN、REPO 五個目錄頁改由 wiki-repo CONTENTS
解析並透過 wiki-contents.sh upsert 寫入,內容頁仍各走自己的型別。MAINTAIN 只有
目錄頁,整個型別都在專用存取庫。
Why:目錄頁與內容頁不再同庫,跨庫沒有 wiki 連結語法可用,一律改 wiki-url 的絕對
網址。原本四處取網址都沒有退出碼分流,5 被讀成空字串就寫出空連結,7 被讀成 4 就
把活著的頁當成沒寫成。
How:plan 與 analyze 會上階段鎖,而寫入閘門只看鎖不看路徑,所以流程要產的列檔與
暫存檔會被自己的閘門擋掉。兩支的限制段明寫這些檔一律用 heredoc 或 mktemp 產出。
wp-gate.sh 讀的是分析內容頁,維持走 ANALYZE,原地註明不得改成 CONTENTS。
Who:jsc-sdlc
|
2026-09-02 11:02:34 +08:00 |
|
jiantw83
|
4b482aefc5
|
docs(behaviors): 新增四支技能的行為清單
What:
- 在既有的 `references/` 目錄下新增 `references/behaviors.md`。
- 分成 analyze、implement、maintain、plan 四節,對上 `skills/` 下的四支技能。
- 每節一張五列表:觸發時機、關鍵步驟、外部呼叫、完成條件、可驗證跡象。
Why:
- 技能驗證需要一份共同的參考基準。
- 基準留在文件裡,驗證就不必靠人腦記憶技能該有的行為。
- 清單放在技能自己的存取庫,技能改動與清單才會落在同一個 PR。
- 同一個 PR 就不會漂移,也不用跨存取庫開兩條 PR 互卡。
How:
- 逐支技能讀 SKILL.md,抽出行為填進五列表。
- 稽核時修正三列:analyze、plan、maintain 的階段鎖狀態檔原本寫成 `$JSC_HOME/wp/`。
- 三列改成實際路徑 `$JSC_HOME/sessions/{工作階段 id}.stage`。
- `$JSC_HOME/wp/` 只留給 implement 的工作包領取檔與 PR 鎖檔。
- 用 `sh /root/plugins/meta/tools/check-behaviors.sh /root/plugins/sdlc` 驗格式,退出碼 0。
Who:
- 使用 jsc-sdlc 四支技能的開發者。
- 執行技能驗證的 jsc-meta:skill-check。
- 日後異動這四支技能的維護者,要同步更新這一頁。
|
2026-08-31 13:49:26 +08:00 |
|
jiantw83
|
de7962a8c1
|
fix(gate): 閘門說明與實際行為對齊
兩份參考文件跟實際判定互相矛盾。照著做會漏掉收尾,或是擋錯階段。
- 模型閘門非零退出時,該回合仍要跑階段回報。提前停下來也要留紀錄,不然使用者看不到停在哪裡。
- 工作包閘門只擋分析與維護:規劃只印提醒就放行,實作一律放行。實作是結清那支 PR 的唯一路徑,擋了閘門就自己鎖死。
- 順帶把指向實作技能的步驟引用改成新的順序。
|
2026-08-31 11:10:30 +08:00 |
|
jiantw83
|
19d873d19a
|
fix(analyze): 讓測試計畫符合 TDD 循環
|
2026-08-28 16:10:20 +08:00 |
|
jiantw83
|
77e7504982
|
docs(sdlc): 參考文件與 README 同步階梯、工作包隔離與日誌粒度
What:`references/branch.md` 新增「分支階梯與 base 推導」一節(只寫拿到 `jsc-git/tools/base-branch.sh --derive` 回應之後要做什麼)與「工作包隔離」一節(歸屬依據、狀態檔欄位、誰寫誰讀、查無歸屬放行、逃生門),閘門分工那一表補上 `claim`、`lock`、`owns`。`references/stage-report.md` 改寫暫存那一節,講明本節只適用於「還沒完成任何任務就停下」的階段。README 的工具表、`implement` 與 `maintain` 兩段說明、參考文件表與相依技能清單同步更新。
Why:階梯表與歸屬狀態檔的正本各有其處——階梯在 `jsc-meta` 的 `references/guidelines.md`,狀態檔格式在 `jsc-hooks`。抄第二份就會有兩份互相打架的規則,但完全不提又會讓實作階段不知道拿到 `7` 或「已建立功能主幹」時該做什麼。
How:兩節都只寫本階段要做的事,並把唯一來源用連結指出去。`branch.md` 的階梯那一節寫成一張「腳本回應 → 這個階段要做的事」對照表,`7` 明寫成「中止並問使用者,不退回 `develop`」。`stage-report.md` 補一句「暫存不等於已寫入」,因為日誌改成一個任務一筆之後,做完事情的階段本來就有日誌可連。
Who:讀 `jsc-sdlc` 參考文件與 README 的人,以及跑實作與維護兩階段的工作階段。
|
2026-08-27 11:20:30 +08:00 |
|
 jiantw83andClaude Opus 5
|
78fb70a099
|
fix(references): 修正 cpm-chart 的簡體字並同步 manifest 版本
What: 把 references/cpm-chart.md 第 14 行的「出现」改成正體「出現」,
並把三份 manifest 的版本由 0.1.7 bump 到 0.1.8。
Why: 存取庫文件一律用正體中文,簡體字會被 STE100 語言檢查擋下,也讓讀規則
的人分心。技能內容有異動就要 bump 版本,安裝端才拿得到新版。
How: 只換掉那一個字,句子其餘文意不動。接著跑 ste100-lint.sh 掃全庫的 .md、
.json 與程式碼檔,再用簡體字全表、U+FFFD、雙重編碼特徵與非 UTF-8 四項掃過每個
受版控的檔案,兩輪都零命中。最後用 sync-skill-manifest.sh 同步 plugin.json、
.claude-plugin/plugin.json、.codex-plugin/plugin.json。
Who: Jeffery
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-27 09:40:47 +08:00 |
|
jiantw83
|
31ba3f490a
|
feat(tdd): TDD 循環規則新增註解只寫原因
What:references/tdd.md 的循環規則新增第 4 項「註解只寫原因」,並寫成單一待辦的完成條件。
Why:註解界線要在紅綠循環當下就守住,不能等到審查階段才回頭清,否則追蹤編號早已散進整包 diff。
How:規則只寫一句界線加完成條件,完整清單與白名單指向 jsc-review 的 references/comment-scope.md。
Who:jsc-sdlc 的 TDD 參考文件,implement 與 maintain 兩支技能共用。
|
2026-08-26 19:00:56 +08:00 |
|
admin
|
83abe939d9
|
Merge pull request 'fix/cpm-chart-invalid-date' (#23) from fix/cpm-chart-invalid-date into develop
Reviewed-on: #23
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-26 10:12:36 +00:00 |
|
jiantw83
|
87d73034c5
|
fix(implement): 工作包 PR 閘門改為只檢查候選工作包自身相依,並修正平行工作包共用 worktree 路徑衝突
|
2026-08-26 17:59:08 +08:00 |
|
jiantw83
|
a82f06b702
|
fix(analyze): 修正 CPM 甘特圖用小數天數的 dateFormat X 導致 Gitea 渲染 Invalid date,改用 dateFormat YYYY-MM-DD 錨點日期、整數小時與 after 串接
|
2026-08-26 15:33:04 +08:00 |
|
 jiantw83andClaude Opus 5
|
4a4feaf6ef
|
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>
|
2026-08-26 09:19:43 +08:00 |
|
jiantw83
|
f299d1706a
|
docs(sdlc): 補上 wp-gate.sh 工具說明與兩層閘門分工
|
2026-08-25 18:59:37 +08:00 |
|
 jiantw83andClaude Opus 5
|
821261ad9d
|
docs(sdlc): 同步文件與參考資料
What:更新 README、AGENTS.md、templates 與 references,讓文件敘述與實際行為一致。
Why:稽核發現多處文件與程式行為分歧,違反「每個意義只有單一真實來源」。
How:以實際程式行為為準改寫敘述,重複的規則收成單一來源並以一行指引指過去。
Who:jsc-meta:skill-check 例行稽核(2026-08-25)。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-25 14:58:54 +08:00 |
|
 jiantw83andClaude Opus 5
|
3cc5bb5cd2
|
feat(PR 阻擋): PR 未合併不開下一包,檢查時一併讀留言並詢問是否修正
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 12:08:11 +08:00 |
|
 jiantw83andClaude Opus 5
|
878d34b177
|
feat(一包一 PR): 每個工作包完成即 commit、push、PR 回來源分支
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:58:11 +08:00 |
|
 jiantw83andClaude Opus 5
|
543fd8c695
|
feat(分支基準): 參考與來源分支一律取遠端 origin,動作前先 fetch
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:10:55 +08:00 |
|
 jiantw83andClaude Opus 5
|
87af245d54
|
feat(worktree): 實作階段動程式碼前先從來源分支建立 worktree
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:04:33 +08:00 |
|
 jiantw83andClaude Opus 5
|
b5f28e57f9
|
refactor(分支規則): 分支確認改用 sdlc 自帶的 references/branch.md,移除對 jsc-shared 的相依
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 17:37:12 +08:00 |
|
 jiantw83andClaude Opus 5
|
62fd2a6022
|
feat(交付與共識): 交付工作包獨立為 WP-01、新增交付內容型別與共識判定規則
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-24 17:24:31 +08:00 |
|
 jiantw83andClaude Fable 5
|
167f62a35c
|
feat(sdlc): 匯入 jsc-sdlc 技能組
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-21 13:08:43 +08:00 |
|