按决策票 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 的口径,由真人团队用真实设备报警走完整流程;届时在本节记录场景、参与角色、时间、结论与可见结果(截图/录屏路径)。
pointStatus 被忽略(实测) → 补齐条件:后端实现多值入参并在 mapFilter 回显;前端接多选状态栏。createdAt → 补齐条件:按规格补信封级 + 逐对象级字段。当前状态:① 接口 200(已达成);② 契约已接(未达成)。
依据:免鉴权只读接口实测全部 200 且 readOnly: true,满足①;但规格 07/08 的新契约字段均不在响应中(pointStatus 被忽略、无 createdAt),因此不能声称契约已接,更不能进入③「真实数据联调完成」。