# 开发日志:2026-06-16 M00 V5 基线核验 ## 范围 - 接入 `V5.0.md` 作为当前权威总纲。 - 恢复 `V4.8.md` 为上一版历史备份。 - 新增 `docs/current-baseline.md`,按当前仓库事实校准模块完成度。 - 新增 `docs/local-dev-mqtt.md` 和 `scripts/dev/wsl/check-local-mqtt.sh`,固化 WSL 本地 MQTT 服务级核验。 - 升级 `scripts/dev/wsl/mqtt-smoke.sh`,新增 MQTTX CLI 认证/ACL 冒烟入口、可选 TLS/遗嘱/重复消息探测入口和 Git 忽略的本地账号配置样例。 - 补齐 `check-emqx.sh`、`start-emqx.sh`、`stop-emqx.sh` 三个 V5.0 点名的 WSL 本地 EMQX 辅助脚本入口。 ## 复用/改写/弃用判断 - 复用已有 M00 部署脚本、检查脚本和文档,不重新初始化项目。 - 正式后端、后台、小程序和数据库迁移仍只有骨架,不把目录存在误判为 DONE。 - WSL 本地 EMQX 仅作为开发 Broker,不替代生产 `101.42.38.246` 验收。 ## 部署影响 有。新增本地 MQTT 核验脚本和 WSL 辅助脚本入口,不改动生产部署脚本,不安装或重置 EMQX。 ## 测试记录 - WSL 本地 MQTT 服务级核验:EMQX 包版本 `5.8.9`,服务 `active/enabled`,MQTTX CLI `/usr/local/bin/mqttx` 版本 `1.13.0`,端口 `1883/8883/8083/8084/18083` 均监听。 - MQTT 冒烟脚本:已执行;未配置本地账号时输出 `SKIP`,不误报认证/ACL 通过。 - MQTT 配置自检:新增 `--check-config`,本地账号存在时只确认配置,不打印口令;修正示例中的 `'$SYS/#'` 引号,已验证示例可在 `set -u` 下安全加载。 - MQTT 高级探测入口:新增默认关闭的 `QIPAI_MQTT_ENABLE_TLS_SMOKE`、`QIPAI_MQTT_ENABLE_WILL_SMOKE`、`QIPAI_MQTT_ENABLE_IDEMPOTENCY_SMOKE`。无本地账号时仍输出 `SKIP`;有账号后可生成 TLS 发布、遗嘱观测尝试和重复 `idempotencyKey` 发布证据。 - WSL EMQX 辅助脚本:新增 `check-emqx.sh` 复用服务级基线检查,`start-emqx.sh`/`stop-emqx.sh` 仅管理本地 EMQX systemd 服务;脚本不安装、不降级、不重置 EMQX。 - 敏感信息检查:已调整规则,空示例变量和 shell 参数展开不再误报,真实非占位长值仍会报警;`check-secrets.ps1` 通过。 - Git 历史敏感模式扫描已执行,只记录命中提交,不输出秘密值。 ## 风险 - MQTT 认证账号、错误密码拒绝、ACL 越权拒绝、TLS、遗嘱消息和重复消息幂等尚未真实测试;当前只补齐了可选脚本入口。 - 本地 `admin` 调试账号的具体用途尚未区分 Dashboard 与 MQTT 客户端认证;口令不得写入 Git。 - WSL 服务级健康不代表生产 Broker 或真实硬件联调完成。