Why: Contract foundation for the inbox/command-bus/workspaces phase (proposal D28/D30): ActivityCard as the first-class state object behind the right-rail inbox, card.* stream events, inline-confirm anchoring (anchorMessageId + blocked/blockReason) on HITL, seven new UI schema vocabularies, plugin provides.commands/workspaces, workflow card step and workspace declarations. Evidence: go vet clean; conformance goldens regenerated and verified — new activity_card / hitl_card_blocked / event_card_created / event_card_resolved / ui_vocabularies samples plus extended plugin_manifest; CardStatus.Terminal helper unit-covered via build; ts/types.ts mirrors all additions. Impact: Additive only (omitempty fields, new types, new event types) — existing consumers ignore unknown values per forward-compat rule; vocabulary spec types carry a Spec suffix to avoid const-name collisions. Refs: modules/documents docs/proposals/2026-09-30-ui-inbox-command-workspace.md
28 lines
706 B
JSON
28 lines
706 B
JSON
{
|
||
"id": "hitl_def456abc789",
|
||
"runId": "run_1",
|
||
"conversationId": "cnv_1",
|
||
"question": "批准变更 CO-2026-007?",
|
||
"kind": "confirm",
|
||
"choices": [
|
||
{
|
||
"id": "approve",
|
||
"label": "确认批准",
|
||
"description": "变更单进入执行态",
|
||
"impact": "立即生效并留痕,不可裸文本撤回"
|
||
},
|
||
{
|
||
"id": "reject",
|
||
"label": "驳回",
|
||
"description": "关闭变更单并记录理由",
|
||
"impact": "留痕可审计"
|
||
}
|
||
],
|
||
"allowFreeInput": false,
|
||
"createdAt": "",
|
||
"resolved": false,
|
||
"anchorMessageId": "msg_abc123def456",
|
||
"blocked": true,
|
||
"blockReason": "存在未闭环高风险变更单,可先处理后重新检查"
|
||
}
|