Leo
|
dc4fe67e15
|
feat(1.18.0): 公開 mirror 落後偵測(手動同步的靜默失敗,只有外部用戶會撞到)
Gitea(草稿)↔ GitHub(正稿)是手動同步,改了零件沒發佈=用戶抓到舊版
且無任何錯誤訊息,只是行為不對——我們自己永遠測不到。
SessionStart hook 比對工作區 HEAD 與 .github-public 最後 release snapshot,
落後就出聲,含發佈指令;若該批改動含 .wasm 額外標紅(安裝器懶載直接抓那個)。
只提醒不阻擋(發佈需 leo 親跑 arm)。
實測 Arcrun:落後 25 個 commit 且含 wasm 變更。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-21 13:51:10 +08:00 |
|
Leo
|
27c207c3e9
|
feat(1.17.0): 查詢一律從最強查法開始(語意→關鍵字→grep)
leo:「它一定是用最好的搜尋,如果沒有才 fallback,但那不是你要指定的。」
事故:查 CF git 託管只用 grep→零命中→結論「沒查過/申請表沒送」=指控 leo
沒做他早就做過的事。同一問題跑語意搜尋第一筆就命中(0.858),
帶出三元組「Artifacts >> 若提供 git 倉庫則可取代 >> Gitea」,leo 15 天前就記了。
根因不是關鍵字選錯,是用了三種查詢裡最弱的那種。
grep 要求先猜對詞;語意搜尋不需要。
- subagent 注入改分級查法(語意/關鍵字/grep)
- wiki-first-search:grep 零命中不再靜默退出(那正是最該用語意的時刻);
有命中也明說「最弱查法、搜尋詞是猜的,請補語意搜尋」
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-21 11:59:21 +08:00 |
|
Leo
|
3eeded0432
|
fix: 源頭就寫對的網址,不靠發佈時改寫(leo 2026-07-21)
leo:「要發佈的正稿,從頭就不要用奇怪的網址,以免改來改去。」
=sanitize 每次改寫是補丁不是解法。改成源頭正確:
- README/README.en:死帳號 uncle6me-web → youlinhsieh(該帳號已 suspend,
安裝指令指著它半年沒人發現=別人照做必失敗)
- install.sh/update.sh:來源預設改公開 GitHub raw;內部要指私有草稿源
走 TEMPLATE_SOURCE= 環境變數覆寫,不改檔 → 兩邊不再需要維護兩份網址
- tasks-project-sync.yaml 註解範例帳號改通用佔位符
sanitize 降級為「安全網」:正常情況應無需改寫;若它報告改了東西=
源頭又混進錯網址的信號,回頭修源頭。保留它做發佈前驗證(殘留即中止)——
擋的是「只有外部使用者才會撞到、我們自己永遠測不到」的錯。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-21 11:32:27 +08:00 |
|
Leo
|
0a04c9c594
|
fix(1.16.1): wiki-first-search 補 Bash 破口(1.16.0 隔天即被自己繞過)
leo 點破:wiki 早記著寄信已驗證可用,我卻沒查又自創 curl 部署法。
根因=昨天的 hook 只掛 Grep|Glob|Read,但我實際用的是 Bash → 完全不觸發。
- matcher 加 Bash,只認高風險指令(wrangler|curl|npx|acr|gh|deploy|push)
- update.sh 對既有註冊就地補 Bash,不只新裝生效
教訓:防跳過 wiki 的機制本身要蓋到所有實際查詢途徑。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-21 10:51:33 +08:00 |
|
Leo
|
4d14b05d81
|
fix(1.16.0): update/install 來源改指 Gitea(GitHub uncle6me-web 已 suspend=自動更新早就死了)+補 system-dev/VERSION 同步
發現:所有下游 repo 的 update.sh 都指向已被 suspend 的 GitHub 帳號
raw.githubusercontent.com/uncle6me-web/… → 一律「取不到遠端版本」而中止。
去 GitHub 化時漏掉這條,等於整套自動更新機制靜默失效。
改指 git.uncle6.me/Leo/system-dev-template/raw/branch/main(實測 200)。
另:版本真相源有兩份(template/.claude/VERSION 與 template/system-dev/VERSION),
update.sh 讀的是後者但 1.15.0 只更新了前者 → 補齊,並列為之後要收斂的雙檔同步債。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-21 01:38:45 +08:00 |
|
Leo
|
7b83465acf
|
feat: SDD 生命週期鐵律——單一活性 SDD+pending-changes 緩衝+雙層硬約束(issue #6)+ bump 1.15.0
leo 2026-07-17 拍板:任何時刻每 repo 只有一份現行 SDD(status: active)。
- 新增 3-specs/SDD-LIFECYCLE.md:frontmatter 狀態標記(active|draft|paused|closed + superseded_by)+五條鐵律(單一活性/禁 CC 自建 SDD/規格變更走 pending-changes.md 等 confirm/開新 SDD 先逐條搬舊任務才准寫 code/session 開始回報三數字)
- 新增 3-specs/pending-changes.md:規格變更緩衝區骨架(待裁決/已裁決留底)
- TEMPLATE-sdd/design.md 掛 frontmatter(status: draft),移除舊「> 狀態」blockquote
- sdd-guard.sh 升級:active>1 不論寫什麼檔一律 exit 2;寫 code 檔需恰好 1 份 active;老 repo 無 frontmatter 退回舊行為(統計排除 archive/ 與 TEMPLATE)
- 新增 template/scripts/sdd-active-check.sh:獨立檢查,pre-commit/CI 可掛,>1 exit 1
- /sdd-check 加生命週期段(五鐵律摘要+三數字回報格式);template/CLAUDE.md 鐵律指向 SDD-LIFECYCLE.md
- install.sh/update.sh 鋪齊新檔(issue #13 教訓:update 不補新檔=結構斷層)
- 三情境 pipe-test 真跑通過:兩份 active 擋(2)/一份放行(0)/零 frontmatter 退舊行為(0)
- 版號:遠端已被 issue #5(vault 萃取)佔走 1.14.0,本案改記 1.15.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-17 16:53:18 +08:00 |
|
Claude
|
989a6fbfed
|
docs: 校正殘留舊路徑 .claude/wiki → system-dev/wiki(總管裁定路徑筆誤)
wiki 於 1.9.x 已遷出 .claude/、真實慣例為 system-dev/wiki/;把描述當前架構
卻仍寫舊路徑的 doc 一併校正,讓 template 路徑故事一致、避免未來 install 被誤導。
- docs/why.md:雙空間說明的 wiki 路徑。
- docs/wishlist.md:三層機敏防護 L1/L3 的 .wikiignore 與 hook 掃描路徑。
- skills/llm-wiki/SKILL.md:架構圖、L1、維護規則。
- skills/llm-wiki/references/templates.md:CLAUDE.md/INDEX/mistakes/decisions 範本全部路徑。
- template/system-dev/docs/README.md:wiki 記憶空間標題。
- template/system-dev/wiki/.wikiignore:L3 註解。
- CHANGELOG 1.14.0 條目自身用語清乾淨。
保留(刻意不改):install.sh/update.sh/session-start-recall.sh 的舊路徑「遷移偵測」、
CHANGELOG 歷史版本記錄、.gitignore 根目錄自裝忽略——這些本就該指舊路徑。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-06 03:06:04 +00:00 |
|
Claude
|
9a5219d8bd
|
feat: vault 萃取能力 /wiki-extract(raw Logseq → system-dev/wiki,冪等)+ bump 1.14.0(issue #5)
vault repo(Logseq/Obsidian 只有原文)需要萃,萃取歸 template。新增可重跑、
content_hash 冪等的增量萃取,把原始筆記萃成 system-dev/wiki 精耕卡+[[wikilink]],
供下游 Arcrun ingest 機械拉三元組。AI 只產卡片,不寫 KBDB、不拉三元組。
- 新增 /wiki-extract 命令:vault 增量重萃入口(給 Routine 反覆跑,不需 token)。
content_hash 冪等(.extract-manifest.json,hash 沒變=零 AI 呼叫);卡片格式沿用
wiki-init 第五步不重造;原文唯讀 + D16 精耕非 RAG。
- 新增 Logseq 任務 marker 解析單一真相源 docs/4-guides/logseq-markers.md:
大寫 marker(非 GFM checkbox),TODO/LATER→todo、DOING/NOW→in-progress、
WAITING→blocked、DONE→done、CANCELED/CANCELLED→closed;跳過 LOGBOOK/屬性行。
與 template#4 tasks 投影共用同一套,不各寫一份。
- install/update 帶下新命令與 guide;wiki-init 加增量重萃指針。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-06 02:54:39 +00:00 |
|
Leo
|
10f25e53e3
|
feat: tasks.md ⇄ GitHub Project 單向投影 optional 模組(issue #16)+ bump 1.13.0
裝了 SDD 的專案可把 docs/3-specs/*/tasks.md 待辦單向投影成唯讀 GitHub Project。
md 唯一真相源、Project 永遠唯讀,無反向同步、不會兩個真相源打架。預設不逼:
沒裝 Arcrun/答不要的用戶完全 no-op,純 md 不受影響。
- 投影 workflow template/system-dev/workflows/tasks-project-sync.yaml(Arcrun
workflow):foreach 增量 → switch 動作 → http_request 打 GitHub API:新 task→
issue create / [ ]→[x]→close / 文字改→edit / 行刪→archive(not_planned),並用
GraphQL addProjectV2ItemById 投影進 Projects v2。auth 走 {{creds.github_token}}。
- 本地觸發端 tasks-project-sync.local.sh:因 Arcrun workflow 跑遠端 CF Workers、
沒本地 fs/git,「讀 tasks.md / git diff / 回寫 <!-- gh:id -->」由本地端做完再
acr run 餵增量。本地一半 + 遠端一半,職責邊界清楚。薄殼不自刻 parser。
- 防複發核實:每個 component 經 acr parts 核實存在(registry 無 github 零件,全用
http_request 打 REST/GraphQL)。acr validate --offline 通過(7 三元組、config 完整)。
- 啟用判準=對話 + 能力,不掃檔(Arcrun workflow 存遠端 KV、零本地檔也能用 →
掃檔 false negative)。install/init 問一句 → 查環境有 Arcrun 就 acr push 啟用、
沒有就一次性溫和廣告。帶檔 ≠ 啟用。install/update 隨 SDD 模組帶 workflow(add_if_missing)。
- 守 flag 紅線:push 後本機觸發單次,禁定期輪詢、禁 GitHub Actions fan-out。
⚠️ 端到端(acr push 真部署 + acr run 真投影)待 leo21c 驗,本版為 code-done 骨架。
SDD(內部,gitignore 不推):docs/3-specs/tasks-project-projection/。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-28 16:24:33 +08:00 |
|
Leo
|
5d803c3971
|
feat: 跨 repo issue/comment 署名鐵律 [<repo> CC](issue #12)+ bump 1.12.0
所有 repo 共用 uncle6me-web 一帳號發 issue/comment,author 看不出來源。
issue-handle skill 加第 3 節「跨 repo 署名」:comment 開頭一律 [<本 repo> CC],
總管用 [InkStoneCo 總管],內容層溯源(平台無 per-repo 身份)。第 1 節範例帶署名,
原 flag 界線順延第 4 節。落點選 skill 不選 CLAUDE.md(導航牌不增長)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 18:15:01 +08:00 |
|
Leo
|
93420cea4e
|
feat: 採集規範升級三元組抓內文實體+## 實體 區塊(issue #11)+ bump 1.11.0
Logseq 183 卡落地暴露:現行三元組只示範卡對卡(既有雙鏈加動詞、資訊量沒增加);
gloss 只描述卡標題一個 node,內文實體無處放描述。只談採集端,ingest 另立。
- 三元組改抓內文實體關係(原子筆記>>對立於>>傳統筆記,A/B 是內文概念)
- 卡片新增 ## 實體 區塊:正規名(同義詞)— 描述,供 embedding normalize,集中不重複
- ## 關聯 拆兩層:內文知識關係(端點裸文字)+卡片關係(卡對卡 [[]])
- ★端點硬自檢★:端點須與 ## 實體 一字不差,逐條比對。實證 Haiku 對不齊 14→0
- 謂詞限定動詞禁名詞(否則 Haiku 寫 >> 存儲格式 >> 讀不通)
- 兩路徑同步 SKILL(Cowork)+wiki-init(CC)
對應 SDD: wiki-architecture(內部,不推)。Closes #11
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 18:02:25 +08:00 |
|
Leo
|
21ba319934
|
fix: install 防重複安裝,已裝過導去 update(杜絕 wiki 並存)+ bump 1.10.1
實測:裝過舊版的專案「先 install 發現裝過再 update」→ install 先建空殼,
update 遷移見目的地已存在就冪等跳過 → 真資料卡舊位置、空殼佔新位置、並存。
職責切分:install 只管全新安裝,一切已裝過的後續歸 update。
- install 防呆:偵測裝過沒(system-dev/ 或 .claude/wiki/ 或 .claude/VERSION
任一存在,不分新舊版)→ 不動任何東西,導去 update。源頭杜絕並存。
- update 偵測並存:migrate_dir 遇目的地已存在但舊位置仍有真資料 → COEXIST
警告需合併,不靜默跳過、不自動合併(絕不覆蓋用戶資料),引導 CC 逐檔合併。
- install↔update 互相導向,閉環無死結。
- 沙盒驗證:四種狀態(新結構/舊wiki/舊VERSION/全新)防呆正確、並存偵測不吃資料。
對應 SDD: install-layout(內部,不推)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 17:51:18 +08:00 |
|
Leo
|
671503fd70
|
feat: wiki 資訊架構 push/pull 判準 + principles 原則 push 檔 + bump 1.10.0
從「用戶所有檔案一律改寫成 wiki」前提,用 push(行動前必看見)vs pull(按需查)
重新推導 wiki/ 每個檔存廢——wiki 主要給 AI 看,判準是 CC 做事會不會被動看見。
對應 SDD: wiki-architecture(內部,依原則不推)。
- 新增 principles.md(push 全文):收跨全局原則(不污染根目錄、low-code…),
原則是會被遺忘的盲區,沒推到眼前 CC 設計時不服從。一行一條 ≤15。
- mistakes 改 push 摘要(標題+症狀,全文按需展開,量大不撐爆 context)
- decisions-summary 降級為 cards + INDEX 決策視圖(既有相容)
- INDEX 升級多角度視圖的家:新增角度只改 INDEX,不開檔不問用戶
- session-start hook 三類 push:principles 全文→status→mistakes 標題;>15 警告
- install 補 principles download;update 加 add_if_missing(補範本/已有則保留)
- push/pull 判準寫進 wiki-init + SKILL,CC/Cowork 共用
- 沙盒驗證:三類注入順序與量受控、add_if_missing 不覆蓋用戶內容、全 bash -n 過
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 17:34:26 +08:00 |
|
Leo
|
ead3593109
|
fix: 遷移後 CLAUDE.md 殘留舊路徑 → hook 偵測並提示 CC 代修 + bump 1.9.3
升級 1.9.x 後 wiki 已搬 system-dev/,但 update.sh 鐵則絕不碰 CLAUDE.md(用戶資料),
CLAUDE.md 內仍寫 .claude/wiki 舊路徑,CC 照它找錯位置(KB 端升級後發現)。
- session-start hook 偵測:wiki 已遷移但 CLAUDE.md 有 .claude/wiki → 接關後提示 CC 代修
- 由 CC 代改而非腳本盲 sed:避免誤傷用戶自寫內容、不破鐵則
- SDD install-layout 補一條決策(小修,不重寫)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 16:09:11 +08:00 |
|
Leo
|
c24c42c99f
|
fix: 修 SKILL.md typed-edge 三元組整節重複貼兩次(issue #10)+ bump 1.9.2
加 gloss 節時複製貼上沒清掉舊段,### 使用 typed-edge 三元組 在 SKILL.md
出現兩次、byte-identical(KB 端讀 skill 時發現)。
- 刪重複第二份,保留第一份(順序合理,gloss 節緊接其後)
- 兩來源檔同步:docs/SKILL.md + template/system-dev/docs/SKILL.md
Closes #10
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 15:35:22 +08:00 |
|
Leo
|
e097c02b9d
|
fix: 修 1.8.x 舊腳本升級撞 404 + VERSION 被污染 + bump 1.9.1
1.9.0 把 VERSION 搬到 system-dev/,但 1.8.x 舊用戶本機 update.sh 寫死抓舊路徑,
curl 對 404 把「404:NotFound」當內容寫進 VERSION,且第一次跑不遷移。
- 發佈源保留相容墊片 template/.claude/VERSION(與 system-dev/VERSION 同步)
- 新 update.sh 驗 REMOTE_VER 須像 X.Y.Z,否則視為取不到,永不寫進 VERSION
(404/HTML/空 全擋,未來路徑變動也不會再污染版號)
照 README curl main/scripts/update.sh 升級者抓遠端新腳本、一次遷移不受影響;
只有跑本機舊 scripts/update.sh 才中,這版修掉。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 15:27:55 +08:00 |
|
Leo
|
ecf1f882c6
|
feat: 安裝結構收進 system-dev/(不污染用戶根目錄)+ 舊版自動遷移 + bump 1.9.0
工具產物原散在用戶根目錄(docs 七層、scripts),又把 wiki/VERSION 寄生在 CC 原生
.claude/ 裡,用戶分不清哪個 docs 是工具的。這版徹底收斂:除 .claude/(settings/
commands/hooks)與 CLAUDE.md 留根,工具所有資料收進 system-dev/。
對應 SDD: system-dev/docs/3-specs/install-layout/(內部記錄,依原則不推)。
- 新結構 system-dev/{VERSION,wiki/,docs/,scripts/};.claude/ 只剩 CC 機制檔
- wiki 改寫產物落點正式化:install 建 system-dev/wiki/cards/(.gitkeep)
- docs 雙語義拆開:工具文件→system-dev/docs/;用戶 raw source 維持原處只讀
- scripts 一開始就裝進 system-dev/scripts/
- 舊版自動遷移雙保險:update.sh 冪等搬移(wiki 含 .git、docs 白名單)
+ session-start hook 偵測舊結構未遷移時提示(low-code 用戶兜底)
- wiki-secret-scan 觸發路徑改 system-dev/wiki/**(否則新結構防護失效)
- 全套路徑引用同步:CLAUDE/SKILL/wiki-*/sdd-*/hooks/INDEX/README(中英)
- 沙盒驗證:遷移含 .git commit 一致、冪等、用戶自填 docs 保留;全 bash -n 過
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 15:13:43 +08:00 |
|