Commit Graph
10 Commits
Author SHA1 Message Date
jiantw83 aee17e45c7 feat(wiki): 三個目錄頁改走專用存取庫,比對鍵改用裸 HASH
What:LOG_CONTENTS、LEARN_CONTENTS、REPORT_CONTENTS 改由 wiki-repo CONTENTS
解析並透過 wiki-contents.sh upsert 寫入,內容頁仍各走自己的型別。LOG 與 REPORT
的目錄頁新增一欄裸 HASH 當比對鍵。

Why:比對鍵原本是含網址的儲存格,換主機、換存取庫或 URL 編碼有差就比對不到,
upsert 會走附加分支,同一頁多出第二列而舊列永遠不再更新。REPORT 更脆:存取庫一換,
雜湊與網址同時變,四個期間的列會一次全部重複。

How:worklog-pending.sh 的 valid_hash 放寬成 40 碼、8 碼與 H 加 7 碼三種形狀。
放寬的是長度不是字元集——先剝字元再比長度的順序保留,路徑穿越與換行注入照樣擋下。
年報不得沿用日誌存取庫那條規則收斂到內容頁,目錄頁同住一庫是另一回事。

Who:jsc-log
2026-09-02 11:02:21 +08:00
jiantw83 7d803245a5 fix(overwrite): 只有頁面真的不存在才建新頁
- What:worklog、learn、report 三支技能共六處讀取分流改寫,只有結束碼 4 才建新頁;
  結束碼 7 與 8 一律中止,一個字都不寫。三份目錄頁樣板補上寫入語意,明寫禁止整頁覆蓋、
  不得改動別人的列。usage-stats.sh 的參數護欄改成明確回傳結束碼 2。
- Why:原本把「讀失敗」與「頁面不存在」當成同一件事。金鑰失效時讀取回 7,技能卻讀成
  「這頁還沒有」,於是照樣板建一份新頁蓋回去。整份工作日誌會被這一筆條目取代,
  既有教訓會被清成空表,報表則產出一份說「這段期間沒有工作」的假數字。
  這些內容只活在 wiki 上,蓋掉就救不回來,所以這是本輪最要緊的一項。
- How:每一處讀取都先看結束碼再決定動作,並在技能文件裡列成表格:
  0 接在既有內容後面附加,4 才從樣板建頁,5 缺網址就中止,7 金鑰或權限問題就中止,
  8 其他 API 失敗就中止。目錄頁一律先讀整頁再改那一列。
  stats 也補上分流,參數錯誤不再被讀成「零次」。
- Who:worklog、learn、report、stats 四支技能的 wiki 讀寫與統計輸出。
2026-08-31 11:07:16 +08:00
jiantw83 5e61528ad0 feat(worklog): 每完成一個任務就寫一筆日誌
What:`worklog` 技能改成一個任務一筆條目,任務有三種——一個工作包、一輪 PR 留言修正、一個獨立的修正提交,並新增「What counts as one task」一表寫明各自何時結束;寫入步驟改走 `merge`、`commit`、`abort` 三段式,十項資訊裡的花費時間、token 用量、任務狀態、執行細節四項改成只算這一個任務。`templates/log-entry.md` 的頁首說明同步改寫。

Why:原本一個階段只寫一筆,同一個工作包跑五輪留言修正也只留下一筆。花費時間與 token 用量被攤成一個總數,看不出哪一輪花掉多少;連「試了卻沒改到檔案」的那一輪也整段消失,而那段時間正是最該被看見的。

How:下一個任務開始前先把這一筆寫完,五輪就是五筆,各自帶自己的花費時間與 token 用量,一律附加到同一頁 `LOG_{HASH}`,既有條目不動。每筆的標題要寫清楚是哪一個任務(工作包代號、第幾輪、或提交標題),五筆並排才讀得下去。花費時間在任務結束的當下讀,token 用量傳同一個 session id,兩個數字才描述同一件事。

Who:`jsc-sdlc:implement` 與 `jsc-sdlc:maintain` 收尾時呼叫日誌的每一個工作階段。
2026-08-27 11:20:29 +08:00
jiantw83 e6fafd4132 feat(report): 新增工作日誌總結技能
What: 新增 jsc-log:report,把工作日誌總結成年報、月報、週報或日報,寫進 wiki REPORT_{HASH}。另加 tools/report-range.sh 算期間、tools/report-template.sh 解析範本,以及四份報表範本與報表目錄範本。
Why: worklog 只記單筆工作,累積起來沒有工具看得出一週或一個月做了什麼、什麼在卡。要總結只能自己翻頁面加總。
How: 期間換算交給系統的 date,不自己算閏年與週界;週次採 ISO-8601。範本解析採工作目錄優先,.jsc/templates/report-{period}.md 蓋過技能自帶的那份,專案要換格式不必改技能。資料讀 LOG_CONTENTS 列出的所有日誌頁,取工作日期落在期間內的條目,只加總條目真的寫了的數字。
Who: 工作日誌的期間總結。
2026-08-26 10:47:07 +08:00
jiantw83andClaude Opus 5 80f05ea1e3 docs(log): 同步文件與參考資料
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 fdf6b2b771 fix(wiki 連結): 跨頁型連結改用絕對網址
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 18:54:19 +08:00
jiantw83andClaude Fable 5 fac3285ca7 feat(learn): 新增技能教訓紀錄與查閱技能及 LEARN wiki 頁範本
What:新增 skills/learn/SKILL.md(record/consult 兩種模式)與 templates/learn-page.md、templates/learn-contents.md 兩份 wiki 頁範本。
Why:參考 oh-my-pi 的 learn 工具,讓技能執行後能把教訓沉澱下來、執行前能先查閱套用,避免同樣的問題重複發生。
How:教訓以六欄表格(日期、技能、CLI、情境、教訓、下次做法)逐列附加到 LEARN_{HASH},並同步更新 LEARN_CONTENTS 目錄;HASH 依共用 8 碼 wiki hash 規則(含 H 前綴退回),wiki 位置依 JSC_WIKI_REPO_LEARN → JSC_WIKI_REPO 解析,讀寫皆透過 jsc-gitea:wiki。
Who:jsc-log domain 的 learn 技能(教訓紀錄與查閱功能)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 11:36:45 +08:00
jiantw83 f81da60d02 fix(worklog): 下放 LOG 目標頁計算並統一 hash 2026-08-21 16:53:17 +00:00
jiantw83andClaude Fable 5 65f6bd3e07 style(log): 中文並列改頓號
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:28:18 +08:00
jiantw83andClaude Fable 5 de9e342d77 feat(log): 匯入 jsc-log 技能組
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 13:08:43 +08:00