feat(assistant): 助理主體收攏 start、status、stop 三個操作
What: - 新增 assistant 技能,提供啟動、查現況、停止三個操作。 - 刪掉原本獨立的 status 技能,行為清單與 README 的技能目錄一起改。 - 三份 manifest 的版本一起提升,對 jsc-hooks 的下限提到含心跳腳本的那一版。 Why: - 助理的生命週期是一件事,拆在兩支技能裡,靠描述自動觸發的 CLI 等於擲骰子挑一支。準則也明寫技能目標不得重複。 - 刪除的代價這時候最低:這個 domain 才剛落地,status 是它唯一一支技能,除了自己的文件沒有別的東西指向它。晚一步等各處都引用了再收攏,成本差很多。 How: - 心跳的判定一律交給 jsc-hooks 的心跳腳本,三個操作都讀它的回報,不自己解析心跳檔。判定有兩份就會漂移,狀態與訊息就會對不上。 - 那支腳本的每一個結束碼都在技能裡有明確處置,包含「腳本自己沒跑起來」那一種——那時候既不能說助理在跑,也不能說助理停了。 - 時間戳壞掉一律當成不新鮮,絕不退回判成新鮮。 - 異常結束不需要額外的清理機制:心跳是時間戳,過了門檻自動失效。反過來說,stop 以外的任何路徑都不該寫心跳,否則就是留一個假心跳。 - stop 清心跳是它的職責,不算助理界線裡「不刪狀態檔」那一條。技能內文把這個例外寫明白,免得日後照界線把 stop 砍掉。 - stop 的收尾同時講兩件事:心跳清掉之後閘門會擋下技能呼叫,以及閘門目前還沒接線所以這一刻擋不到誰。前者是設計後果,停助理的人一定要知道;後者不講就是說一件還沒成真的事。 - 排程這一輪不做,start 只寫第一次心跳,並講明心跳不會自動更新。 Who: 助理落地的第二塊:心跳有了,接著要有人寫它、讀它、清它。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jsc-assist",
|
||||
"version": "0.0.2",
|
||||
"version": "0.1.0",
|
||||
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
||||
"skills": "./skills",
|
||||
"author": {
|
||||
@@ -18,7 +18,7 @@
|
||||
"requires": {
|
||||
"jsc-cli": ">=0.2.7",
|
||||
"jsc-gitea": ">=0.2.0",
|
||||
"jsc-hooks": ">=0.3.4",
|
||||
"jsc-hooks": ">=0.3.7",
|
||||
"jsc-log": ">=0.1.4"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user