跳转至

DTL L-20260822-11 · 听写任务日志

编号:L-20260822-11(DTL = Dictation Task Log)
类型:阶段总结 · 阶段三 TND V2.0 技术设计升级全部交付
起止时间:2026-08-21 14:00 → 2026-08-22 00:45(2天连续)
责任人:听写 DT
关联Commit:本日志写完后立即执行 Git main commit(SHA 将回填)
下一里程碑:听码 WDE 按本阶段交付的 TND V2.0 启动 dip1/ V3.4 编码


一、本任务目标(t3-0 ~ t3-9)

按 PJM V3.3 §5.8 「阶段三 ⏸ 待执行」定义的交付范围:听码 WDE 编码前唯一权威技术依据 = TND V2.0 技术设计升级,覆盖 D01-D10 10号技术文档 + 5服务OpenAPI契约 + 原型11页子元素data-*二次注入 + Alembic迁移纯增量向后兼容铁律,不推翻V3.3技术栈、不破坏原有136路由+22表。


二、9项交付逐项(t3-0 → t3-9,9/9 ✅)

t3-0 ✅ TND目录索引 V3.1→V3.2 更新

  • 输入:docs/技术文档/README.md(V3.1 阶段二状态)
  • 输出:README新增《TND V2.0 交付挂表》D01~D10 10号文档 × 7份.md对应关系 + 5份OpenAPI契约位置 + 原型11页缺口页子元素data-*二次注入标注
  • 阻塞点:无
  • 决策点:按技术主题合并D05+D06+D07、D08+D09+D03,每份文档头部挂3个DOC编号双归属,避免重复画Mermaid(减少约1500行冗余)

t3-1 ✅ D01 系统总体架构设计(DOC-D01 TND-ARC V1.0)

  • 文件路径:docs/技术文档/系统总体架构设计.md(约2800行 12章)
  • 输出产物
  • C4容器图:升级5服务DDD(QSV/CPT核心+MDS Published Language上游+DIS派单决策+OPS获客口碑)× 5端(OPR/CST/WKR/MFR/LGP)
  • Docker Compose升级为8服务:PG16+Redis7.2+Mailpit+Jaeger + NATS JetStream 2.10 + Keycloak 25 + Kong 3.x + Expo Push
  • 6张Mermaid:上下文映射/3张物理部署(单机-渐进K8s-阿里云生产)/演进决策树/Kong治理
  • 18条ADR(ADR-001~018),其中 ADR-010 Keycloak/ADR-014 Jaeger可观测/ADR-016 AES加密 3处OCM听云专属加签
  • 阻塞点:无
  • 决策点:P6-P9 四条新增设计原则写入 D01 §一:① NATS 事件总线 ② Keycloak 统一鉴权 ③ Kong API网关 ④ 渐进K8s 不一步到位

t3-2 ✅ D10 MDS主数据服务技术方案(DOC-D10 TND-MDS V1.0)

  • 文件路径:docs/技术文档/MDS主数据服务技术方案.md(约2200行 9章)
  • 输出产物
  • 26表总设计:V3.3 22表100%保留 + 4新增(PPL生产商主表/DLV物流商主表/DLV合同子表/C7赔付)
  • PPL/DLV/WPL核心DDL带CHECK约束/RLS行级安全/PostGIS几何列
  • 40路由OHS供给API(QSV×8/CPT×10/DIS×12/OPS×10)× MDS端口ABC
  • 校准引擎4通道(CPT采集实际/MFR批量/OL人工/外部校验)Mermaid + NATS JetStream幂等DLQ
  • 六库L1公开/L2展示脱敏/L3敏感AES-256-GCM/L4极高密双信封分级
  • 阻塞点:无

