跳转到内容

命令、事件和排序

MWP-EVT-001MUSTMUST NOT

Command 是请求一次结构化状态转换的签名请求。每个 Command 信封 MUST 包含稳定的 Action ID、协议版本、actor、kind、payload、correlation ID、签发时刻和签名。Group 范围的 Command MUST 包含其 Group ID。改变状态的 Agent Command MUST 另外包含当前 Session Epoch 与 Membership Epoch。现有 Group 中的人类 Command MUST 包含当前 Membership Epoch,并且 MUST NOT 包含 Agent Session Epoch。Organization 服务发出的 Command MUST NOT 编造 Agent Session Epoch 或 Membership Epoch。

mission.create 和 mission.create_follow_up 携带正在创建的 Group ID,但省略 Membership Epoch 与 Session Epoch,因为新的 Group Membership 尚不存在,而且人类 Command 不使用 Agent 会话。控制平面可以认证、中继并验证 mission.create,但签名 Command 的 actor 与产生的根 MissionOwner 仍是该人类;控制平面不会成为 MissionOwner。Organization 拥有的 ext.missionweaveprotocol.registry.agent_card_register 和 ext.missionweaveprotocol.identity.session_open 引导命令省略 Group ID 以及全部三个角色/会话 Epoch。

MWP-EVT-002MUSTSHOULD

权威性来自当前 Coordinator 租约的 Agent Command MUST 包含当前 Coordinator Epoch。以下 Command 需要该字段: mission.renew_coordinator、mission.submit_for_approval、mission.create_child、membership.grant_delegation 和 work.accept_result,以及由 Agent 发出的 mission.terminate。由服务发出的 mission.terminate 改由 Organization 策略授权,不携带 Coordinator Epoch。修改现有结构化状态时,Command SHOULD 包含预期的聚合修订。使用一次性 cooperation escalation 的 Command MUST 还包含 cooperationOverrideGrantId。

MWP-EVT-003MUSTMUST NOT

当相同 (actor ID, Action ID) 对应的规范签名内容在字节层面等价时,系统 MUST 返回原始回执,并且 MUST NOT 追加第二次状态转换。若以不同的规范内容复用同一 Action ID,则 MUST 以 ACTION_ID_COLLISION 失败。

MWP-EVT-004MUST

Group Authority MUST 认证 actor,验证 Session Epoch、Membership Epoch、Schema、当前聚合修订、角色、委托、预算、策略和租约,并且要么拒绝 Command,要么在该 Group 内原子追加由此产生的 Event。

核心Command种有:

mission.create mission.assign_coordinator
mission.renew_coordinator mission.submit_for_approval
mission.approve mission.request_changes
mission.cancel mission.terminate
mission.create_child mission.create_follow_up
membership.change membership.end
membership.grant_delegation
message.post message.correct
message.retract message.redact
work.propose work.authorize
work.offer work.accept_offer
work.start work.checkpoint
work.block work.unblock
work.submit work.accept_result
work.fail work.cancel
artifact.publish approval.grant_execution
policy.grant_cooperation_override

参考核心还定义了 Organization 拥有的 ext.missionweaveprotocol.* 命令,用于 Agent Card 注册、会话激活、依赖项插入、执行租约续订、权威资源使用记录和 Group 归档。未来的 Extension Profile 可能会标准化便利命令,例如显式报价拒绝、澄清或 Mission 暂停,但这些名称不是 v0.1 核心过渡。

MWP-EVT-005MUSTMUST NOT

Event 是不可变的已接受事实。Group Event 信封 MUST 包含 Event ID、Group ID、严格递增的 Group sequence、聚合修订、kind、actor、cause、correlation ID、发生时刻、payload 和 Group Authority 签名。Organization 范围的 ext.missionweaveprotocol.registry.agent_card_registered 和 ext.missionweaveprotocol.identity.session_opened 事实包含通用的 Event identity、actor、cause、correlation、payload、time、接受权威和签名字段,但 MUST NOT 包含 Group ID、Group sequence 或 Group 聚合修订。

Group Authority 为每个持久化 Group Event 分配一个单调递增的 sequence。该 sequence 提供确定性的显示、恢复和审计顺序。即使服务分配了显示顺序,普通 Message 在逻辑上仍可并发。结构化转换依赖 Event 顺序与聚合修订。

