Files
qipai/docs/devlogs/2026-06-16-M00-V5-基线核验.md
2026-06-16 14:46:03 +08:00

4.0 KiB
Raw Permalink Blame History

开发日志:2026-06-16 M00 V5 基线核验

范围

  • 接入 V5.0.md 作为当前权威总纲。
  • 恢复 V4.8.md 为上一版历史备份。
  • 新增 docs/current-baseline.md,按当前仓库事实校准模块完成度。
  • 新增 docs/local-dev-mqtt.mdscripts/dev/wsl/check-local-mqtt.sh,固化 WSL 本地 MQTT 服务级核验。
  • 升级 scripts/dev/wsl/mqtt-smoke.sh,新增 MQTTX CLI 认证/ACL 冒烟入口、可选 TLS/遗嘱/重复消息探测入口和 Git 忽略的本地账号配置样例。
  • 补齐 check-emqx.shstart-emqx.shstop-emqx.sh 三个 V5.0 点名的 WSL 本地 EMQX 辅助脚本入口。
  • 强化 scripts/dev/windows/check-repo-completeness.ps1,将仓库完整性从提示型检查升级为提交前门禁,并接入 scripts/dev/windows/test-all.ps1
  • 调整 scripts/dev/windows/push-module.ps1,改为先暂存显式路径、再执行完整性门禁和测试,避免新增文件被门禁误拦截。
  • scripts/setup/deploy-business.sh 新增 --dry-run release manifest 输出,并新增 Windows 结构检查脚本。
  • 新增 scripts/dev/windows/check-status-docs.ps1,校验功能/模块状态枚举并拦截临时占位。

复用/改写/弃用判断

  • 复用已有 M00 部署脚本、检查脚本和文档,不重新初始化项目。
  • 正式后端、后台、小程序和数据库迁移仍只有骨架,不把目录存在误判为 DONE。
  • WSL 本地 EMQX 仅作为开发 Broker,不替代生产 101.42.38.246 验收。

部署影响

有。新增本地 MQTT 核验脚本和 WSL 辅助脚本入口,不改动生产部署脚本,不安装或重置 EMQX。

测试记录

  • WSL 本地 MQTT 服务级核验:EMQX 包版本 5.8.9,服务 active/enabledMQTTX 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_SMOKEQIPAI_MQTT_ENABLE_WILL_SMOKEQIPAI_MQTT_ENABLE_IDEMPOTENCY_SMOKE。无本地账号时仍输出 SKIP;有账号后可生成 TLS 发布、遗嘱观测尝试和重复 idempotencyKey 发布证据。
  • WSL EMQX 辅助脚本:新增 check-emqx.sh 复用服务级基线检查,start-emqx.sh/stop-emqx.sh 仅管理本地 EMQX systemd 服务;脚本不安装、不降级、不重置 EMQX。
  • 仓库完整性门禁:check-repo-completeness.ps1 现会检查必备文件是否 tracked、是否存在意外 untracked、嵌套 Git、.gitmodules、被跟踪的秘密/依赖/构建/备份/日志/上传文件,以及 main...origin/main 是否一致。
  • 模块推送脚本:push-module.ps1 现要求显式 -Paths 存在并先暂存,再运行 test-all.ps1 和敏感信息检查,随后 commit、push 并校验远端。
  • Release manifestdeploy-business.sh --dry-run . 可输出当前 HEAD 的 dry-run JSONcheck-release-manifest.ps1 已验证 commit=HEADbranch=maindeployed=false 和跳过构建/迁移字段。
  • 状态文档门禁:check-status-docs.ps1 可检查 docs/feature-status.mddocs/module-status.md 只使用 V5.0 允许状态,并拦截推送后不应遗留的临时占位。
  • 敏感信息检查:已调整规则,空示例变量和 shell 参数展开不再误报,真实非占位长值仍会报警;check-secrets.ps1 通过。
  • Git 历史敏感模式扫描已执行,只记录命中提交,不输出秘密值。

风险

  • MQTT 认证账号、错误密码拒绝、ACL 越权拒绝、TLS、遗嘱消息和重复消息幂等尚未真实测试;当前只补齐了可选脚本入口。
  • 本地 admin 调试账号的具体用途尚未区分 Dashboard 与 MQTT 客户端认证;口令不得写入 Git。
  • WSL 服务级健康不代表生产 Broker 或真实硬件联调完成。