Move done DOCREV short-terms, checklists, and handoffs into archive/ops and retarget relative links after Round20 close-out. Co-authored-by: Cursor <cursoragent@cursor.com>
4.2 KiB
4.2 KiB
title, status, created, updated
| title | status | created | updated |
|---|---|---|---|
| 文档版本账本运行时持久化与修订链路整改 | done | 2026-09-13 | 2026-09-14 |
文档版本账本运行时持久化与修订链路整改
背景
现场审计:../audit/2026-09-13-document-revision-runtime-404.md
Wave0–6 已合入 dev 并完成 schema 00028,但 ledger 未持久化、GET 无 bootstrap、前端 freeform 跳过 PATCH、overlay 未装饰、agent report 静态假数据,导致生产可见能力全面失效。
目标
- PostgreSQL 为账本事实源;进程重启后 revision-state / versions / overlay / reports 可恢复
- 首次访问对已有受控/自由文档确定性 bootstrap;旧数据可 backfill
- 统一受控与上传/自由文档的解析与授权边界;PATCH 更新用户所见事实源且刷新可恢复
- Agent/squad 提交写入 immutable snapshot + 确定性 change report(摘要/风险/影响来自 diff+lineage);禁止静态假 JSON
- 工程单测/门禁与「仅浏览器 UI 实战验收」计划分离标识
分波次计划
| 波次 | 内容 | 验收 |
|---|---|---|
| W0 | audit/remediation/short-term + CURRENT 认领 docgov + 分支 fix/document-revision-runtime |
文档与认领无冲突 |
| W1 | PG store:blob/snapshot/version/event/candidate/report + 根指针投影;hydrate on read;mutate 事务写入 | 单测:写入→新 Service 实例可读;并发冲突 |
| W2 | EnsureBootstrap:controlled(output.md)/freeform(content)/orphan(需正文);GET revision-state 触发;backfill CLI 接 pool |
旧 doc_id 首次 GET 200;空正文清晰 empty/404 |
| W3 | Handler:项目/文档授权;PATCH 写 workDir 或 freeform 正文;错误码与空状态 | 授权负例 403;保存后刷新可见 |
| W4 | Agent 接线:MaterializeAgentOutput(空基线首轮可见报告)+ 确定性 JSON;去掉静态假 JSON;叙事 PI 标 blocker |
首轮/二轮均有 candidate+report;fallback 可追溯 |
| W5 | 前端:freeform/upload 走 PATCH;overlay 三模式装饰 BlockRenderer;清晰未就绪/空状态 | 组件/契约测 |
| W6 | 工程门禁 + Ubuntu 无头浏览器 UI 验收计划扩展(首轮/二轮/多文档/双上下文/重启) | 计划落盘;本轮不占 docker 槽 |
| W7 | PATCH:AssertHumanCanEdit→ledger→投影;投影失败真实错误+可恢复一致性;orphan 不静默 bootstrap |
单测:权限拒绝不进账本;投影失败 500 且账本已提交 |
不可伪造 Blocker(明确写出)
| ID | 内容 | 为何本轮不能安全伪造完成 | 本轮替代 |
|---|---|---|---|
| DOCREV-RT-PI-NARRATIVE | 由真实 PI/MiniMax 生成的业务叙事摘要、开放问题措辞、风险业务解释 | 需占集成槽 + 真实 runner + 提示词契约 E2E;本轮禁止 docker rebuild | 确定性报告:summary 来自 hunk 统计与标题路径,risk=RuleRiskFloor,document_impacts=lineage,analysis_status=fallback |
| DOCREV-RT-UPLOAD-ORPHAN | 从未调用服务端 freeform create、仅 IndexedDB 存在的上传附件二进制预览 | 服务端无 Markdown 事实源,不能凭空造 ledger | GET 返回明确 DOCUMENT_REVISION_NEEDS_CONTENT / 引导首次 PATCH 注册;禁止静默假 V1 |
验收标准
go vet ./...与go test -short ./...PASS- 前端 vitest +
npm run buildPASS - UI 实战计划与工程门禁分栏
- Round20 真实 UI PASS:../test-reports/2026-09-14-document-revision-runtime-ui-test-report.md
DOCREV-RT-PI-NARRATIVE仍开放(fallback 可见,不冒充 PI);全仓production_ready=no
相关链接
- Audit: ../audit/2026-09-13-document-revision-runtime-404.md
- Short-term: ../ops/short-term/2026-09-13-document-revision-runtime.md
- gap-matrix 行:
DOCREV-RUNTIME-404 - UI 计划: ../ops/checklists/2026-09-13-document-revision-runtime-ui-acceptance.md