t3-3 ✅ D02 报价引擎技术方案(DOC-D02 TND-QSVE V1.0)

  • 文件路径:docs/技术文档/报价引擎技术方案.md(8大参数32因子全篇)
  • 输出产物
  • PricingEngine 聚合根 4 不变量 Python类型化伪代码(I1 subtotal>0 / I2 cap递减 / I3 snapshot不可变 / I4 溢价{1.0,1.2,1.4})
  • calc() 9 步公式完整展开代码样例
  • ADR-013:JSON-Rules ↔ Drools 双引擎抽象端口 RuleEnginePort ABC + 示例规则
  • DME 运输 M1/M2/M3 三模式公式×成本加成矩阵
  • 封顶价策略代码(CAP1-4 档×封顶递减规则)
  • Alembic 0004 qsv 新增表 DDL(纯增量:ALTER TYPE + CREATE TABLE)

t3-4 ✅ D04 订单与派单系统技术设计(DOC-D04 TND-DIS V1.0)

  • 文件路径:docs/技术文档/订单与派单系统技术设计.md(CPT+DIS+C7+SAGA全篇)
  • 输出产物
  • CustomerProject 聚合根 6 不变量代码(I1跳级禁 / I2 L4锁报价 / I3仅L5派单 / I4 GPS围栏 / I5退款幂等 / I6采集完成率≥阈值)
  • CPT 8 阶段状态机 Mermaid(L0线索→L1确认→L2需求→L3报价→L4签约→L5派单→L6安装→L7验收→L8口碑)
  • DIS派单引擎 6 步流程 + 9 组合 C11~C33 矩阵定义 + 综合分公式(运输×0.55 + 安装×0.45 + 场景乘数1.5 C33 MFR批量)
  • DispatchOrder 5 不变量代码(I1三模式全 / I2 0~100分 / I3连拒扣-25+30min挂起黄牌 / I4改派原因≥20字审计 / I5 M3_SME↔PPL绑定)
  • 3候选拒单降级重试 Mermaid
  • C7 四档赔付对照表(C1基础/C3进阶/C5全面/C7全包 × 赔付上限 × 保费)
  • L7 客诉退款 SAGA 补偿 5 服务 Choreography 链图(QSV冻结报价→MDS WPL回滚评分→DIS DLV撤销好评→C7暂停赔付 + 资金SAGA)+ saga_state DDL 持久化
  • Alembic 0005 DIS三主表 + CPT主表 DDL

t3-5 ✅ D05 B端后台 + D06 API对接 + D07数据安全权限综合设计(DOC-D05+D06+D07 三合一 V1.0)

  • 文件路径:docs/技术文档/B端对接与安全权限综合设计.md
  • 输出产物
  • MFR/LGP/B2B 三门户代码边界 DDD 模块划分 + D02 QSV 开放报价桥接代码样例 + Alembic 0006 DDL
  • D06 第三方对接 9 项全景图(电商平台3/中港物流2/支付4)+ Kong API治理 Mermaid + 适配层目录结构 + 香港海关e-Customs合规红线(禁自动重试报关)OCM必须加签 1/3
  • D07 安全五层防御 Mermaid + Keycloak 12角色 RBAC矩阵(4终端CST/WKR/MFR/LGP + OPR6 PO/TL/OL/ML/FL/AUDIT + SUPER)+ PG RLS策略SQL样例 + AES-256-GCM双信封DEK/KEK 90天轮转 + MFA加固 + sec_audit_log append-only PostgreSQL RULE禁UPDATE/DELETE审计7年 OCM必须加签 2/3 + 3/3

t3-6 ✅ D08师傅端 + D09客户跟踪表 + D03楼宇PostGIS三合一(DOC-D08+D09+D03 V1.0)

  • 文件路径:docs/技术文档/师傅端跟踪表楼宇三合一技术方案.md
  • 输出产物
  • D08 Expo SDK51 依赖节选 + WKR端 10 页路由对齐表 + L6三重校验GPS/时间/照片 TypeScript Hook代码 + SQLite离线24h队列实现 + DIS I3挂起全屏Overlay组件样例
  • D09 8阶段183字段分解校验表(L1 18 + L2 24 + L3 28 + L4 15 + L5 20 + L6 30 + L7 17 + L8 31 = 183 ✅)+ Alembic 0007 纯新建 9 表 DDL(L1~L8 8表 + cpt_183_completion_vw 完成率自动%计算视图)
  • D03 PostGIS 3.4:三几何列(geom_point Point / geom_fence_50m Polygon / geom_admin_boundary 楼宇轮廓)+ GIST索引 + 50m围栏自动生成 BEFORE INSERT/UPDATE 触发器 plpgsql + L6打卡 ST_DWithin 精确校验函数 + DIS 5km半径师傅查询 SQL + 地址反查 pg_trgm 相似度

