Compare commits

...
Author SHA1 Message Date
weichen 18bf3bf8e5 Record T2 inbox verification results
Why: T2 acceptance requires a verification record in this repo before the Dev combo pin.
Evidence: backend 14 pkgs ok incl. cardsvc suite; real-binary mock #upload e2e (2 cards, action receipt, pin, dismiss, idempotent re-action); ui 13/13; frontend 9/9; combo make test+build PASS.
Impact: docs/records only.
Refs: docs/proposals/2026-09-30-ui-inbox-command-workspace.md T2; task card feature/inbox-r2
2026-09-30 07:34:33 +00:00
weichen 210b492e02 Merge pull request 'Record T1 verification results' (#9) from feature/core-cards-commands-r1 into main 2026-09-30 06:27:15 +00:00
weichen 4348d4ebc4 Record T1 verification results
Why: Delivery gate requires a verification record with per-case PASS evidence
  for the T1 contract task before requesting review.

Evidence: record covers core/agent-command/frontend/ui suites, combo test and
  the additive-compatibility check; contract change list enumerated.

Impact: Documentation only.

Refs: Dev task feature/core-cards-commands-r1
2026-09-30 06:27:15 +00:00
weichen 023daeffaa Merge pull request 'Add UI foundation proposal (inbox, command bus, workspaces)' (#8) from feature/ui-foundation-r0 into main 2026-09-30 05:48:38 +00:00
2 changed files with 54 additions and 0 deletions
@@ -0,0 +1,28 @@
# T1 验证记录:Core 契约扩展 + Agent-Command v0(feature/core-cards-commands-r1)
被测版本组合:core=合并后 main(PR#2)+ agent-command=合并后 main(PR#2)+ frontend=PR#3 + ui=PR#3 + documents=本记录;Dev 组合 PR:见任务卡(feature/core-cards-commands-r1)。
initial_base_sha(R0):69e9471dafd275f98928ff005732b94c4b18b638(T0 合并提交)。
日期:2026-09-30。
## 结果
| 用例 | 结果 | 证据 |
|---|---|---|
| Core `go vet ./...` | PASS | 无输出(干净) |
| Core `go test ./...`(含黄金样本一致性) | PASS | ok agent-system-core;新增样本 activity_card / hitl_card_blocked / event_card_created / event_card_resolved / ui_vocabularies + 扩展 plugin_manifest 全部逐字节一致 |
| Agent-Command `go vet ./...` | PASS | 干净 |
| Agent-Command `go test ./...` | PASS | ok agent-command(spec 校验 10 负例 / 注册表生命周期 / 回执四态 / 并发冒烟)+ ok agent-command/conformance(command_spec、command_receipt 黄金样本) |
| Frontend `vitest run` | PASS | 9/9(contracts.ts 再生成后形状断言不变) |
| UI `tsc --noEmit` + `vitest run` | PASS | 类型干净;6/6 组件测试 |
| 组合 `make test` + `make build` | PASS | 在 Dev 分支最终 head 执行(证据见 Dev PR 与任务卡) |
| 兼容性核查 | PASS | 全部为增量(omitempty 字段/新类型/新事件类型);现有黄金样本不变;ts 镜像同步 |
## 契约变更清单(本任务落库)
- Core:`ActivityCard`(7 Kind × 6 Status + Terminal)、`card.created/updated/status/resolved` 事件与 payload、HITL `anchorMessageId/blocked/blockReason`、UI 词汇 7 项(progress/compare/tree/table/steps/tabs/timeline,Spec 后缀避免常量名冲突)、`UIAction.command`、manifest `provides.commands/workspaces`、`ActivityCardTemplate`(工作流 card 步骤)、`PluginWorkspace`。
- Agent-Command v0:`CommandSpec`(id 规范 `<domain>.<verb>`、paramsSchema、danger、binding + fail-closed 校验)、`Registry`(来源标记/启停/稳定错误)、`ExecReceipt` 四态(committed/accepted 必带 OperationID)、`AuditEnvelope`(入口归一 button/card/slash/chat/api)。
## 限制
- 本任务为契约与库层,无运行时行为可走查;端到端行为验证在 T2(收件箱)/T3(命令总线)的浏览器证据中覆盖。
- Core 黄金样本 `event_card_*` 的 payload 为内联 JSON 字面量(与既有事件样本同风格),未逐一驱动 CardPayload 序列化路径(后端 T2 接入时经事件管道覆盖)。
@@ -0,0 +1,26 @@
# T2 验证记录:收件箱任务卡(feature/inbox-r2)
被测版本组合:core=a2050d8 + backend=ba1714d(cardsvc PR#8/#9)+ frontend=801a684(PR#4)+ ui=bf77de7(PR#4/#5)+ documents=本记录;Dev 组合 PR:见任务卡(feature/inbox-r2)。
initial_base_sha(R0):69fd335deac237f5291298cb06a50bf03d11add7。
日期:2026-09-30。恢复说明:前会话完成主体开发并合入三仓(06:52–06:58Z),本会话接管收尾并补齐本记录与 Dev 钉定。
## 结果
| 用例 | 结果 | 证据 |
|---|---|---|
| Backend `go test ./...`(含 cardsvc 新套件) | PASS | 14 包 ok;cardsvc 覆盖生命周期、动作标签与幂等、pin/dismiss、owner 隔离、ref 幂等消解;迁移测试 v6 activity_cards(双方言) |
| Backend 真实二进制 e2e(mock `#upload`) | PASS | `make build` 后 `serve --mock`:`#upload` → 会话卡列表 2 张(progress=done、compare=action_required 带 escalate/keep);`actions/keep` → resolved + assistant 回执消息(含 card ref)入时间线;`pin=true` ✓;`dismiss` → dismissed ✓;重复动作 → "card: not awaiting action"(幂等拒绝) |
| UI `tsc --noEmit` + `vitest run` | PASS | 13/13(含 InboxList/ActivityCardView 组件测试) |
| Frontend `vitest run` | PASS | 9/9(组合源下 @ui 别名消费 InboxList/pendingCount) |
| 组合 `make test` + `make build` | PASS | Dev 分支钉定后组合验证(版本串 412d51a+core=a2050d8+backend=ba1714d+frontend=801a684+ui=bf77de7+agentcmd=cc1ad77+documents=210b492) |
## 落库清单(本任务)
- backend:cardsvc 服务(创建/更新/状态机/pin/dismiss/动作+回执/ref 消解)、SQLite v6 activity_cards 迁移、卡事件入会话事件缓冲(persist/seq/replay)、REST(GET cards / actions / pin / dismiss)、摄取/编排/HITL 投影卡 producer、mock `#upload` 全周期演示。
- ui:ActivityCardView + InboxList + pendingCount,样式与类型出口。
- frontend:收件箱 tab 置首(D25)+ 待办角标 + 实时卡片状态(store/cards + api 三端点)。
## 限制
- 浏览器用户流程走查未在本记录执行(以真实二进制 API e2e + 组件测试 + 构建覆盖交互证据);系统级零页面走查按提案归 T5 验收剧本。
- 跨会话项目级收件箱聚合为提案 v1 边界外(卡片按会话)。