雲端要拿得到票、主線與通知:白名單住 ISEP、主線檔隨 repo 走、leo21c 讀放寫擋(inkstone/ISEP#130) #135

Merged
claude-code merged 2 commits from feat/130-cloud-full-power into main 2026-09-07 01:34:31 +00:00
Member

【身份】isep-hand/inkstone/ISEP/feat/130-cloud-full-power

票:inkstone/ISEP#130(雲端要拿得到票、主線與通知管道)

改了什麼

缺口(票上/comment) 改動 測試
leo21c-write-guard 連 GET 都擋 唯讀 -dtr -dcut -d=…)先剪掉再判;notify_leo trigger 放行(與 prod-write-guard 同一份白名單);改法段改印 arcrun-yuga3bse hooks/tests/leo21c-write-guard.test.sh 26 條(這支之前零測試;同一份跑 main 舊閘 5 條紅)
主線檔只在本機 ~/.claude hooks/lib/mainline.pyscripts/mainline:家目錄沒有 ⇒ 讀 InkStoneCo/system-dev/mainline.json;兩份都在 set_at 較新的算數;setadoptclear 兩份一起寫,refresh 只寫家目錄 hooks/tests/mainline-repo-mirror.test.sh 17 條+雲端 session 實跑讀到主線
白名單只在本機 settings docs/permissions-allow.json(四個正門工具,13 條形狀)+ scripts/settings-allow-sync(只加不減、冪等、壞檔不碰);docs/cloud-setup-script.sh 裝完跑一次;hooks.json SessionStart 每次再對一次 scripts/test-settings-allow-sync.sh 19 條
雲端沒 TELEGRAM_* scripts/isep-notifyTELEGRAM_BOT_TOKENTELEGRAM_CHAT_ID 先走 Bot API 直送(雲端實測唯一通的路);沒有就點名缺哪兩個 scripts/test-isep-notify-botapi.sh 10 條
youlin 子網域 09-02 換成 arcrun-yuga3bse prod-write-guardmain-and-prod-push-guardkbdb-live-exam/buttons.py 認得新名 prod-write-guard.test.sh +1 條
ticket new inkstone/ISEP 404 repo_arg()ISEPinkstone/ISEP 都收,Leo/ 當場講 org 是 inkstone scripts/test-ticket-repo-arg.sh 7 條