核心Event种是核心命令对应的过去时事实,包括:

mission.created mission.coordinator.assigned
mission.coordinator.renewed mission.submitted_for_approval
mission.approved mission.changes_requested
mission.cancelled mission.terminated
mission.child.created mission.follow_up.created
membership.changed membership.ended
membership.delegation.granted
message.posted message.corrected
message.retracted message.redacted
work.proposed work.authorized
work.offer.created work.offer.accepted
work.contract.revised work.started
work.progressed work.checkpointed
work.blocked work.unblocked
work.submitted work.result.accepted
work.failed work.cancelled
artifact.published approval.execution.granted
policy.cooperation_override.granted
group.snapshot.created group.archived

work.contract.revised 和 work.progressed 是由引用 Organization 拥有的依赖项插入和 Execution Lease 更新 Command 发出的核心 WorkItem 事实。Agent Card 和会话激活事实保留其 ext.missionweaveprotocol.* Event 类型。 group.snapshot.created 和 group.archived 是 Organization 拥有的 ext.missionweaveprotocol.core.group_archive Command 在其签名快照和策略日志链接验证后以原子方式发出的核心存档事实。

MWP-EVT-006MAY

自动事件 MAY 由接受的 Command、先前的 Event、计时器或策略决策引起。来自不同组的事件没有明确的顺序。

MWP-EVT-007SHOULDMUSTMUST NOT

结构化聚合命令 SHOULD 提供 expectedRevision。如果它不等于当前修订版,则 Group Authority MUST 拒绝 Command,并使用 REVISION_CONFLICT 和 MUST NOT 部分应用它。原子优先接受所有权、租约续订、Membership 更改和 Approval 始终需要比较和设置处理,即使特权内部参与者省略了连线字段。

MWP-EVT-008MUSTMUST NOT

MissionWeaveProtocol 0.1 服务器 MUST 通过 TLS 1.3 提供 WebSocket (wss)。单个经过身份验证的连接复用一个 Agent 使用的所有组。每个 WebSocket 消息 MUST 恰好包含一个符合 schemas/websocket-frame.schema.json 的 UTF-8 JSON 文本框架。二进制 WebSocket 消息 MUST NOT 携带 v0.1 中的 MissionWeaveProtocol 对象或 Artifact 内容。

核心帧类型为 HELLO、SUBSCRIBE、COMMAND、EVENT、ACK、PING 和ERROR。未定义部分 Message 流帧。

MWP-EVT-009MUSTMUST NOT

身份验证后,客户端发送带有 Group ID、每个 Group 重播位置和可选注意过滤器的 SUBSCRIBE。过滤器改变的是实时交付,而不是授权或持久历史记录。服务器 MUST 对每个 Group 和 MUST NOT 独立执行 Membership,揭示是否存在未经授权的 Group。

MWP-EVT-010MAYMUST

一个连接 MAY 交错来自多个组的事件。仅在每个 Group 内保证序列。接收器 MUST 在应用序列逻辑之前通过 Group ID 进行路由。

MWP-EVT-011MAYMUSTSHOULD

ACK 提供持久的进度。 PING 提供活跃度,MAY 携带存在记录;对等方在回复 PING 中回显其随机数。服务器 MUST 应用有界缓冲和每个 Group 背压。当达到限制时,它们 SHOULD 暂停 Group 并发出 BACKPRESSURE 并重试指导,而不是断开不相关的组。

MWP-EVT-012MUST

线路 JSON 不需要按规范成员顺序到达,但每个哈希、从内容派生的标识符或签名 MUST 使用 RFC 8785 JCS 字节。在架构验证之前,重复的对象成员名称 MUST 将被拒绝。数字和字符串 MUST 满足 第 2 节 ; 中的有限二进制 64 和 I-JSON 规则;一致的实现 MUST 为相同的 JSON 值生成相同的 JCS 字节。

大型内容以 Artifact 形式发布,并通过 URI 和内容哈希引用。 v0.1 模式拒绝未知的核心属性。未知的非关键 Extension Profile 数据按原样存储和转发。未知的关键扩展会导致 UNKNOWN_CRITICAL_EXTENSION。