搜尋完整文件

輸入關鍵字,例如 idempotency、proposal lifecycle 或權限。

選擇 開啟
English
瀏覽文件

Govern · Proposal 契約

接收並同步提案狀態

Govern 會先保存 ActionProposal,再通知設定好的 host sink。Host 建立或回傳一筆本地 review record、決定後續行為,最後把 lifecycle facts 回報給 Tonetify。

Govern proposal
  → host proposal sink
  → operator review
  → host execution
  → authenticated lifecycle callback
  → Govern reconciliation

Proposal Delivery

Tonetify 會對設定好的 action_proposal_sink 傳送 bearer-authenticated POST,payload 使用 contract_version: "v1"。內容包括 proposal identity、host context、kind、display copy、domain payload、context snapshot、可選的 review evidence、status、expiry 與 idempotency key。

Host 必須依 proposal ID 或 idempotency key 建立或回傳唯一一筆 tenant-local record。成功的 response 可以回傳:

{
  "host_ref": "host-local-suggestion-id"
}

Delivery 失敗時,proposal 仍會保留。Govern 可以使用同一個 idempotency key 重試相同的 logical delivery。Delivery failure 不會刪除或執行 proposal。

Review Evidence 邊界

review_payload 可以包含 summary、reason、evidence list、risk assessment、consequence 與 authority-boundary copy,協助 host 呈現 review surface。

它不代表 host eligibility、mutation authority、execution permit,也不能證明執行是安全的。Host 執行前仍須重新驗證。

Lifecycle Callback

Host 透過以下請求把 lifecycle fact 回報給 Tonetify:

POST /api/action-proposals/<proposal-id>/lifecycle
Authorization: Bearer <host-api-key>
Idempotency-Key: <callback-idempotency-key>
Content-Type: application/json
{
  "action_proposal_lifecycle": {
    "contract_version": "v1",
    "status": "executed",
    "writer": "host",
    "idempotency_key": "callback-idempotency-key",
    "host_ref": "host-local-suggestion-id"
  }
}

Idempotency key 可以放在 header 或 JSON body。如果兩邊都有,應保持相同值。

Status 與 Writer Authority

Status預期 Writer
proposeddeliveredfailedtonetify
acceptedrejectedsurface
executedhost
expired依 expiry policy 由 tonetifyhost 寫入

Govern 會驗證 authentication、proposal correlation、status vocabulary、writer authority 與 idempotency。Proposal update 與 lifecycle event insert 會在同一筆 database transaction 中完成。

Tonetify 不會從 acceptance 或 delivery 推測 executed。Execution truth 必須來自 authenticated host callback。

目前的驗證邊界

Hanken Golden Loop 已驗證 proposal delivery、operator accept 或 dismiss、host execution、lifecycle callback、reconciliation、trace 與 outcome evidence。

它尚未證明所有 high-risk mutation 都強制經過 AuthorityGrant → ExecutionPermit → PermitCredential → ExecutionReceipt。Permit-backed path 目前仍是 emerging contract。

下一步:記錄 Host 執行證據