05 — Sequence Flows

它怎么真的跑起来

把四条关键链路逐步拆开:一次对话、一次永续心跳、一次终端授权、一次崩溃复活。时间向下流动,每条消息都落在具体的子系统之间。

§ 05.1 — HP-1 · 对话

一次对话,端到端。

从你按下回车,到流式 token 回到屏幕。事件先于动作落盘,响应锚定在产生它的计算节点,SSE 连接终结在边缘——worker 换人对你透明。

inbound runtime state 发消息 · 建 SSE 连接 写 INBOUND 事件(先于动作) invoke 装配 · resume 视图 run graph · 每步 permission check 流式 token(SSE 边缘 relay) 终态 AUTHORITY_ACK 落盘
HP-1 · chat trigger 端到端 — p99 < 5s(扣 LLM)

§ 05.2 — HP-2 · 心跳

不在线时,它自己醒来。

传统定时任务打到统一入口,触发一次 fire-and-forget 的 run。遇到需要你拍板的动作,它暂停并异步通知你——你回复后从断点续跑。重启后定时任务照常继续。

定时任务 inbound runtime cron → /scheduled invoke(scheduled) run · 遇需 consent 的动作 async push(PAUSED) 你回复 resume · 续跑 fire-and-forget · 无 reply 也成立 · 重启定时任务可续
HP-2 · 永续心跳 — 传统定时触发,离线 HITL

§ 05.3 — 授权

越界前,先问你。

权限判定从不下放给 LLM。命中需人工时,判定只产出「去问人」,由下游触发询问;你批准后写一条 per-host 的同意记录。换设备做同类事要重新问;撤权在下一次工具调用入口即刻生效。

runtime BC-5 权限 state check(host_op @ X) Verdict = require_hitl 弹窗征求同意(HITL) 批准 写 HostConsent(F2,append-only) resume · 执行 一事一议 per-host · 不跨设备复用 · 撤权即刻生效
JIT consent · bc-5-permission / agent-context-per-device-bundle

§ 05.4 — 复活

肉体崩了,灵魂续命。

worker 持续把事件写进灵魂(EventLog)。它崩了,调度面侦测到心跳超时,在另一处拿灵魂重建一具肉体、续跑——旧 worker 被 epoch 围栏挡死,避免双写。对你只是一次短暂停顿。

worker A 调度面 state · EventLog worker B append 事件(持续) 崩溃 心跳超时 侦测 → reschedule 在新肉体重建 rehydrate(拉完整 EventLog) 续跑 · epoch+1 围栏旧 worker soul/body · 对你只是一次短暂停顿,记忆精确还原
failover · ADR-009 / ADR-013 — soul/body 复活

「恢复 = 拿灵魂重新长一具肉体。」omne_harness · ADR-009