跳到內容

命令、事件和排序

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 bootstrap指令省略 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 types 是與核心指令對應的過去式事實,包括:

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 提供 WebSocket 通過 TLS 1.3(wss)。單一經過身份驗證的連線複用一個使用的所有群組 Agent。每個 WebSocket 訊息 MUST 恰好包含一個 UTF-8 JSON 文字框架符合 schemas/websocket-frame.schema.json。二進位 WebSocket 訊息 MUST NOT 攜帶 MissionWeaveProtocol 物體或 Artifact v0.1 中的內容。

核心框架類型有 HELLO, SUBSCRIBE, COMMAND, EVENT, ACK, PING, 和 ERROR。部分的 Message 流幀沒有定義。

MWP-EVT-009MUSTMUST NOT

認證後,客戶端發送 SUBSCRIBE 和 Group ID,每Group 重播位置和可選的注意力過濾器。過濾器改變的是即時交付,而不是授權或持久歷史記錄。伺服器 MUST 獨立執行 Membership 對於每一個 Group 和 MUST NOT 揭示是否未經授權 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 滿足有限二進位64和I-JSON 第 2 節的規則;符合要求的實施 MUST 產生相同的 JCS 相同的位元組數 JSON 價值。

大量內容發佈為 Artifact 並透過 URI 和內容哈希引用。 v0.1 模式拒絕未知的核心屬性。未知非關鍵 Extension Profile 資料儲存和轉發不變。未知的關鍵擴充原因 UNKNOWN_CRITICAL_EXTENSION.