admin
|
fc4e4a00e2
|
Merge pull request 'feat(wiki): 五個目錄頁改走專用存取庫,補齊 wiki-url 退出碼分流' (#56) from feat/wiki-contents-repo/main into develop
Reviewed-on: #56
|
2026-09-02 03:28:09 +00: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 |
|
admin
|
d7b3684bb4
|
Merge pull request '放行 jsc-assist 的 marketplace 條目到預設分支' (#54) from chore/marketplace-assist-registry/main into develop
Reviewed-on: #54
|
2026-09-01 04:55:40 +00:00 |
|
admin
|
fa92fc010c
|
Merge pull request 'chore/marketplace-assist-registry/sync-copies' (#53) from chore/marketplace-assist-registry/sync-copies into chore/marketplace-assist-registry/main
Reviewed-on: #53
|
2026-09-01 04:53:56 +00:00 |
|
jiantw83
|
41982760d4
|
chore(marketplace): 把 jsc-assist 登錄進統一 marketplace
What:
- 兩份 marketplace 檔各加一個 jsc-assist 條目,來源網址指向 assist 存放庫。
Why:
- 準則要求每個 domain 存放庫都帶同一份 marketplace 檔,任何一個存放庫都能當註冊入口。副本之間只要有一份沒跟上,稽核就會報出不一致。
- 正本少了這個條目,各 CLI 的安裝指令就找不到 jsc-assist,這個 domain 等於發佈不出去。
How:
- 條目由 meta 的 sync-marketplace.sh 產生,同時寫進正本與每個 domain 存放庫的副本,寫完逐檔比對位元組。這一支存放庫的兩份副本就是那一輪的產物。
- 條目依名稱排序,縮排與非 ASCII 描述的處理都交給同一支腳本,不手改 JSON。
- 這一批是從最新的預設分支重新產生的。前一輪的分支基底早於監控頁型別那批改動,直接合併會把那些改動回退掉,所以整批重做而不是解衝突。
Who:
助理 domain 落地的註冊步驟在這個存放庫的同步。
|
2026-09-01 12:50:04 +08:00 |
|
jiantw83
|
d4b1878967
|
Merge pull request '收攏 maintain 技能的 frontmatter 語法修正' (#50) from feat/cli-hook-rewire/main into develop
|
2026-09-01 00:58:44 +00:00 |
|
jiantw83
|
591263a2af
|
Merge pull request '修正 maintain 技能 SKILL.md frontmatter 的 YAML 純量語法' (#49) from feat/cli-hook-rewire/quote-description into feat/cli-hook-rewire/main
|
2026-09-01 00:56:13 +00:00 |
|
jiantw83
|
c7d9777d04
|
fix(frontmatter): 修正 maintain 技能 SKILL.md frontmatter 的 YAML 純量語法錯誤
What:
- 修正 skills/maintain/SKILL.md frontmatter 裡 description 欄位的 YAML 語法錯誤。
- 整串 description 加上單引號,內部撇號改寫成兩個單引號,內容文字一個字都沒變。
- 同步更新 plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三個 manifest 版本號,從 0.2.7 進到 0.2.8。
Why:
- description 內含「冒號加空白」,屬於未加引號的 YAML plain scalar,違反 YAML 語法規定。
- Antigravity 解析 frontmatter 時當場中斷,整支技能被靜默丟棄,沒有任何錯誤訊息;磁碟上 34 支技能,Antigravity 只認得 28 支。
- 準則要求 description 用英文撰寫,不能把「: 」改成全形冒號迴避語法問題,只能加引號修正。
How:
- 整串 description 值加上單引號,內部撇號寫成兩個單引號跳脫,其餘字元不動。
- 用 git show HEAD: 取出改前的原始值,把改後的單引號純量還原後做字串相等比對,確認逐字相同、字元數一致。
- 執行 ste100-lint.sh、check-behaviors.sh、lint-frontmatter.sh 三支檢查腳本,退出碼皆為 0;git diff --numstat 顯示只動了 frontmatter 那一行。
Who:
- 本次修到 sdlc 技能組的 maintain 技能,屬 SDLC 維運階段、定期維護已交付專案的功能。
|
2026-08-31 19:04:17 +08:00 |
|
jiantw83
|
e0e857b84a
|
Merge pull request '收攏 sdlc 四支技能的行為清單,功能主幹併回 develop' (#47) from feat/skill-behaviors-and-version-block/main into develop
|
2026-08-31 08:10:41 +00:00 |
|
jiantw83
|
58a23769f0
|
Merge pull request '列出 analyze、implement、maintain、plan 四支技能的行為清單' (#46) from feat/skill-behaviors-and-version-block/behavior-list into feat/skill-behaviors-and-version-block/main
|
2026-08-31 08:09:28 +00:00 |
|
jiantw83
|
7127d7d932
|
chore(version): 三份 manifest 同步升版到 0.2.7
What:
- `.claude-plugin/plugin.json` 版本從 0.2.6 改成 0.2.7。
- `.codex-plugin/plugin.json` 版本從 0.2.6 改成 0.2.7。
- `plugin.json` 版本從 0.2.6 改成 0.2.7。
Why:
- 本次新增行為清單,屬於外部可見的異動,要升一版。
- 三份 manifest 服務不同的 CLI,版本必須一致。
- 版本一致,版本守衛才判得出這台機器該不該更新。
How:
- 只動三份檔案的 `version` 欄位,其他欄位一個位元組都沒改。
- 版號依既有規則進位一個修訂號。
Who:
- 安裝或更新 jsc-sdlc 外掛的使用者。
- 比對外掛版本的 jsc-hooks 版本守衛與 jsc-cli:deploy。
|
2026-08-31 13:49:26 +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 |
|
admin
|
3713fde61e
|
Merge pull request 'fix/skill-check-compliance-and-flow' (#44) from fix/skill-check-compliance-and-flow into develop
Reviewed-on: #44
|
2026-08-31 03:33:43 +00:00 |
|
jiantw83
|
dfe4ed03ca
|
chore(deps): 補上維護階段實際用到的相依外掛
維護階段的候選方法直接呼叫 jsc-pkg 更新套件,相依清單卻沒有列它。裝了本外掛不一定裝得到,跑到那一步才失敗。
- 三份外掛描述檔都補上 jsc-pkg。
- 提高 jsc-hooks 的版本下限。本次流程倚賴的寫入閘門與留言掃描要新版才有。
- 同步調高本外掛版本。
|
2026-08-31 11:10:30 +08:00 |
|
jiantw83
|
0bb00d2fb9
|
docs(sdlc): 說明同步實際流程
說明跟腳本、技能的實際行為對不上,讀的人會照舊做法走。
- 工作包閘門腳本的檔頭補上上鎖的工作包參數。不帶就沒有歸屬,歸屬比對對誰都放行。
- 腳本用法數量改成正確的五個。
- 四段技能摘要改寫成現在的流程:閘門與停止條件先跑、互不相依的動作併發、寫入閘門只有 claude 擋得住、認可前的留言掃描是其餘四支 CLI 唯一來得及的一道。
|
2026-08-31 11:10:30 +08:00 |
|
jiantw83
|
015ceb66d2
|
perf(sdlc): 停止條件與閘門移到最前面
過去先問來源分支、先產生工作證、先建 worktree,等跑到閘門才發現沒有可挑的項目。前面的決策樹、wiki 寫入、抓取遠端與改名全部白做。
- 實作先讀分析頁、先結清已開 PR 的留言,再逐一過相依閘門,只有通過的候選才進選項。來源分支與工作證都移到領到工作包之後。
- 分析先併行讀計畫與分析目錄,沒有可分析的計畫就直接停。分支隨計畫而變,所以等目標定了才問。
- 互不相依的呼叫改成併發:已開 PR 的狀態批次預取、每個候選的相依查詢同時發、多個存取庫的 worktree 一起建、兩道收尾稽核並列跑。
- 領取登錄不成功就不得開工。沒有登錄,存取庫就沒有歸屬紀錄,之後每一支 PR 都會被當成無人認領而放行。上鎖失敗同樣要停,否則下一個工作階段會在 PR 還沒合併時就被放行。
- 來源分支改成單鍵確認。放棄的是每輪都要使用者明講「來源分支同時是 PR 目標」這道確認;分析頁沒記錄、遠端找不到分支這兩種例外仍走完整決策樹。
- 把仍寫成中文的驗收計畫步驟改回英文,與其他步驟一致。
|
2026-08-31 11:10:30 +08:00 |
|
jiantw83
|
39a7e17b85
|
feat(contents): 目錄頁改為先讀回再附加
目錄頁的每一列都屬於別人的計畫、工作包或存取庫。過去照範本整頁覆寫,別人的列會直接消失,而且寫入不做合併,也沒有備份。
- 五份目錄範本都寫明寫入語意:先讀回整頁,已有的列就更新,沒有才附加。
- 規劃與維護技能加上讀取結束碼分支表。只有「頁面真的不存在」才准照範本建頁;金鑰失效或 API 失敗一律停下來回報,不得當成沒有頁面。
- wiki 讀或寫失敗就停止該階段,並指出是哪一頁、哪一個動作失敗,避免把沒存成功的頁面報成已存。
- 補上寫入閘門只有 claude 擋得住的事實,其餘四支 CLI 只能靠內文約束。
- 記下工作包閘門對規劃階段降為提醒後放棄的在製品上限。
- 維護階段先整批對齊各專案再逐一交給 sub agent,專案之間互不相依。
|
2026-08-31 11:10:30 +08:00 |
|
jiantw83
|
de7962a8c1
|
fix(gate): 閘門說明與實際行為對齊
兩份參考文件跟實際判定互相矛盾。照著做會漏掉收尾,或是擋錯階段。
- 模型閘門非零退出時,該回合仍要跑階段回報。提前停下來也要留紀錄,不然使用者看不到停在哪裡。
- 工作包閘門只擋分析與維護:規劃只印提醒就放行,實作一律放行。實作是結清那支 PR 的唯一路徑,擋了閘門就自己鎖死。
- 順帶把指向實作技能的步驟引用改成新的順序。
|
2026-08-31 11:10:30 +08:00 |
|
admin
|
0d8fa4c7e2
|
Merge pull request 'feat(analyze): 依使用者故事產生 TDD 驗收計畫' (#42) from feat/analysis/tdd-test-plan into develop
Reviewed-on: #42
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-28 08:14:35 +00:00 |
|
jiantw83
|
19d873d19a
|
fix(analyze): 讓測試計畫符合 TDD 循環
|
2026-08-28 16:10:20 +08:00 |
|
jiantw83
|
7804247dd9
|
feat(analyze): 依使用者故事產生驗收計畫
|
2026-08-28 16:07:45 +08:00 |
|
admin
|
bd06a73269
|
Merge pull request 'feat(analyze): 明確產生 TDD 測試計畫' (#41) from feat/analysis/tdd-test-plan into develop
Reviewed-on: #41
|
2026-08-28 08:07:22 +00:00 |
|
jiantw83
|
309fe905a9
|
feat(analyze): 明確產生 TDD 測試計畫
|
2026-08-28 16:03:00 +08:00 |
|
admin
|
65b080a697
|
Merge pull request 'feat/plugin-dependencies/main' (#39) from feat/plugin-dependencies/main into develop
Reviewed-on: #39
|
2026-08-28 04:05:19 +00:00 |
|
admin
|
4341cb0780
|
Merge pull request 'feat/plugin-dependencies/declare-requires' (#38) from feat/plugin-dependencies/declare-requires into feat/plugin-dependencies/main
Reviewed-on: #38
|
2026-08-28 04:03:21 +00:00 |
|
jiantw83
|
b45958ed25
|
feat(manifest): 宣告 sdlc 技能相依版本
|
2026-08-28 11:59:16 +08:00 |
|
admin
|
9b64282f72
|
Merge pull request 'feat/change-requests/main' (#36) from feat/change-requests/main into develop
Reviewed-on: #36
|
2026-08-28 01:51:09 +00:00 |
|
admin
|
2803eb1326
|
Merge pull request 'feat/change-requests/sdlc-pr-flow-and-wp-gate' (#35) from feat/change-requests/sdlc-pr-flow-and-wp-gate into feat/change-requests/main
Reviewed-on: #35
|
2026-08-28 01:46:51 +00:00 |
|
jiantw83
|
8381f334a1
|
fix(implement): 明確指定分析頁檢查工作包相依
|
2026-08-28 09:30:08 +08:00 |
|
admin
|
7d8a8d527d
|
Merge pull request 'feat(sdlc): implement 收尾改成程式碼審查與 API 文件稽核兩關並列' (#33) from feat/api-doc-audit/main into develop
Reviewed-on: #33
|
2026-08-27 08:54:32 +00:00 |
|
admin
|
ac3c4e3aa2
|
Merge pull request 'feat(sdlc): implement 收尾新增 API 文件稽核,與程式碼審查並列' (#32) from feat/api-doc-audit/implement-api-doc-gate into feat/api-doc-audit/main
Reviewed-on: #32
|
2026-08-27 07:45:22 +00:00 |
|
jiantw83
|
39c087b31f
|
chore(manifest): 三份 manifest 同步升版至 0.2.0
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份
manifest 的 version 由 0.1.9 改為 0.2.0。
Why:implement 的收尾多了一關 API 文件稽核,是使用者看得到的流程異動,次版號
要跟著進。版本沒跟著升,各 CLI 端的外掛版本護欄就分不出新舊,已安裝的使用者
也收不到更新。
How:三份 manifest 只改 version 欄位,其餘欄位維持原樣,三處版本號保持一致。
Who:jsc-sdlc 外掛的安裝與更新流程。
|
2026-08-27 15:41:38 +08:00 |
|
jiantw83
|
981cda6adf
|
docs(sdlc): README 同步兩關收尾稽核與 jsc-review 的分工
What:README.md 的 implement 摘要,把原本一句「程式碼審查」換成兩關並列的收尾
稽核,寫明偵測、呼叫、跳過三條路徑與各自的退出碼;相關 domain 一節的 jsc-review
說明同步改成兩關,並註明專案支不支援 Swagger 由 swagger-detect.sh 判定、稽核
項目只寫在該技能。
Why:README 是使用者查一支技能做什麼的入口。技能正文改了流程,README 還停在
只有程式碼審查那版,讀的人會以為 API 文件稽核不存在,或以為那是另一支技能自己
的事。
How:只改 implement 摘要那一段的收尾環節,以及相關 domain 的那一行,其餘流程
敘述維持原樣。稽核項目在這裡一樣不重複列,指向 jsc-review:api-doc,避免同一份
判準散在三個檔案裡。
Who:jsc-sdlc 的存取庫說明文件。
|
2026-08-27 15:41:38 +08:00 |
|
jiantw83
|
9b48d16422
|
feat(implement): 收尾改成程式碼審查與 API 文件稽核兩關並列
What:skills/implement/SKILL.md 第 10 步改寫。原本只呼叫 code-review,現在拆成
並列的兩關:10.1 程式碼審查維持原判準,10.2 新增 API 文件稽核——先跑
jsc-review/tools/swagger-detect.sh,退出碼 0 就呼叫 jsc-review:api-doc,1 就
明確跳過並回報,2 就修好參數或路徑重跑。技能的 description 同步改寫。
Why:支援 Swagger 的專案,控制器文件沒補全就等於工作包沒做完。兩關並列而不是
一關套一關,是因為程式碼審查過了不代表 API 文件補齊了,反過來也一樣,任何一關
沒過工作包都不算完成。跳過一定要講出來:沒回報的跳過跟忘記做分不出來。退出碼
2 是偵測不出結果,既不算通過也不算跳過,硬當跳過會讓真的支援 Swagger 的專案
漏掉稽核。
How:改寫刻意只動第 10 步內部,用 10.1、10.2 子項編號,1 到 14 的頂層編號一個
都不動——references/deliver-formats.md 指的「步驟 7」、references/branch.md 指的
「步驟 4 與步驟 11」都還指得到原來的位置。稽核項目不抄一份過來,只寫「看
jsc-review:api-doc」,判準改動時不必兩邊同步。兩關的失敗都是修,不是放行:每一
輪修正都以 sub agent 在同一個 worktree 內進行,修完再稽核一次。
Who:jsc-sdlc 的 implement 技能,工作包的收尾稽核。
|
2026-08-27 15:41:38 +08:00 |
|
jiantw83
|
30c66dd1fd
|
Merge pull request 'feat(sdlc): 工作包隔離、留言先取共識、盯 PR 到合併與每任務一筆日誌' (#30) from feat/sdlc-flow-rules/main into develop
|
2026-08-27 03:39:41 +00:00 |
|
admin
|
ce8f2eb9af
|
Merge pull request 'feat(sdlc): 工作包隔離、留言取得共識後再修、盯 PR 到合併與每任務一筆日誌' (#29) from feat/sdlc-flow-rules/implement-worklog-and-pr-watch into feat/sdlc-flow-rules/main
Reviewed-on: #29
|
2026-08-27 03:26:33 +00:00 |
|
jiantw83
|
fd433d5152
|
chore(manifest): 三份 manifest 版本升到 0.1.9
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 由 0.1.8 改為 0.1.9。
Why:本次為 `wp-gate.sh` 新增兩個子命令,並改了 `implement` 與 `maintain` 兩支技能的步驟,屬於行為變更,版本要跟著往上走,各 CLI 才知道要更新。
How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。
Who:`jsc-sdlc` 外掛的套件描述檔。
|
2026-08-27 11:20:30 +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 |
|
jiantw83
|
733b1a1a69
|
feat(maintain): 每個專案開完 PR 就寫一筆工作日誌
What:`maintain` 步驟 3 新增 3.5「一個專案的維護就是一個完成的任務」,PR 一開好就呼叫 `jsc-log:worklog` 寫一筆,原 3.5 順延為 3.6;步驟 5 的階段回報改成指向 3.5 寫的那幾筆,`--pending-file` 降級為「一個任務都沒完成就停下」時的備援。
Why:維護階段一次跑好幾個專案,原本整個階段結束才補一筆日誌。等到那時候,每個專案各自花掉多少時間、遇到什麼困難都已經混在一起,補出來的是一段概述而不是紀錄。
How:一個專案一筆,下一個專案的 sub agent 開工前要先寫完。條目一律附加到同一頁 `LOG_{HASH}`,`stage-report.sh --pending-file` 暫存的內容併進同一次寫入,寫成功才清除;暫存過的內容不算已寫入的日誌。
Who:跑 SDLC 維護階段的人,以及事後查某個專案上次維護做了什麼的人。
|
2026-08-27 11:20:29 +08:00 |
|
jiantw83
|
44682eaf25
|
feat(implement): 留言先取得共識、盯 PR 到合併、每個任務一筆日誌
What:`implement` 步驟 4 的留言處理拆細:動手前先跑 `wp-gate.sh owns` 確認 PR 是自己這一包的,接著走 `jsc-ask:ask` 決策樹對每一則留言取得共識才修,一輪修完立刻寫一筆工作日誌。步驟 6 領到包就跑 `wp-gate.sh claim`,步驟 11 的 `lock` 帶 `--wp`,開完 PR 先寫日誌再用 `jsc-gitea/tools/pr-watch.sh` 盯到合併,並依退出碼 `0`、`10`、`3`、`2` 分四條路走。Rules 新增「一個任務一筆日誌」一條,步驟 14 的日誌參數改為指向步驟 11 寫的那一筆。
Why:三件事原本都靠模型自己記。留言直接開修,等於把審查者的一句話自行解讀成一種改法,猜錯就多一輪審查;別包的 PR 沒人擋,跨工作階段就會互相踩;日誌等到階段結束才補一次,那時花費時間、token 用量與困難都已經散掉了。
How:留言文本留在 sub agent 裡,主代理只留決策與帳務。`pr-watch.sh` 收到 `10` 就回頭跑同一套留言流程(歸屬、共識、sub agent 修正、逐則結果、時間戳、日誌),跑完再盯一次,審查者要幾輪就幾輪;收到 `0` 再用 `wp-gate.sh check` 分辨已合併與被關掉沒合併,後者回報後停下,不算完成。時間戳一律寫回分析頁**既有**的 PR 欄,不加新欄,分析頁的欄位屬於 `analyze`。日誌一律附加到同一頁 `LOG_{HASH}`,`--pending-file` 暫存的內容併進同一次寫入,寫成功才清除——暫存不等於已寫入。
Who:跑 SDLC 實作階段的每個工作階段,以及接手同一份分析的下一個人。
|
2026-08-27 11:20:29 +08:00 |
|
jiantw83
|
b0dcdaab24
|
feat(wp-gate): 新增 claim 與 owns,把工作包歸屬寫進閘門
What:`tools/wp-gate.sh` 新增 `claim {owner}/{repo} {wp-number} [--analyze {分析頁頁名}]` 登錄領取、`owns {owner}/{repo} {index} [--wp {wp-number}]` 比對某支 PR 是不是自己這一包的;`lock` 新增 `--wp` 把 PR 掛到工作包名下;`check` 判定已合併時一併交回領取紀錄。新增狀態 `claimed`、`owned`、`foreign`、`unowned`,`foreign` 回 `1`,`owned` 與 `unowned` 回 `0`。
Why:同一份分析常有好幾包平行進行,每包各自的 worktree 與 PR。動任何一支 PR 之前要先確認它是自己這一包的,靠的必須是狀態檔而不是記憶——記憶跨不了工作階段。
How:歸屬一律以分析頁的工作包代號為準,不看分支名、不看 worktree 目錄名,那兩個都可能被改,改了也沒有徵兆。`WP-03`、`WP-3`、`3` 比對前先正規化成 `WP-03`,不然同一包的兩種寫法會被當成兩包。狀態檔的寫入一律轉呼叫 `jsc-hooks` 的 `sdlc-gate.sh`,本檔只讀不寫:兩邊各拼各的檔案,格式一改就對不上。查無歸屬(沒有領取紀錄、工作包還沒掛上 PR)一律 `unowned` 並放行只提醒,這與「查不到就擋」不衝突——那條講的是查得到卻查失敗,這條講的是根本還沒有歸屬可查。擋人時要講得出對方是誰,所以 `foreign` 會指出那支 PR 掛在哪一包名下。合併後交回領取紀錄前先確認領取檔登記的正是這一包,中途改領別包時直接交回會把還在進行的那一包的歸屬清掉。
Who:`jsc-sdlc:implement` 領包、開 PR 與處理留言的每一步,以及跨工作階段接手同一份分析的人。
|
2026-08-27 11:20:29 +08:00 |
|
admin
|
7fb1b8db11
|
Merge pull request 'fix/cpm-chart-simplified-char' (#27) from fix/cpm-chart-simplified-char into develop
Reviewed-on: #27
|
2026-08-27 01:58:53 +00: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 |
|
admin
|
b37476277d
|
Merge pull request 'feat/comment-scope-rule' (#26) from feat/comment-scope-rule into develop
Reviewed-on: #26
|
2026-08-27 00:56:50 +00:00 |
|
jiantw83
|
868e4345e9
|
feat(manifest): 三份 manifest 版本升到 0.1.7
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 的 version 由 0.1.6 改為 0.1.7。
Why:本次為 implement、maintain 與 TDD 參考文件新增註解界線規則,屬於行為變更,版本要跟著往上走,各 CLI 才知道要更新。
How:三份 manifest 只改 version 一個欄位,其餘內容不動,三份保持同一版號。
Who:jsc-sdlc 外掛的套件描述檔。
|
2026-08-26 19:00:56 +08:00 |
|
jiantw83
|
f503091655
|
feat(readme): README 同步 implement 與 maintain 的註解界線
What:README 的 implement 與 maintain 兩段說明各補一句註解界線,點出各自禁止寫進註解的追蹤資訊。
Why:README 是技能的對外說明,兩支技能已加規則,說明沒跟上就會讓使用者誤以為註解沒有限制。
How:兩段各補一句,內容與 SKILL.md 的指引一致,完整清單指向 jsc-review 的 references/comment-scope.md。
Who:jsc-sdlc 的 README 技能說明區塊。
|
2026-08-26 19:00:56 +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 |
|
jiantw83
|
e6e3e176ef
|
feat(maintain): maintain 步驟加上註解界線規則
What:步驟 3 新增 3.3「註解只寫原因」,原 3.3、3.4 順延為 3.4、3.5。
Why:維護階段常改到既有註解,議題編號、commit hash、分支名、人名與 @ 提及很容易順手留在註解裡,讓註解變成追蹤記錄。
How:規則正文放在 jsc-review 的 references/comment-scope.md,本技能只寫指引與完成條件,不重複清單;並指向 jsc-hooks 的 comment-scope.sh 當寫檔後的即時警告。
Who:jsc-sdlc 的 maintain 技能。
|
2026-08-26 19:00:56 +08:00 |
|
jiantw83
|
cd95c22bd4
|
feat(implement): implement 步驟加上註解界線規則
What:步驟 9 新增 9.3「註解只寫原因」,原 9.3 順延為 9.4;步驟 10 交給 code-review 前先掃整包 diff。
Why:實作階段手上一直握著工作包編號、分析頁編號、待辦編號、分支名與 PR 編號,這些追蹤資訊很容易被寫進程式碼註解,讓註解變成文件索引。
How:規則正文放在 jsc-review 的 references/comment-scope.md,本技能只寫指引與完成條件,不重複清單;並指向 jsc-hooks 的 comment-scope.sh 當寫檔後的即時警告。
Who:jsc-sdlc 的 implement 技能。
|
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 |
|