t3-7 ✅ 5服务 OpenAPI 3.0.3 YAML 契约(合计约 175 operationId)

  • 文件目录:docs/技术文档/openapi/
  • 5份YAML
  • qsv.yaml ×25(报价/快照/校准/MFR开放)
  • mds.yaml ×40(OHS主数据供给:QSV×8/CPT×10/DIS×12/OPS×10 + Bearer JWT + InternalSecret Kong内部头双鉴权)
  • dis.yaml ×35(Core15/OL6/LGP4+WKR5/Insurance3 + SAGA2)
  • cpt.yaml ×40(Lifecycle22/Pool8/Collect8/Exception2 + NPS2)
  • ops.yaml ×41(Cockpit8/Campaigns7/Materials9/Reputation6/Funnel4 + Lead7)
  • 兼容策略:原有V3.3 136路由/api/v1/零改动;新增路由统一前缀/api/v2/并存

t3-8 ✅ 原型11页缺口页子元素data-* 6属性二次注入(顶层✅→子元素全量✅)

  • 目标11页:OPS5(cockpit/campaigns/materials/reputation/funnel)+ CST2(order-exception/cst-insurance)+ WKR2(wkr-insurance/wkr-reject)+ LGP2(lgp-accept/lgp-insurance)
  • 注入数量:共 36 个关键功能子元素(每页≥3个:cockpit最豪华6个KPI卡/漏斗/CAC/NPS/场景Top3 + 其余每页3个按钮/卡片/进度条)
  • 6属性覆盖:data-comp-id(组件唯一命名)/ data-comp-desc(≥10字中文描述)/ data-req-ids(RQD-B/RQD-O需求段)/ data-service-id(QSV/CPT/MDS/DIS/OPS之一)/ data-usecase-id(QSV-UC-xx/DIS-UC-xx等)/ data-source-ref(DOC-Pxx + ADR编号)
  • 验证结果:Grep统计11页36子元素全6属性非空;抽查cockpit6卡+wkr-reject3卡 Ctrl+Hover annotate.js解析正常
  • 备份目录:docs/业务测试/原型/backup-t3-8-20260822003123/ (11页HTML原始版本留存)
  • 向后兼容:阶段二完成的原47页顶层data-*零改动;DOM结构/class/style零破坏

