釋出:長度警告說得出話,提醒佇列分出內建項 #46

Merged
admin merged 4 commits from develop into master 2026-09-07 05:44:51 +00:00
Member

這一批釋出兩件事,都是上一版做出來的問題

一、條目長度那道警告本來說不出話

新加的長度閘門用 warn 報「距離上限不到 100」,而 schedule.sh 只定義 note。殼回一句 warn: not found 到 stderr,那句提醒一次都沒印出來——而 entry_len= 照樣印得漂亮。

一道說不出話的檢核,跟沒有那道檢核是同一件事。

修掉之後它第一次開口就說出一件要處理的事:這台機器的條目有 973 個位元組,距上限只剩 27。 長度大半來自 wiki 存取庫那 15 支變數的快照,一支約 40 個位元組。再多一支頁型變數就裝不起來,而那一次的錯誤訊息只會說 command too long。

二、提醒佇列把內建項標成另一種列

重啟之後實測:提醒 hook 真的在工作階段開頭跑了,但吐的是八行一模一樣的東西——八筆全是委派清單種入的內建項,動作是只提醒、還沒有執行入口,所以每一輪都到期。

那不是提醒,是噪音。分法改成照該有的處置切:

種類 誰能處置 怎麼印
overdue 人 逐筆點名
remind(使用者登錄的) 人 逐筆點名
builtin(委派清單種入的) 接線,不是人 一行總數

種類在寫佇列這一邊判(spec_key 只有這裡讀得到),讀的那一端維持「只印不判」。實測 8 行降到 2 行。

版本

0.3.5 → 0.3.7。讀的那一端是 plugins/hooks 0.5.0,兩邊一起部署。

不在這一批的事

條目太長本身沒有修。 那要改環境快照的落地方式,而「條目裡不 source 任何設定檔」是刻意的決定——很多機器的 .bashrc 開頭就是非互動即 return,在 cron 底下會安靜失效。換做法要連那一段一起重新想。

## 這一批釋出兩件事,都是上一版做出來的問題 ## 一、條目長度那道警告本來說不出話 新加的長度閘門用 `warn` 報「距離上限不到 100」,而 `schedule.sh` 只定義 `note`。殼回一句 `warn: not found` 到 stderr,那句提醒一次都沒印出來——而 `entry_len=` 照樣印得漂亮。 **一道說不出話的檢核,跟沒有那道檢核是同一件事。** 修掉之後它第一次開口就說出一件要處理的事:**這台機器的條目有 973 個位元組,距上限只剩 27。** 長度大半來自 wiki 存取庫那 15 支變數的快照,一支約 40 個位元組。再多一支頁型變數就裝不起來,而那一次的錯誤訊息只會說 `command too long`。 ## 二、提醒佇列把內建項標成另一種列 重啟之後實測:提醒 hook 真的在工作階段開頭跑了,但吐的是八行一模一樣的東西——八筆全是委派清單種入的內建項,動作是只提醒、**還沒有執行入口**,所以每一輪都到期。 那不是提醒,是噪音。分法改成照該有的處置切: | 種類 | 誰能處置 | 怎麼印 | | --- | --- | --- | | `overdue` | 人 | 逐筆點名 | | `remind`(使用者登錄的) | 人 | 逐筆點名 | | `builtin`(委派清單種入的) | 接線,不是人 | 一行總數 | 種類在寫佇列這一邊判(`spec_key` 只有這裡讀得到),讀的那一端維持「只印不判」。實測 8 行降到 2 行。 ## 版本 0.3.5 → 0.3.7。讀的那一端是 `plugins/hooks` 0.5.0,兩邊一起部署。 ## 不在這一批的事 **條目太長本身沒有修。** 那要改環境快照的落地方式,而「條目裡不 source 任何設定檔」是刻意的決定——很多機器的 `.bashrc` 開頭就是非互動即 return,在 cron 底下會安靜失效。換做法要連那一段一起重新想。
jiantw83 added 2 commits 2026-09-07 05:01:01 +00:00
新加的長度閘門用了 warn 來報「距離上限不到 100」,而這一支只定義 note。
殼回一句「warn: not found」到 stderr,那句提醒一次都沒印出來。

一道說不出話的檢核,跟沒有那道檢核是同一件事——而且它連自己壞了都只在
stderr 留一行,正常輸出上看不出任何異常。

修掉之後它第一次開口就說出一件要處理的事:這台機器的條目有 973 個位元組,
距上限只剩 27。長度大半來自 wiki 存取庫那一系列變數的快照,一支約 40 個
位元組——再多一支頁型變數就裝不起來,而那一次只會回 command too long。
所以訊息裡把這個來源講出來,人才知道要縮哪裡。

這一支之前就踩過同一個坑(另一段檢核也寫了 warn),所以註解裡寫明它只有
note,沒有 warn。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reviewed-on: #45
admin added 2 commits 2026-09-07 05:42:19 +00:00
實測踩到:這台機器的佇列八筆全是委派清單種入的內建項,動作是只提醒、
還沒有執行入口,所以每一輪都到期。於是每一個工作階段開頭固定吐八行
一模一樣的東西。

那不是提醒,是噪音——而讀佇列那一支自己的註解裡就寫著「對著一個刻意的
決定每個工作階段催一次,那是噪音不是提醒」。這一批就犯了那一條,只是
換成另一種來源。

分法照該有的處置切:使用者自己登錄的那一筆,人看到就做得了;內建項那
幾筆等的是接線,不是人。所以佇列的第一欄多一種值 builtin,讀的那一端
把前兩種逐筆點名、第三種收成一行總數。

種類在這一邊判,不在讀的那一邊:spec_key 只有這裡讀得到,而讀的那一端
的規則是只印不判。收尾多印一個 reminders_builtin=。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reviewed-on: #47
jiantw83 changed title from 釋出:條目長度那道警告本來說不出話 to 釋出:長度警告說得出話,提醒佇列分出內建項 2026-09-07 05:43:30 +00:00
admin approved these changes 2026-09-07 05:44:47 +00:00
admin merged commit 472992029d into master 2026-09-07 05:44:51 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/assist#46