3.6 KiB
3.6 KiB
DMK 项目代码生成阶段执行 SOP (v6.1 全量契约对齐版)
一、 执行总纲
本 SOP 指导智能体将 target_table_skills/ 逻辑转化为生产脚本。执行过程必须严格遵循“业务逻辑服从 Skill,技术结构服从应用层 DDL”的原则。
二、 强制参考文档矩阵 (Source of Truth)
| 文档名称 | 角色 | 查阅时机 |
|---|---|---|
target_table_skills/*.md |
业务图纸 | 核心字段映射、计算原语、计算侧分工依据。 |
POC-TSG...DDL(1).sql |
技术契约 | 终极标准。建表结构、字段名、类型必须与之 100% 对齐。 |
specs/openspec.md |
项目宪法 | 校验 UNION 策略、HLL 去重等全局硬约束。 |
ods/基础信息语义统一.md |
标准词典 | 核实 ODS 原始字段名(特别是 4/5G 差异)。 |
三、 输出物标准规范 (Standard Deliverables)
每张表在 src/<表名>/ 目录下必须产出:
DDL.sql: PG 建表语句(含 Schema 前缀)。必须与POC-TSG...sql结构完全一致。compute.sql: 核心逻辑。严禁SELECT *,统一缺省值-1。sync.sh(标准 Linux Bash 范式):#!/bin/bash # 配置区 SCHEMA="${SCHEMA:-dmk}" HDFS_ROOT="${HDFS_ROOT:-/user/hive/warehouse}" LOCAL_DIR="/tmp/dmk_sync" # 计算 (Hive -e) -> 提取 (hdfs getmerge) -> 加载 (psql copy)README.md: 包含前置依赖、验收查询 SQL。
四、 质量门禁规范 (Quality Gates)
4.1 单表生成自检
- 契约校验: 字段名、类型、主键必须与
POC-TSG...sql100% 匹配。 - COUNT 校验: 必须包含
SELECT COUNT(*)确认数据非空。 - 非空校验: 核心主键与指标字段不可全为 NULL。
- HLL 校验:
indoor_flag = -1时确认使用 HLL 去重。
4.2 阶段间验收标准
| 阶段 | 验收标准 | 验证方法 |
|---|---|---|
| L1: 空间基准与桥接层 | td_grid 空间覆盖完整 |
抽查 grid 边界与楼宇 AOI 关联 |
| L2: 核心事实层 | 小区-网格关系正确 | 对比原始 ODS 采样点分布 |
| L3: 多维聚合层 | 楼宇/区域覆盖率准确 | 与栅格明细层累加结果对比 |
五、 异常处理与回滚决策矩阵
| 失败场景 | 处理机制 | 重试/回滚策略 |
|---|---|---|
| DDL 创建失败 | 检查字段类型、长度、保留字 | 修正并对照应用层契约重试 |
| SQL 逻辑错误 | 报备并回滚该表数据 | 执行 TRUNCATE TABLE ${SCHEMA}.${TABLE} |
| 同步脚本失败 | 检查网络/HDFS路径 | 重跑 sync.sh |
| 依赖不就绪 | 立即停止,溯源前置任务 | 待前置表验收通过后再启动 |
熔断信号:连续 3 张表执行失败,或发现违反 openspec.md 硬约束,必须立即终止生成并报告。
六、 阶梯式执行序列 (Dependency Sequence)
- Level 1 (空间基准与桥接层):
td_grid->td_building_grid_m->tm_scene_grid_coverage_m - Level 2 (核心事实与明细层):
tm_grid_coverage_m->td_building_cell_m->tm_cell_grid_coverage_m->tm_building_user_wifi_m - Level 3 (多维聚合与专题分析层):
tm_building_coverage_m->tm_region_coverage_m->tm_scene_coverage_m->tm_cluster_area_m
七、 禁止行为
- ❌ 严禁在没有读取应用层 DDL 的情况下自行定义表结构。
- ❌ 严禁混用 4/5G 的 ODS 原始采样指标字段。
- ❌ 严禁使用 Windows 风格的路径或命令。
版本:v6.1 (全量契约对齐版) 日期:2026-05-03