Align sysadmin readiness reasons, FEATURE-MATRIX schema claims, CURRENT FAV wording, pseudo-done task statuses, G1/G2 exception counts, and residual gap-matrix schema notes with measured 2026-09-22 evidence without flipping production_ready.
3.7 KiB
3.7 KiB
title, status, created, updated, owner, branch, worktree, mutex
| title | status | created | updated | owner | branch | worktree | mutex |
|---|---|---|---|---|---|---|---|
| 任务执行状态卡片与刷新持久化 | done | 2026-09-21 | 2026-09-21 | Cursor | feature/taskrun-status-card-2026-09-21 | .worktrees/feature-taskrun-status-card-2026-09-21 | chat+web+taskrun |
任务执行状态卡片与刷新持久化
目标
对话启动的任务以竖向时间线卡片展示(标题 + 状态徽章 + 耗时 + 步骤状态 + 当前阶段),刷新后卡片形态不退化、不消失。
范围
feat(web):TaskRunCard组件;MessageBubble 接入;phaseEventMapper / useTaskRunAttempts 接线feat(taskrun,ctxmgr):finalize 折叠 phase 快照写入metadata.task_phase_snapshotfeat(web):历史消息读快照;messageNeedsPhaseReplay扩面兜底存量数据- 真实环境验收 + 测试报告
非目标
- 不改 PLAN_CONFIRM 计划确认卡视觉
- 不晋升 test/main;不改
production_ready - 不动项目 143
步骤
- feat(web): TaskRunCard + 类型扩展
- feat(web): MessageBubble / mapper / attempts 接线
- feat(taskrun,ctxmgr): phase 快照持久化
- feat(web): 刷新恢复(快照 + replay 扩面)
- 单测 + 真实环境验收 + 合回 dev
W1-D:验收已勾且有合入证据 → 只补勾步骤,不降级。
验收标准
- 运行中任务:卡片显示竖向时间线 + 当前阶段文案
- 完成后刷新:卡片形态保留(有 title/steps/duration),不退化成纯文本
- 中断/失败刷新:卡片仍在,可继续/重开
- 存量无 snapshot 的消息:replay 扩面能重建步骤
go vet/go test -short相关包 /web npm test && npm run build通过
追加修复:收口后 label 冻结为进度中文案(2026-09-21 二轮)
真实环境验收抓到新缺陷:步骤 status 已收口为 completed,但 label 永久冻结为
"正在…(NN%)"进度中叙述(证据消息 id=4424:advisor_briefing 步骤显示
"贴身业务参谋正在提炼关键决策摘要与风险雷达...(98%)"),卡片读起来"任务已完成但下方还在跑"。
根因:后端 applyPhasePayload / BuildPhaseSnapshot 与前端 applyPhaseEvent 收口分支
只翻转 status、不改写 label。修复三层(同一任务批次提交):
fix(taskrun):NormalizeSettledStep收口归一化(短标签 + "已完成",保留"(第 x/y 步)"结构后缀;failed 有意保留原文案;幂等,导出供回填复用)fix(web):phaseEventMapper.settleStep运行时对称归一化;TaskRunCard渲染层displayStepLabel兜底清洗历史脏数据chore(ops):scripts/backfill_task_phase_snapshot_labels.go历史数据一次性回填(dev 实测 4424/4508 两条修复;二次 dry-run = 0,幂等)- 测试:Go 包测试 +
web npm test(472+33)+tsc --noEmit通过;TaskRunCard.test.ts新增 #4424 复现用例
证据:.doc/test-reports/assets/2026-09-21-taskrun-status-card-persistence/backfill-{before,after,run}.txt
收口:代码+文档已 --ff-only 合入 dev(4b303247 修复+回填证据,ab45cad4 验收报告);
dev 容器已 rebuild 并经真实 PI 验收(消息 4548 免回填直落归一化 label)。
cleanup_pending:worktree 仍被本会话 Cursor worker 进程占用(§5 门禁拒绝 remove),
待会话结束后由协调者普通 git worktree remove + git branch -d 清理;
一次性验收会话已撤销。
相关链接
- Plan:
~/.cursor/plans/任务执行状态卡片与刷新持久化_8e5dc856.plan.md - Test report:
.doc/test-reports/2026-09-21-taskrun-status-card-persistence-test-report.md
证据 / 备注
用户选定:竖向时间线卡;只做任务执行状态卡(不含 PLAN_CONFIRM)。