Files
qipai/docs/current-baseline.md
T
2026-06-18 10:51:14 +08:00

41 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前开发成果基线
> V5.0 首次核验日期:2026-06-16
> audited_commit: `caacc78`
> next_engineering_target: M02-D 建立用户与员工管理、角色分配、禁用和审计
> 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。
## 总体结论
| 范围 | 当前状态 | 证据 | 结论 |
|---|---|---|---|
| 总纲版本 | V5.3 已成为当前权威总纲,V5.2/V5.1/V5.0/V4.8 已保留为历史备份 | 根目录存在 `V5.3.md``V5.2.md``V5.1.md``V5.0.md``V4.8.md` | 可继续按 V5.3 的执行游标开发 |
| Git 远端 | `origin=ssh://git@git.txyundm.cn:2222/panda/qipai.git`,分支 `main` | `git rev-list main...origin/main``0 0` | 本地与远端同步 |
| 正式后端 | 已完成 Fastify、迁移兼容、outbox/worker、多应用租户、微信身份/会话,以及六角色 RBAC 和门店范围 | `backend/src/auth/**``database/migrations/2026061805_m02c_rbac.*.sql``backend/tests/**` | M01、M02-A/B/C DONEMySQL 已验证 capability 和跨租户门店授权拒绝;下一阶段 M02-D |
| 后台管理端 | 仅有 `admin/.gitkeep` | 当前文件扫描 | M09 未开始,不能标记 DONE |
| 微信小程序 | Git 中仅有 `miniapp/.gitkeep`;工作区另有未跟踪模板,按 ISSUE-007 隔离 | Git 状态与当前文件扫描 | M08 未开始,模板未审查、未纳管,不能标记 DONE |
| 数据库迁移 | 已新增 M01-B 核心 schema up/down/verify SQL、最小脱敏 seed、旧库结构 fixture、迁移计划/执行 CLI、验证结果数量门禁和 MySQL 8 集成测试 | `database/migrations/2026061601_m01b_core_schema.*.sql``database/seeds/2026061601_m01b_minimal_seed.sql``database/fixtures/2026061801_m01b_legacy_schema.sql``backend/src/db/migration-runner.ts``backend/tests/mysql-migration-roundtrip.test.mjs` | M01-B DONEWSL MySQL 8.4.9 已验证 8 条旧库 fixture、11 条 up、3 条 verify、10 条 down,并验证租户隔离和旧金额整数分转换;不导入真实旧数据 |
| M00 部署脚本 | 已有菜单、状态、HTTPS、Certbot、EMQX、备份检查模板 | `setup.sh``scripts/setup/``deploy/` | PARTIAL,生产未执行 |
| 发布清单 dry-run | 可基于当前 HEAD 输出 `deployed=false` 的 release manifest,记录后端/后台/迁移尚未生成而跳过 | `scripts/setup/deploy-business.sh --dry-run .``scripts/dev/windows/check-release-manifest.ps1` | 可在 M00 验证结构;真实构建与生产发布待 M01/M09 后接入 |
| 参考资料 | 已有清单、脱敏日志、页面/接口/表结构摘要 | `docs/reference-*``docs/db-schema-inventory.md` | PARTIAL,仍需按模块迁移正式实现 |
| 仓库完整性门禁 | 必备文件 tracked、无意外 untracked、无嵌套 Git、无 submodule、无 forbidden tracked 文件、远端一致性、状态文档枚举/占位和空白检查已脚本化 | `scripts/dev/windows/check-repo-completeness.ps1``scripts/dev/windows/check-status-docs.ps1``scripts/dev/windows/test-all.ps1` | 可作为 M00 提交前门禁;参考摘录和生产部署仍未完成 |
| WSL 本地 MQTT | EMQX 5.8.9 active/enabledMQTTX CLI 1.13.0,五端口监听;认证/ACL 冒烟脚本入口、配置自检、可选 TLS/遗嘱/重复消息探测入口和 WSL EMQX 检查/启动/停止入口已生成 | `scripts/dev/wsl/check-local-mqtt.sh``scripts/dev/wsl/check-emqx.sh``scripts/dev/wsl/start-emqx.sh``scripts/dev/wsl/stop-emqx.sh``scripts/dev/wsl/mqtt-smoke.sh` | 服务级可用;未配置本地账号时冒烟脚本 SKIP,认证/ACL/TLS/遗嘱/幂等需配置账号和下游证据后执行 |
## 状态校准
- `docs/module-status.md` 中 M00 仍为 `PARTIAL` 是正确的:生产 Ubuntu 未执行,正式后端/后台/小程序未生成。
- M01-M10 仍未具备可验收业务实现,保持 `TODO``PARTIAL`
- 任何“目录存在”只能证明骨架存在,不能证明模块完成。
## Git 历史敏感信息核验
- 已执行历史模式扫描:`git log --all -G "password|passwd|pwd|secret|token|口令|密码|admin" --oneline -- .`
- 该扫描只记录命中提交,不输出秘密值;命中多集中在部署、EMQX、Certbot 和脱敏参考处理相关提交。
- 当前敏感信息扫描仍以 `scripts/dev/windows/check-secrets.ps1` 为准;如后续确认历史中曾提交本地临时明文口令,必须立即轮换并只记录“已轮换”。
## 下一步
1. 进入 M02-D:实现用户/员工管理、角色分配、禁用、重置会话和审计。
2. 在后续业务事务中使用现有 outbox/任务基础注册真实 handler,不在 M01-C 预造空业务处理器。
3. 评估 Kysely 安全修复版的 Node 22 要求;未升级生产运行时前继续使用 `mysql2/promise`