舊票每天有固定管道被撈出來(inkstone/ISEP#83)
leo 2026-08-27:「現在每天都在追新的,所以要用 Routine 去消化舊的,可以有多個條件」
兩條線各用各的判準(他當場訂正的那件事):
緊急線=掛 open milestone 的,用「距離目標的遠近」排
還債線=沒掛的那 188 張,用多條件排(事故/擋人/承諾/票齡/估工)← 本次做的
新增 scripts/debt-worklist(list/claim/forget):
· 撈全 org 15 個 repo 的 open issue + open PR,逐一列出當作「我查了哪些」的證明
· 扣掉掛 open milestone 的(緊急線在管)、等 leo 的(Human/human-exec/s/stage,
那些要催不是要領,催辦是 inkstone/ISEP#93)、已領走的
· 每張票旁邊印出「為什麼排這裡」的分項,排錯可以指著某一項說它給太多
· 成包只認強訊號:互相指著、或 Gitea 原生相依(母子票)。
第一版用單向引用成包,190 張裡 121 張黏成一坨——一包沒有人領得動
· 空清單會明講「查詢跑過了,結果是零」,不默默結束
· claim 之後那些票不再出現在清單上,並在隔天的清單頂端交代它們關了沒
hooks/session-start-recall.sh 加一段(不打網路,只看狀態檔日期):
今天還沒撈過就說一句,並給出要跑的那一行。開 session 自動去撈=輪詢,紅線擋著。
測試 scripts/test-debt-worklist.sh:40 條全離線,票上四條驗收條件各一組。
真實資料唯讀實跑過:229 張 → 可領 188 張/185 包,領走兩張後隔天清單少掉它們。
This commit is contained in:
@@ -165,6 +165,44 @@ bash hooks/tests/prod-write-guard.test.sh hooks/prod-write-guard.sh
|
||||
- 「卡點二」2 條任一紅 ⇒ 「談論它」又被當成「執行它」(同款第八次),
|
||||
或是剝了內文之後連真的部署都放行了
|
||||
|
||||
### A16 — 舊票每天有固定管道被撈出來:40 條
|
||||
```
|
||||
bash scripts/test-debt-worklist.sh
|
||||
```
|
||||
**該看到**:`通過 40 條,失敗 0 條`。**全程離線**:資料走 `ISEP_DEBT_FIXTURE`、
|
||||
時鐘走 `ISEP_DEBT_NOW`、狀態走 `ISEP_DEBT_STATE_DIR`——**不打 Gitea、不留測試票、不碰 `$HOME`**。
|
||||
|
||||
**它在守什麼**(`inkstone/ISEP#83`,leo 2026-08-27):
|
||||
「現在每天都在追新的,所以**要用 Routine 去消化舊的**,可以有多個條件」。
|
||||
全 org 229 張 open 票,每天在動的只有掛在 open milestone 上的那 56 張;
|
||||
其餘的不是不重要,是**沒有任何機制會去拿它們**。
|
||||
|
||||
🔴 **兩條線各用各的判準,不是二選一**(leo 當場訂正總管的誤解):
|
||||
掛 milestone =緊急線,用「距離目標的遠近」排;沒掛的=還債線,用多條件排
|
||||
(事故/擋人/承諾/票齡/估工)——後者就是 `scripts/debt-worklist`。
|
||||
|
||||
**失敗**:
|
||||
- 「驗收 1」那組紅 ⇒ 清單沒有附「我查了哪些 repo」的證明。
|
||||
**沒有證明的清單分不出「今天真的沒有」與「查詢壞了」**,而後者會靜靜地零產出
|
||||
- 「驗收 2」紅 ⇒ 空清單默默結束。這是這支工具最貴的失效方式:
|
||||
它看起來跑完了,於是沒有人再去看那 180 張
|
||||
- 「驗收 3」紅 ⇒ 領走的票明天又冒出來,這份清單就會變成每天一樣的一坨,人就不看了
|
||||
- 「成包」兩條紅 ⇒ 互相指著/母子票被拆開領,做到一半才發現卡在另一張
|
||||
- **「單向引用不成包」紅 ⇒ 這是誤攔的那一面**:第一版用單向引用成包,
|
||||
結果 190 張裡 121 張黏成一包(大家都會順手引用 hub 票)=**一包沒有人領得動**
|
||||
- 最後一組(SessionStart)紅 ⇒ 要嘛沒有人會被提醒去撈,
|
||||
要嘛那一段偷偷去打網路——**開 session 自動撈就是輪詢**,紅線擋著
|
||||
|
||||
**手動驗真實資料**(會打 Gitea,唯讀 GET):
|
||||
```
|
||||
python3 scripts/debt-worklist list --top 5
|
||||
```
|
||||
**該看到**:15 個 repo 逐一列出 issue/PR 數,扣除數字講得出來
|
||||
(掛 open milestone 的幾張、等 leo 的幾張、已領走的幾張),
|
||||
前幾名旁邊看得到「為什麼排這裡」的分項。
|
||||
**失敗**:前幾名一眼看不出為什麼在那裡 ⇒ 那些權重就是錯的,去改 `score()`,
|
||||
**不要改成「總管覺得」**——這份清單的價值就在於它不靠記憶。
|
||||
|
||||
### A5 — 開票前的搜尋是跨 repo 的
|
||||
```
|
||||
python3 scripts/ticket where 標籤 模組化
|
||||
@@ -362,6 +400,7 @@ B2(信標那行)/B3(setup 輸出)/B4(閘的訊息)三個畫面
|
||||
| **A15 pr-verdict --dry-run** | 總管 | ✅(2026-08-28) |
|
||||
| **A14 回覆自己說出拖了多久** | 總管 | ✅ 20/20(2026-08-28,inkstone/ISEP#63) |
|
||||
| **A15 發通知不等於部署** | 總管 | ✅ 37/37(2026-08-28,inkstone/ISEP#63) |
|
||||
| **A16 舊票有固定管道被撈** | 總管 | ✅ 40/40(2026-08-28,inkstone/ISEP#83)+真實 229 張唯讀實跑 |
|
||||
| A5 搜尋跨 repo | 總管 | ✅ |
|
||||
| A6 標籤對齊+冪等 | 總管 | ✅ 14 repo,第二次 0/0 |
|
||||
| **A9 人閘警察管路** | 總管 | ✅ 14/14(2026-08-26) |
|
||||
|
||||
Reference in New Issue
Block a user