FirstMate:助手工作组、持久证据与交付授权
FirstMate 架构:持久唤醒事件不等于成员运行正常
追踪任务状态、语义忙碌判定与绑定代次的事件处理,避免把可见终端误认为任务完成或可安全恢复。
你将学会
- 后端端点只是其中一种观察
- 事件必须属于产生它的运行代次
- 升级处理需要证据,也需要克制
开始前需要
- 理解 Git 工作树与拉取请求
- 理解终端助手和凭据权限范围
定义交付约定,检查状态与授权证据,并避免宣称未经验证的运行保证。
先看结论
- 端点存在与成员语义状态属于不同信息。
- 过期事件不能控制新代次的成员。
- 未知状态要求检查,而非编造确定结论。
后端端点只是其中一种观察
运行后端负责创建和定位任务端点、截取有限输出,以及执行生命周期操作;助手适配器则提供语义活动信息。这是不同层次:助手死亡后终端可能还开着,看起来安静的助手也可能正在等待一个耗时工具完成。
架构规定状态应为 busy、idle、unknown 或 dead,并附带观察来源。缺失、畸形、过期或未经验证的语义记录应判为 unknown,而不是忙碌或空闲。在本版本中,Codex 和独立 Kimi 的语义来源尚未现场验证时,会在明确探查之外保留 unknown。
事件必须属于产生它的运行代次
任务接线启用时会生成 incarnation 标记,生命周期记录属于这个代次。旧代次的事件不能更新新成员状态。这与分布式系统中重试之后收到迟到响应的问题相同:只有任务名称相同,不足以证明事件仍然新鲜有效。
监督器和唤醒队列还处理另一种区别:端点存活不代表队列正在被消费。架构描述持久唤醒行与按进展进行的观察。父级观察本地二副队列时,不应仅因延迟就接管消费、获取其消费锁或重写队列行。
升级处理需要证据,也需要克制
一个看似卡住的成员仍可能在写工作树。文档中的监督流程结合语义状态和有限检查,而非把 CPU、修改时间或沉默当成通用忙碌信号。wedge 提示要求进一步调查,不是自动中断或重启的许可,否则可能破坏仍在进行的工作。
可为恢复记录列出任务标识、运行代次、观察来源、队列进展和下一项获授权动作,未知字段继续保留未知。本次检查的是架构文档,没有执行监督器或复现各适配器的恢复路径,因此这些说明不是运行可靠性测量。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
同时记录任务与运行代次。
- 2
保留每次状态观察的来源。
- 3
将队列进展与终端存活分开检查。
- 4
执行破坏性恢复前先携证据升级处理。
可复制示例
{
"示例": true,
"任务标识": "scout-demo",
"运行代次": "generation-2",
"判定": "unknown",
"观察来源": "缺少语义记录",
"下一步": "检查",
"授权重启": false
}常见问题
旧的 turn-ended 文件能证明成员空闲吗?
不能。架构将其视为唤醒通知,而非当前状态的权威来源。
出现 wedge 提示就可以重启吗?
不可以。它要求进一步检查,恢复动作仍需要明确授权。
资料来源
- FirstMate / docs/architecture.md来源核查 2026-09-14
- FirstMate / docs/configuration.md来源核查 2026-09-14