develop
master
依 todo.md 執行的規範治理專案(A0-3/A0-4/工作包 A3):
persona-lib.mjs
iso()
nowIso()
+08:00
parseIso()
nowDisplay()
todayTaipei()
nowIso().slice(0, 10)
scripts/migrate-tz.mjs
--dry-run
redactSecrets()
persona-gitea.mjs
AGENTS.md
/jsc-shared
spec-output
spec-script-path
spec-subagent
spec-gitea
spec-git-safety
spec-skill-invocation
此 PR 依賴 shared repo 的 PR #43 先合併。
shared
node scripts/selftest.mjs
redactSecrets
migrate-tz
依 todo.md 執行的規範治理專案: - persona-lib.mjs 的 iso()/nowIso() 改為輸出 +08:00 offset(等值瞬間轉換, 非加8小時),新增 nowDisplay()(人讀顯示格式)與 todayTaipei()(台北曆日 日期鍵),修正 11 處原本用 UTC 字串切片產生日期鍵的錯誤用法;新增 redactSecrets() 並套用到 persona-gitea.mjs 的 Gitea 錯誤路徑,避免機密 外洩。 - 新增一次性遷移腳本 scripts/migrate-tz.mjs(備份/dry-run/冪等/衝突偵測 中止),供之後有真實人格資料需要轉換時使用。 - persona 13 個 skill 與 AGENTS.md 接上 /jsc-shared 共用規範(spec-output、 spec-script-path、spec-subagent、spec-gitea、spec-git-safety、 spec-skill-invocation 等),不再各自重抄,且完全未變動人格行為本身的規範 (情緒模型、記憶衰減、劇場模式、鎖與隔離機制等逐字保留)。 - selftest 全數通過(788/788,含本次新增的時區邊界/冪等性測試)。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
原本每個 skill 開頭各自重複一段 node persona.mjs 路徑與 session 參數說明的樣板,改為引用 jsc-shared:spec-script-path 的單行格式,只保留各 skill 實際差異。不影響任何指令行為。
共通四節(安裝、CLI、Skills 目錄、跨助理支援度)原本被領域內容擠到檔尾,改為搬到前段,與其他三份 repo 一致(前綴/呼叫方式 -> 目錄結構 -> 安裝 -> CLI -> Skills 目錄 -> 跨助理支援度 -> 新增一個 skill,領域內容與設計取捨移到其後);「新增/修改 skill」節名統一為「新增一個 skill」。只搬移不改寫內文,逐一核對過文中的相對指路詞未失效。
persona 原本是唯一沒有套用 gen-plugin-files.mjs 樣板的 repo,AGENTS.md 149 行手工維護的規則多數已在 README.md 對應章節與各 skill 的 SKILL.md 有完整覆蓋。改為透過 plugin.meta.json 的 agentsExtraBullets 機制產生,只保留純開發安全限制(狀態變更走 persona.mjs、人格鎖與隔離、selftest 要求、Node/ESM 限制),深入行為細節一律指向對應文件,降為 21 行。同步移除 plugin.meta.json 裡已無意義的 readmeHeadings 覆寫(新增一個 skill 節名已統一)。
補充 3 個 commit:
refactor(persona CLI 宣告)
docs(README 結構)
refactor(AGENTS.md)
版本沿用既有 0.3.0(已高於 master 的 0.2.1),本批未再重複 bump。
既有 PreToolUse 陣列(guard.mjs 人格隔離)之外新增第二個條目,沿用跨 plugin 腳本定位手法呼叫 shared 的 version-guard.mjs;13 個 persona-* skill 檔頭補上 spec-version-guard(persona-create 原分析誤判為清單空白,實際是項目符號格式, 已在既有清單最前補一行,不變動格式)。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
新增版本檢查 hook 與 13 個 skill 檔頭規範引用;基準改用本機 develop 現行的 0.3.0 (非 master 的 0.2.1)——develop 已有一個獨立、與本次工作無關的 commit(ac2045e: 時區改為 +08:00、補機密遮蔽、接上 shared 共用規範)先行 bump 到 0.3.0 但尚未推送 合併,master 版本已落後於工作分支,不能拿來當 patch +1 的基準。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
依 todo.md 執行的規範治理專案(A0-3/A0-4/工作包 A3):
摘要
persona-lib.mjs的iso()/nowIso()改輸出+08:00offset(等值瞬間轉換,非加 8 小時,parseIso()相容不受影響),新增nowDisplay()(人讀顯示格式)與todayTaipei()(依台北曆日的日期鍵),修正 11 處原本用nowIso().slice(0, 10)產生日期鍵的錯誤用法(會用到 UTC 當天而非台北當天)。scripts/migrate-tz.mjs(備份、--dry-run、冪等、合併衝突偵測後中止),供之後有真實人格資料需要轉換時使用;已在合成假資料上驗證,未曾讀取或修改任何真實人格資料。redactSecrets()並套用到persona-gitea.mjs的 10 處 Gitea 錯誤路徑,避免 API 回應或 git stderr 意外帶出機密。AGENTS.md改為引用/jsc-shared共用規範(spec-output、spec-script-path、spec-subagent、spec-gitea、spec-git-safety、spec-skill-invocation),這是四個 plugin 中唯一先前完全沒接共用規範的一個。完全未變動人格行為本身的規範(情緒模型、記憶衰減、劇場模式、鎖與隔離機制、SOUL.md/IDENTITY.md 樣板等逐字保留)。相依
此 PR 依賴
sharedrepo 的 PR #43 先合併。驗證
node scripts/selftest.mjs全數通過(788/788,含本次新增的時區邊界、iso()等值瞬間、redactSecrets、migrate-tz冪等性判斷等測試)。develop分支落後master數個 commit(SOUL.md 分區塊寫入等既有功能),本次已一併帶上,無需另外合併。補充 3 個 commit:
refactor(persona CLI 宣告):12 個 skill 的 CLI 宣告收斂為單行引用 spec-script-path,不影響指令行為。docs(README 結構):共通四節搬到前段,與 shared/doc/code 對齊;「新增/修改 skill」節名統一為「新增一個 skill」。refactor(AGENTS.md):改用共用樣板產生,從 149 行精簡為 21 行,深度行為細節改指向 README 對應章節。版本沿用既有 0.3.0(已高於 master 的 0.2.1),本批未再重複 bump。
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.