map-monitoring.md 5.9 KB

基线卡片 01:地图摘要 + 运行监测

按决策票 05 真实联调基线与收口证据门槛 的格式产出。本卡片为第一张样板卡,用 2026-10-08 的实测结果填写,用于验证格式可填、并把缺口如实钉在台账里。

一、基线

项 值
记录时间 2026-10-08 10:05(本地时钟)
记录角色 前端执行代理(只读核实与探测)
联调环境 baseUrl http://192.168.110.96:8301(实测可达)
后端仓库 / 分支 / 提交 http://192.168.110.30:3000/shaoy/pipe-ner-server / master / 5b53a6d
后端推送状态 未核实;工作区有 1 项未提交改动(CockpitFreshnessSemanticsControllerTest.java)
前端仓库 / 分支 / 提交 http://192.168.110.30:3000/ChenJZ/City-Lifeline-Cockpit / master / f6288e0
前端推送状态 未核实;工作区有 55 项未提交改动(含本图 5 张票与地图、票 25 等)
访问控制 驾驶舱只读 REST 与 WS 免鉴权(ADR 0005 修订);实测无凭据 HTTP 200
只读数据源 本地联调实例的只读快照;readOnly: true
目标部署 192.168.110.30:8301 移出本阶段(不参与状态判定)

二、收口条件五行

# 条件 状态 证据 未完成项
① 后端提交 / 编译 / 契约测试 未完成 后端 git status 有 1 项未提交;本阶段未运行 Maven 提交改动并跑编译/契约测试
② 状态筛选与 MANHOLE 跨端 未完成 实测 GET /map-snapshot?pointStatus=ALARM 与不传返回完全相同(total=13、monitoringPoints=2)→ 后端忽略 pointStatus 按规格 07 实现多值 pointStatus(含 UNKNOWN/UNASSOCIATED)
③ createdAt 数据时间 未完成 三端点响应字段枚举均无 createdAt;distribution.pointStatusDistribution 仅 6 项(六态) 按规格 08 补三端点字段(含信封级 + 逐对象级)
④ real 生命周期 未完成 前端 real 分支启动逻辑尚未接线(规格 09 待实施);工作区有未提交改动 按规格 09 接线并验证
⑤ 真实环境 / 访问控制 / 数据快照 + 走查 部分完成 本地环境可达、免鉴权实测 200(foundation/map-snapshot/三监测端点全部 200);走查未执行 执行前端 real 走查(AGENTS 规则下需维护者授权)

三、实测记录(可复制命令与结果)

命令:

$base='http://192.168.110.96:8301/api/cockpit/v1'
Invoke-WebRequest "$base/foundation" -UseBasicParsing
Invoke-WebRequest "$base/map-snapshot?page=1&pageSize=2" -UseBasicParsing
Invoke-WebRequest "$base/map-snapshot?page=1&pageSize=2&pointStatus=ALARM" -UseBasicParsing
Invoke-WebRequest "$base/monitoring/overview" -UseBasicParsing
Invoke-WebRequest "$base/monitoring/distribution?page=1&pageSize=2" -UseBasicParsing
Invoke-WebRequest "$base/monitoring/situation?page=1&pageSize=2" -UseBasicParsing

结果:

端点 HTTP 关键实测值
/foundation 200 mapFrame.state=READY、renderable=true、freshness.status=FRESH、readOnly=true
/map-snapshot(默认) 200 total=13、本页 monitoringPoints=2、unassociatedEquipment=0、snapshotAt 与 coordinateValidation 齐备
/map-snapshot?pointStatus=ALARM 200 与不传完全一致(total=13) → pointStatus 被忽略
/monitoring/overview 200 counts.monitoringPointCount=0、counts.equipmentCount=7;无 createdAt
/monitoring/distribution 200 pagination.total=0;pointStatusDistribution 6 项;无 createdAt
/monitoring/situation 200 pagination.total=7;abnormalEquipment 有数据;无 createdAt

数据稀疏事实(如实记录,不当作缺陷):/monitoring/overview 的监测点数为 0 而设备数为 7;/monitoring/distribution 分页总数为 0 而 /monitoring/situation 异常设备为 7。各端点口径不同,联调时不得互相冒充。

四、真人验收

未执行。 本卡片不宣称任何人工验收结论。后续按决策票 01 的口径,由真人团队用真实设备报警走完整流程;届时在本节记录场景、参与角色、时间、结论与可见结果(截图/录屏路径)。

五、未完成项与补齐条件

  1. 提交门槛:后端 1 项、前端 55 项未提交改动 → 补齐条件:本地联调通过后提交并推送到 Gogs。
  2. 规格 07(状态筛选):pointStatus 被忽略(实测) → 补齐条件:后端实现多值入参并在 mapFilter 回显;前端接多选状态栏。
  3. 规格 08(数据时间):三端点无 createdAt → 补齐条件:按规格补信封级 + 逐对象级字段。
  4. 规格 09(real 生命周期):real 分支未接线 → 补齐条件:按规格实施并走查。
  5. 走查:未执行 → 补齐条件:维护者授权后执行前端 real 走查。

六、状态判定

当前状态:① 接口 200(已达成);② 契约已接(未达成)。

依据:免鉴权只读接口实测全部 200 且 readOnly: true,满足①;但规格 07/08 的新契约字段均不在响应中(pointStatus 被忽略、无 createdAt),因此不能声称契约已接,更不能进入③「真实数据联调完成」。

七、关联