雲端第一則 prompt 的主線是現在這條:兩份主線檔都不在時 refresh 去 Gitea 讀 InkStoneCo main 那份一次(inkstone/ISEP#140)
薄殼 SessionStart 跑在 bootstrap.sh 之前,InkStoneCo/ 還沒 clone、家目錄空 ⇒ 兩份都不在 ⇒ countdown.py 退到「期限最近的 milestone」⇒ 第一則 prompt 印逾期 341 小時的舊線。機制沒壞,是順序。 - hooks/lib/mainline.py:第三個來源 fetch_gitea()(本檔唯一會打網路的函式,只有 SessionStart 的 `mainline refresh` 叫它;load()/line() 照舊零網路)。優先序寫進檔頭:家目錄 > repo 那份 > Gitea 那份。 匿名優先,匿名被拒(401/403/404)且拿得到 token 才帶 token 再問一次;讀不到回 None,逾時有上限。 - scripts/mainline refresh:兩份都不在 ⇒ fetch_gitea 一次、只寫家目錄(不 mirror);token 拿不到不炸、不抱怨。 - hooks/tests/mainline-gitea-fallback.test.sh:31 條,假 Gitea 有 public/private/500/garbage/notitle/hang 六種回法。 假設(票上紅線寫「一律匿名不帶 token」,其前提「Gitea 匿名讀得到」實測為假): inkstone/InkStoneCo 在 Gitea 是 private——匿名打 raw/contents/repo API 都 404,ISEP 同端點 200。 ⇒ 照字面做這張票在真環境永遠讀不到。改成匿名優先、被拒才帶 token(同一條 SessionStart 鏈上 countdown-milestone-refresh.sh 本來就帶 GITEA_TOKEN_CLAUDE_CODE 打 Gitea;D20 管的是 GitHub)。 真跑:帶 token 2.06s 讀到 inkstone/Arcrun#48;拔 token rc 0、零檔案、「現在沒有主線」。 版本:待總管定版。 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0178ef1fGw3XeZtpN7LaZrm4
This commit is contained in:
@@ -911,6 +911,39 @@ bash hooks/tests/isep-presence-beacon.test.sh # ㉗–㉝ 那七條
|
||||
**真實跑(2026-09-07)**:信標不帶 fixture 打真 Gitea(匿名)→ 安靜(v0.24.0 tag+release 都在),
|
||||
留下 `.isep-chain-ok-v0.24.0` 快取;`release-check` 在本分支 → `v0.24.0 ✅✅✅ ←`、三個裁定不補的版本標 ⏭、exit 0。
|
||||
|
||||
### A37 — 雲端第一則 prompt 的主線就是現在這條,不是兩週前的舊線:31 條
|
||||
```
|
||||
bash hooks/tests/mainline-gitea-fallback.test.sh
|
||||
```
|
||||
**該看到**:`通過 31 條,失敗 0 條`。全程離線:Gitea 是本機一個假伺服器(`TICKET_HOST` 指過去),
|
||||
它照真 Gitea 回——public 時 raw 端點匿名 200;**private 時匿名 404、帶 token 200**(真 `inkstone/InkStoneCo`
|
||||
就是 private,2026-09-07 實測匿名打 raw/contents/repo API 都 404)。狀態走 `ISEP_COUNTDOWN_STATE_DIR`、
|
||||
repo 那份走 TMP 底下的假薄殼。
|
||||
|
||||
**它在守什麼**(inkstone/ISEP#140;母票 #130):薄殼 `youlinhsieh/inkstoneco` 的 SessionStart 跑在 `bootstrap.sh`
|
||||
之前——`InkStoneCo/` 還沒 clone、家目錄又是空的 ⇒ 兩份主線檔都不在 ⇒ `countdown.py` 退到「期限最近的 milestone」
|
||||
⇒ 第一則 prompt 印 `🔴 主線 把管理這條線做對 已逾期 341 小時`+`🎯 現在沒有主線`。機制沒壞,是順序。
|
||||
⇒ `scripts/mainline refresh`(SessionStart)在兩份都不在時去 Gitea 讀 `inkstone/InkStoneCo` main 的
|
||||
`system-dev/mainline.json` **一次**、寫進家目錄;之後每一則 UserPromptSubmit 讀家目錄,路徑上照舊零網路。
|
||||
優先序寫死在 `hooks/lib/mainline.py` 檔頭:**家目錄 > repo 那份 > Gitea 那份**,不是第二套來源。
|
||||
|
||||
**失敗**:
|
||||
- ①② 紅 ⇒ 前置狀態測不到(票上撞到的那個畫面重現不了,後面全是假綠)
|
||||
- ⑥⑦⑧ 紅 ⇒ 第一則 prompt 仍是「沒有主線」或那條逾期的舊線——本票要解的就是這一格
|
||||
- ⑨⑲ 紅 ⇒ 一上來就實名(讀的形狀是匿名優先,被拒才帶 token)
|
||||
- ⑬ 紅 ⇒ **每一則訊息的路徑上打了網路**(`load()`/`line()` 從不打網路這條被弄壞)
|
||||
- ⑭⑳㉒ 紅 ⇒ 家目錄或 repo 那份在場還去問 Gitea,或讀 repo 那份時順手寫了家目錄(A32 ④)
|
||||
- ⑮⑯⑰㉓㉔㉕㉖㉗ 紅 ⇒ 讀不到時不是安靜退回:炸、掛住、或往 stderr 抱怨(SessionStart 每次都會看到)
|
||||
- ㉘㉙ 紅 ⇒ bootstrap 之後 repo 那份出現時,`set_at` 規則(A32 ⑤⑦)被本票弄壞
|
||||
|
||||
**真實跑(2026-09-07,雲端 session,isep-hand)**:薄殼形狀(空家目錄、`$CLAUDE_PROJECT_DIR` 是沒有 `InkStoneCo/`
|
||||
的空目錄)——環境有 `GITEA_TOKEN_CLAUDE_CODE`:`mainline refresh` 2.06 秒、rc 0,`mainline` 印
|
||||
`inkstone/Arcrun#48「AI 問一次就看得到全部…」`,UserPromptSubmit 餵 `countdown-guard.sh` 印
|
||||
`⏱ …|主線 AI 問一次就看得到全部… 剩 137 小時 41 分` 與 `🎯 主線:inkstone/Arcrun#48…`;
|
||||
拔掉 token:rc 0、家目錄零檔案、印「現在沒有主線」、薄殼目錄仍是空的。
|
||||
⚠️ **「新開一個雲端 session、不跑任何指令、第一眼就是它」**這格要下一版裝進雲端才驗得到——
|
||||
前提是 Cloud environment 有 `GITEA_TOKEN_CLAUDE_CODE`(本 session 有),沒有就跟 0.25.0 一樣退到舊線。
|
||||
|
||||
### A5 — 開票前的搜尋是跨 repo 的
|
||||
```
|
||||
python3 scripts/ticket where 標籤 模組化
|
||||
@@ -1194,6 +1227,7 @@ B2(信標那行)/B3(setup 輸出)/B4(閘的訊息)三個畫面
|
||||
| **A34 收件 repo 寫 owner/repo 不 404** | isep-hand | ✅ 7/7(2026-09-07,inkstone/ISEP#130) |
|
||||
| **A35 Bot API 直送** | isep-hand | ✅ 10/10(2026-09-07);**真的到 leo 手機**要 Cloud environment 先有 `TELEGRAM_BOT_TOKEN`/`TELEGRAM_CHAT_ID`(leo) |
|
||||
| **A36 雲端對 stage 的寫入有正門、只寫得進 stage** | isep-hand | ✅ 45/45(2026-09-07,inkstone/ISEP#137)+真實種進 youlin 一把探針再刪掉、真打 stage GET 200/無 Bearer POST 401;「帶 Bearer 真寫 KBDB」缺 `KBDB_INTERNAL_TOKEN` 沒跑 |
|
||||
| **A37 雲端第一則 prompt 的主線是現在這條** | isep-hand | ✅ 31/31(2026-09-07,inkstone/ISEP#140)+真 Gitea 薄殼形狀實跑(帶 token 讀到 Arcrun#48;匿名退回);「新 session 不跑指令第一眼就是它」要下一版裝進雲端 |
|
||||
| **A37 tag → release 那一站** | isep-hand | ✅ 14/14(2026-09-07,inkstone/ISEP#67→6574)+真 Gitea 唯讀 dry-run 兩次(v0.23.0 總管被擋的情境、v0.3.4 走到建那條路) |
|
||||
| **A38 回頭問收貨端+開場會問** | isep-hand | ✅ 14/14+信標 33/33(2026-09-07,inkstone/ISEP#67→6574)+信標真 Gitea 匿名實跑一次安靜 |
|
||||
| A7 plugin 裝得起來 | 總管 | ✅ |
|
||||
|
||||
Reference in New Issue
Block a user