盤點數字在本樹實數:ls hooks/*.sh | wc -l=61、grep -c '"command":' hooks/hooks.json=85(+1:SessionStart 的 settings-allow-sync)、ls -p scripts | grep -v / | wc -l=53。README/plugin.json/hooks-inventory 已對齊。

驗過

  • 新增 5 支測試 79 條全綠;既有 mainline-focus(24)/countdown(20)/mainline-idle(61)/debt-worklist(47)/prod-write(38)/main-and-prod-push(13)/presence-beacon(26)/sdd-retired(8)/gate-ok(17)/ticket-where-seen(17)/comment-carries(29)/stage-before-prod(13)/reply-identity(11)/baton-handback(10)/unpushed-police(10)/overdue-nag(36)全綠。
  • claude plugin validate . ✔;check-version-consistency.sh
  • 全組 Bash PreToolUse 閘實跑雲端 Routine 原句:讀 leo21c 收件匣/讀 notify_leo 定義/mainlineticket sayticket handbackgitea-pr-merge 全放行;心跳 POST …leo21c…/kbdb/entriesprod-write-guardleo21c-write-guard 擋(該擋)。
  • 在本機一樣紅、沒動test-make-cloud-env.sh A2(GNU stat -f,cloud-wiring ④ 同款)、test-ticket-api-bypass-guard.sh ㉔(打真 Gitea)——main 上同樣紅。

沒驗到(report,不是 deliver)

  • 分類器真的不擋(permission_denials=0)——只有雲端下一趟 run 的 log 驗得到。
  • Telegram 真的到手機——Cloud environment 還沒有那兩個變數(leo)。

待總管定版

改了會被載入的東西(hooks/scripts/hooks.json)⇒ 要升版;plugin.json 仍 0.22.0,版本號由總管定。

🤖 Generated with Claude Code

https://claude.ai/code/session_01DTZ9QtvjY7MNxjfQbexAm7

【身份】isep-hand/inkstone/ISEP/feat/130-cloud-full-power 票:inkstone/ISEP#130(雲端要拿得到票、主線與通知管道) ## 改了什麼 | 缺口(票上/comment) | 改動 | 測試 | |---|---|---| | `leo21c-write-guard` 連 GET 都擋 | 唯讀 `-d`(`tr -d`/`cut -d=`…)先剪掉再判;`notify_leo` trigger 放行(與 `prod-write-guard` 同一份白名單);改法段改印 `arcrun-yuga3bse` | `hooks/tests/leo21c-write-guard.test.sh` 26 條(這支之前零測試;同一份跑 main 舊閘 5 條紅) | | 主線檔只在本機 `~/.claude` | `hooks/lib/mainline.py`/`scripts/mainline`:家目錄沒有 ⇒ 讀 `InkStoneCo/system-dev/mainline.json`;兩份都在 `set_at` 較新的算數;`set`/`adopt`/`clear` 兩份一起寫,`refresh` 只寫家目錄 | `hooks/tests/mainline-repo-mirror.test.sh` 17 條+雲端 session 實跑讀到主線 | | 白名單只在本機 settings | `docs/permissions-allow.json`(四個正門工具,13 條形狀)+ `scripts/settings-allow-sync`(只加不減、冪等、壞檔不碰);`docs/cloud-setup-script.sh` 裝完跑一次;`hooks.json` SessionStart 每次再對一次 | `scripts/test-settings-allow-sync.sh` 19 條 | | 雲端沒 `TELEGRAM_*` | `scripts/isep-notify` 有 `TELEGRAM_BOT_TOKEN`/`TELEGRAM_CHAT_ID` 先走 Bot API 直送(雲端實測唯一通的路);沒有就點名缺哪兩個 | `scripts/test-isep-notify-botapi.sh` 10 條 | | youlin 子網域 09-02 換成 `arcrun-yuga3bse` | `prod-write-guard`/`main-and-prod-push-guard`/`kbdb-live-exam/buttons.py` 認得新名 | `prod-write-guard.test.sh` +1 條 | | `ticket new inkstone/ISEP` 404 | `repo_arg()`:`ISEP` 與 `inkstone/ISEP` 都收,`Leo/` 當場講 org 是 inkstone | `scripts/test-ticket-repo-arg.sh` 7 條 | 盤點數字在本樹實數:`ls hooks/*.sh | wc -l`=61、`grep -c '"command":' hooks/hooks.json`=85(+1:SessionStart 的 `settings-allow-sync`)、`ls -p scripts | grep -v / | wc -l`=53。README/plugin.json/hooks-inventory 已對齊。 ## 驗過 - 新增 5 支測試 79 條全綠;既有 mainline-focus(24)/countdown(20)/mainline-idle(61)/debt-worklist(47)/prod-write(38)/main-and-prod-push(13)/presence-beacon(26)/sdd-retired(8)/gate-ok(17)/ticket-where-seen(17)/comment-carries(29)/stage-before-prod(13)/reply-identity(11)/baton-handback(10)/unpushed-police(10)/overdue-nag(36)全綠。 - `claude plugin validate .` ✔;`check-version-consistency.sh` ✅。 - 全組 Bash PreToolUse 閘實跑雲端 Routine 原句:讀 leo21c 收件匣/讀 `notify_leo` 定義/`mainline`/`ticket say`/`ticket handback`/`gitea-pr-merge` 全放行;心跳 `POST …leo21c…/kbdb/entries` 被 `prod-write-guard`+`leo21c-write-guard` 擋(該擋)。 - 在本機一樣紅、**沒動**:`test-make-cloud-env.sh` A2(GNU `stat -f`,cloud-wiring ④ 同款)、`test-ticket-api-bypass-guard.sh` ㉔(打真 Gitea)——main 上同樣紅。 ## 沒驗到(report,不是 deliver) - 分類器真的不擋(`permission_denials`=0)——只有雲端下一趟 run 的 log 驗得到。 - Telegram 真的到手機——Cloud environment 還沒有那兩個變數(leo)。 ## 待總管定版 改了會被載入的東西(hooks/scripts/hooks.json)⇒ 要升版;plugin.json 仍 0.22.0,版本號由總管定。 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01DTZ9QtvjY7MNxjfQbexAm7
claude-code added 1 commit 2026-09-07 01:19:13 +00:00
- docs/permissions-allow.json + scripts/settings-allow-sync:四個 Gitea 正門工具的權限白名單一份,
  setup script 裝完 plugin 寫一次、SessionStart 每次再對一次(只加不減、冪等)
- hooks/lib/mainline.py/scripts/mainline:家目錄沒主線就讀 InkStoneCo/system-dev/mainline.json;
  set/adopt/clear 兩份一起寫,refresh 只寫家目錄
- hooks/leo21c-write-guard.sh:唯讀 -d(tr/cut/sort…)先剪掉再判、notify_leo trigger 放行
  (與 prod-write-guard 同一份白名單)、改法段改印 09-02 起的 youlin 子網域;補第一支測試(26 條)
- prod-write-guard/main-and-prod-push-guard/kbdb-live-exam:認得 youlin 新子網域 arcrun-yuga3bse
- scripts/ticket:收件 repo 寫 inkstone/ISEP 不再 404(org 寫錯當場講)
- scripts/isep-notify:有 TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID 先走 Bot API 直送(雲端唯一通的路)
- 測試:A31–A35 共 79 條;README/plugin.json/hooks-inventory 數字實數(61 支、85 條、53 支腳本)

假設(記在這裡等 review):權限規則的形狀沿用 leo 09-07 親手加、實測有效的那四條;
「分類器真的不擋」要雲端一趟 run 的 permission_denials 才驗得到,本 PR 驗不了。
版本:待總管定版(plugin.json 仍 0.22.0)。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DTZ9QtvjY7MNxjfQbexAm7
claude-code added 1 commit 2026-09-07 01:23:58 +00:00
claude-code merged commit 4ba51b7b04 into main 2026-09-07 01:34:31 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inkstone/ISEP#135