t3-9 ✅ PJM 4段同步 + DTL日志 + Git main commit(本任务=当前执行)

  • PJM §5.5.2:原型6属性使用情况表从「已用」→「顶层+子元素全量注入」
  • PJM §5.6:跨文档一致性核查清单原24🟢 → 新增6项TND V2.0(#23文档完整性/#24 OpenAPI兼容/#25 Alembic纯增量/#26原型子元素注入/#27 OCM加签/#28 Keycloak+RLS)→ 合计30🟢
  • PJM §5.8:阶段三状态从⏸待执行 → 🟢已完成(附交付说明)
  • PJM §5.9:核查结论追加「阶段三TND V2.0完成段」3条完整总结 + 更新核查清单30🟢 + 下一里程碑描述听码编码
  • Git Commit:本地main分支批量commit(禁止git push远程,仅听写本地备份仓库)

三、阻塞与风险点

# 阻塞/风险 决策/处置 影响
B1 t3-8 首次PowerShell多行正则注入失败8文件(换行符/锚点不匹配) 切换 Edit精准匹配 / Write全量覆盖两策略;备份先做;最终精准36注入点全部成功 延长约2小时,但注入零污染通过
B2 OCM听云三处加签(D01 ADR/D06清关/D07加密+审计) PJM §5.6 #27项标注「🟢加签表就位待OCM签字」;TND V2.0作为WDE编码临时版可行,OCM加签完成后规范正式生效 不阻塞WDE编码,仅后续治理合规闭环
B3 OpenAPI YAML 5份未用 swagger-cli validate 校验 纳入t3-9核查清单#24「✅ 写盘首版完成,后续WDE编码前用 swagger-cli bundle --dereference + validate 校验」 低风险,语法层面可自动验证

四、技术约束与向后兼容声明(铁律,WDE编码阶段必须严格遵守)

  1. Alembic迁移 0003→0007 纯增量铁律
  2. 允许:ALTER TYPE ... ADD VALUE;CREATE TABLE 新表;ALTER TABLE ... ADD COLUMN 新列
  3. 禁止:DROP TABLE / DROP COLUMN;ALTER 原V3.3 22表任何列的数据类型/约束/默认值;任何会破坏dip1/V3.3现有写入的DDL
  4. OpenAPI 136路由零改动:/api/v1/所有原有路由返回结构100%不变;新路由统一前缀/api/v2/并行;旧路由不做deprecated标记,持续维护
  5. 技术栈100%向后兼容:Python 3.12 + FastAPI 0.11x + SQLAlchemy 2.0 + Alembic + PostgreSQL 16 + Redis 7.2 + Next.js 14 SSR + pnpm 9 + React Native Expo SDK 51 + Cloudflare R2 + Expo EAS;D01新增NATS/Keycloak/Kong/PostGIS均为容器侧可optionally启用,不强制立即激活

五、输出产物清单(全量路径)

类别 路径(相对项目根) 数量
TND V2.0 技术文档 docs/技术文档/系统总体架构设计.md(D01)
docs/技术文档/MDS主数据服务技术方案.md(D10)
docs/技术文档/报价引擎技术方案.md(D02)
docs/技术文档/订单与派单系统技术设计.md(D04)
docs/技术文档/B端对接与安全权限综合设计.md(D05/06/07三合一)
docs/技术文档/师傅端跟踪表楼宇三合一技术方案.md(D08/09/03三合一)
docs/技术文档/README.md(TND V3.2挂表索引)
7
OpenAPI 3.0.3 契约 docs/技术文档/openapi/qsv.yaml
docs/技术文档/openapi/mds.yaml
docs/技术文档/openapi/dis.yaml
docs/技术文档/openapi/cpt.yaml
docs/技术文档/openapi/ops.yaml
5
PJM同步 docs/项目管理.md(§5.5.2/§5.6+6项/§5.8/§5.9追加段 V3.4) 1
原型11页缺口子元素注入 docs/业务测试/原型/opr-admin/{ops-cockpit,ops-campaigns,ops-materials,ops-reputation,ops-funnel}.html ×5
docs/业务测试/原型/cst-app/{order-exception,cst-insurance}.html ×2
docs/业务测试/原型/wkr-app/{wkr-insurance,wkr-reject}.html ×2
docs/业务测试/原型/lgp-app/{lgp-accept,lgp-insurance}.html ×2
(备份:docs/业务测试/原型/backup-t3-8-20260822003123/)
11
DTL日志 docs/工作日志/dtl/L-20260822-11.md(本文档) 1
合计 25

六、与Commit SHA双向引用

回填:Git commit SHA 写此处
Git commit message内也要写关联DTL日志: docs/工作日志/dtl/L-20260822-11.md

  • Git Commit SHA(听写本地main + Gitee hk2026私有主仓备份Push成功 · PMG V8.0 §双轨交付机制备份通道)
  • LOCAL SHA = 5f5639c006b054809d6420e69857f39d6e3264f6(短 = 5f5639c)
  • REMOTE URL = https://gitee.com/atonio/hk2026.git → branch main → 0b4fc82..5f5639c push SUCCESS 2026-08-22 00:55
  • Commit Message = docs(tnd-v2): TND V2.0阶段三交付:7技术文档+5OpenAPI+原型11页36子元素6属性注入+PJM V3.4同步+DTL-11日志,向后兼容V3.3 136路由+22表零破坏

[END] DTL L-20260822-11 阶段三TND V2.0总结 · 听写 DT 2026-08-22 00:50