← ClaudeAtlas

live-routine-reconciliationlisted

starledger 的 canonical prompt fenced block 改動合併進 main 之後、懷疑 live executor 行為與 repo 契約不符、或需要手動觸發一輪 executor 時載入。這是 live Claude Routine 與 version-controlled prompt 的同步程序(含逐位元組驗證)。
F-e-u-e-r/opus-pack · ★ 2 · AI & Automation · score 68
Install: claude install-skill F-e-u-e-r/opus-pack
# starledger:live routine reconciliation (驗證日 2026-07-29/30——**外部服務行為,易變**:Anthropic routine 平台的 API 形狀與語義以 當日實測為準,再用前先小步重驗。routine 識別資訊來自 starledger 公開文件的 Identity 表。) ## 架構事實(為什麼需要這個程序) - live routine(trigger `trig_01LGJsFiiqeBtc8rwAstqHVh`,hourly `17 * * * *` UTC, `persist_session: false` 每輪全新 checkout)執行的是 canonical prompt 的**副本** (`events[0].data.message.content`)。改了 `docs/routines/starledger-ai-classification.md` 的 fenced block 並合併,**live 行為不變**, 直到 reconcile——該檔案檔頭本身就要求「live routine must match this file」。 - 相對地,`docs/P3.2-executor-runbook.md`、`prompts/classify-agent-v1.md`、 `docs/P3-ai-spec.md` 是 executor **每輪開跑時讀**的,repo 修正下一輪即生效。 - 教訓(2026-07-26 實測):merged 的 runbook 警語**不可靠地**覆蓋未 reconcile 的 live prompt——runtime 收口必須換 prompt 本體,不能指望執行器自行擇新棄舊。 ## 程序(2026-07-26 與 07-29 兩次實測成功) 1. **抽 canonical**(從合併後的 main,機械抽取勿手抄): `sed -n '/^```text$/,/^```$/p' docs/routines/starledger-ai-classification.md | sed '1d;$d' > canonical.txt` +`shasum -a 256 canonical.txt`;重抽一次 `cmp` 確認抽取穩定。 2. **更新前記錄**:`RemoteTrigger get` 全文——記下 before `updated_at`、`cron_expression`、 `enabled`、`events[0].data.uuid` 與整份 `session_context`。 (`RemoteTrigger` 是 **owner 平台側**的 routine 管理能力,不是 starledger repo 的工具、 repo 內零蹤跡;若你的會話沒有等效的 routine 管理工具,**就此停下向 owner 要**——不要找 替代通道。) 3. **更新**:`RemoteTrigger update` **只送 `job_config`**——payload 形狀=把你在步驟 2 記錄 的整個 `job_config` 物件原樣鏡射(`ccr.environment_id`、`ccr.events[0].data.*` 含 `uuid`/`session_id`/`type`/`parent_tool_use_id`、`cc