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
64 lines
1.4 KiB
JSON
64 lines
1.4 KiB
JSON
{
|
|
"id": "card_abc123def456",
|
|
"projectId": "prj_abc123def456",
|
|
"conversationId": "cnv_abc123def456",
|
|
"sourceRunId": "run_abc123def456",
|
|
"anchorMessageId": "msg_abc123def456",
|
|
"kind": "compare",
|
|
"title": "项目执行周期不一致 · 目标已基线",
|
|
"status": "action_required",
|
|
"tone": "danger",
|
|
"body": [
|
|
{
|
|
"type": "compare",
|
|
"compare": {
|
|
"left": {
|
|
"title": "基线 V1.2 · 已评审",
|
|
"tone": "danger",
|
|
"nodes": [
|
|
{
|
|
"type": "markdown",
|
|
"markdown": "12 个月(立项到注册)"
|
|
}
|
|
]
|
|
},
|
|
"right": {
|
|
"title": "新资料 · 待确认",
|
|
"tone": "ok",
|
|
"nodes": [
|
|
{
|
|
"type": "markdown",
|
|
"markdown": "18 个月(含临床试验)"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "progress",
|
|
"title": "切片进度",
|
|
"progress": {
|
|
"label": "切片 24/24",
|
|
"value": 1,
|
|
"tone": "ok"
|
|
}
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"id": "escalate",
|
|
"label": "发起变更流程",
|
|
"style": "primary",
|
|
"command": "change.escalate"
|
|
},
|
|
{
|
|
"id": "keep",
|
|
"label": "维持原样",
|
|
"style": "danger"
|
|
}
|
|
],
|
|
"pinned": true,
|
|
"createdAt": "0001-01-01T00:00:00Z",
|
|
"updatedAt": "0001-01-01T00:00:00Z"
|
|
}
|