Commit Graph
6 Commits
Author SHA1 Message Date
jiantw83 18d12bbbe2 docs(behaviors): 說明文件與行為清單跟上目錄頁的條列版面
存取庫說明與技能行為清單裡講到目錄頁的段落一律改口:一筆一個大標題區塊、
標題就是內容頁頁名也就是鍵、欄位是標題底下的一層條列,頁上不留表格。

三個目錄頁的範本與三支技能的敘述都換了版面,說明文件卻還寫著「一列」與
「表格」。文件與範本各說一套,照文件手工補紀錄的人會補出一列表格,那一列
在條列頁上讀不成一筆紀錄,而且下一輪工具重寫時也不會被當成既有那一筆換掉。

只改敘述,行為與呼叫參數都不動;欄位語意與寫入語意的正本仍在各自的範本
引言裡,這裡只指向它,不重述細節。

範圍是說明文件與技能行為清單裡的目錄頁敘述。
2026-09-02 17:22:33 +08:00
jiantw83 aeb3f467e2 feat(狀態回報): 收尾寫一筆 skill-end 事件
現行紀錄只記「被叫用」,沒有成敗也沒有結束碼。跑完整輪的技能與開場就
中止的技能,在紀錄裡長得一模一樣。

start 由技能用量 hook 順手發,不必改技能文件。end 只能由技能自己在收尾
步驟寫——hook 接在技能工具呼叫上,而實際工作發生在之後的模型輪次,它在
原理上看不到成敗。有 start 沒有配對的 end,就是那一輪中止了。

status 五選一,每支技能各自寫明什麼情況選哪一個。找不到回報腳本就安靜
跳過,回報失敗一律不改變技能自己的結論。
2026-09-02 16:01:15 +08:00
jiantw83 e762cf986e fix(工作日誌暫存): 收編舊名目錄,並掃出定址不到的孤兒
雜湊規則從 8 碼改成完整 40 碼那一刻,還沒寫進 wiki 的暫存留在舊名底下。
現行程式拿 40 碼去查,查不到那些目錄,裡面的條目就再也寫不出去。

沒人發現是因為兩種狀態長得一樣:「真的沒有待寫」與「待寫卡在舊名底下」
對呼叫端都是成功。技能於是照常回報完成,日誌卻一筆都沒有。

兩道處置。推得出對映的(舊名等於 H 加新名前 7 碼)由 list、cat、merge
一併收編,clear 與 commit 也連舊目錄一起清——commit 不放行的話,已經寫進
wiki 的暫存清不掉,下一輪會整批重複寫一次。推不出對映的交給新的 orphans
子命令掃出來回報,要有人看到才處理得掉。
2026-09-02 15:27:03 +08:00
jiantw83 2c085d68ef feat(link): 連結一律寫成 [文字](絕對網址),寫入前先驗證連得到
取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與
「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上
看起來像普通文字或死連結,巡不到也修不了。

連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API,
不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把
好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁
整批判死。
2026-09-02 14:27:18 +08:00
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 5070863063 docs(behaviors): 新增 jsc-log 技能行為清單
- What:新建 `references/` 目錄,加入 `references/behaviors.md`。內含 learn、report、stats、worklog 四節,每節一張五列表,欄位為觸發時機、關鍵步驟、外部呼叫、完成條件、可驗證跡象。
- Why:技能驗證原本沒有基準,只能靠人逐份比對 SKILL.md,10 個 domain 每次稽核都要重做,還會漏。把每支技能的行為寫成清單,驗證就有可比對的正本。技能改了行為、清單沒跟著改,兩邊就漂移,所以規定日後任何技能異動都要在同一個 PR 內同步更新這一頁。
- How:逐支讀 `skills/*/SKILL.md`,把流程拆成五個固定欄位。節名與技能目錄名逐字相同,節序照目錄名字典序排。格式不靠人看,由 `jsc-meta/tools/check-behaviors.sh` 在程式層檢查六項合約。清單放在本 repo 而不是集中到 meta,這樣技能改動與清單在同一個 PR,不會漂移,也不用跨 repo 開兩條 PR 互卡。
- Who:屬於技能行為清單功能,是 jsc 技能組技能驗證基準的 jsc-log 部分。
2026-08-31 13:39:46 +08:00