Files
hepu/docs/handover/00_包内容与使用说明.md
T
aomin a7605ef8b8 chore(repo): 导入 M-Z 业务底座 V1.9 基线并建立仓库规范
按周工交付的 SEC-Z-01 清理后源码建立 M-Z 主干,并按 Git 仓库惯例重排目录。

- aomin-gateway/  后端工程 87 文件,原样保留,路径与构建命令未变
- demo/           演示前端与设备模拟器 9 文件(原 02_前端与设备端),非正式三端
- docs/handover/  交付与安全清理材料 6 份,内容未改
- docs/contract/  J-00 规格、OpenAPI、内部五接口、状态机、Mock 样例
- docs/reference/ 指纹与校验清单,含 84 个源码文件的 sha256 清单

目录重排只动位置不动内容:源码树 84 文件哈希与交付一致,逐文件自校验通过;
12 条 Flyway 迁移与交付包内镜像逐字节一致。

未纳入:迁移镜像目录(与工程内一套重复,改留指纹)、target/、证据 raw、
应急恢复脚本、评审用虚构台账数据。

安全:SEC-Z-01 15 处明文已清零,导入前重新扫描无新增命中,本仓库无历史污染。
行尾按交付字节原样保存(.gitattributes 设 * -text),不做归一化以免整树摘要失效。
2026-11-13 17:32:37 +08:00

80 lines
4.2 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.
# 包内容与使用说明
> 本包是 **M-Z 业务底座的受控源码**(SEC-Z-01 清理后),只覆盖中段业务层,不含其他段的东西。
> 用途:陈工按 AM-S1-GOV-020 §6.2(1) 接收此源码,建立唯一主干。
---
## 一、包里有什么(108 个条目)
| 目录 / 文件 | 数量 | 是什么 |
|---|---|---|
| `aomin-gateway/` | 87 | **M-Z 业务层完整 Maven 工程**:`pom.xml`、`src/main`(84 个文件:controller / service / dao / biz / engine / 迁移脚本 / 配置)、`README.md`、`start-gateway.bat` |
| `03_数据库与Flyway迁移/` | 13 | **迁移镜像**:12 条 SQL(V1.0.0~V1.0.28)+ 迁移说明。与 `aomin-gateway/src/main/resources/db/migration` **逐字节一致**,供"应用与镜像同源"核对 |
| `04_OpenAPI与内部IoT契约/` | 6 | J-00 接入接口规格(md + OpenAPI yaml)、内部五接口定义、状态机、Mock 样例、使用说明 |
| `01_SEC-Z-01_最小安全清理差异清单.md` | 1 | 15 处明文逐处改了什么 |
| `02_SEC-Z-01_敏感信息扫描报告.md` | 1 | 扫描范围、结果、复算方法、盲区、轮换结论 |
| `03_Z-02_清理后哈希与构建说明.md` | 1 | 清理前后指纹、构建步骤、入库顺序(**先清后推**) |
| `04_155条证据适用边界.md` | 1 | 155 条重跑结果,以及**它不能证明什么** |
| `gitignore_建议.txt` | 1 | 建主干时直接用的 `.gitignore` |
| `SHA256SUMS_包内.txt` | 1 | 包内文件哈希,解压后在包根执行 `sha256sum -c` 即可校验 |
---
## 二、包里**没有**什么,为什么
| 没给 | 原因 |
|---|---|
| `02_前端与设备端源码`(8 文件,演示前端) | 三端由陈工按 §6.2(3) 统一接入。这是评审用演示前端,给了反而分不清哪套是主干。**需要对照可以单独要** |
| `06_统一闭环题自测证据/raw`(12 份结果 JSON、11 份日志) | 体积大、每轮重跑全变。证据按受控目录交付,不进代码主干;要复跑见 `04` 里的命令 |
| `99_应急恢复(非正式路径)` | 明确是应急手段,不是主干迁移序列。给进去容易被当成常规路径 |
| `评审用虚构台账数据.sql` | 演示数据,不属于主干 |
| `09_代码与版本/SHA256SUMS.txt`(131 项全包清单) | 那是整个评审包的清单,路径以评审包为根;本包用 `SHA256SUMS_包内.txt`,路径与包内一致,可直接校验 |
| 明文口令 | 已按 SEC-Z-01 清空,**一个字符都没有** |
---
## 三、怎么用(三步)
```bash
# 1) 校验(在解压后的包根)
sha256sum -c SHA256SUMS_包内.txt
# 2) 编译(JDK 21;离线仓库按你们环境改)
cd aomin-gateway
mvn -o -q -s <settings.xml> -DskipTests clean package
# 产物 target/aomin-gateway-0.0.1-SNAPSHOT.jar,约 43.5 MB
# 3) 启动(必须带 DB_PASS,否则启动中止、退出码 1)
set DB_PASS=<口令>
java -jar target/aomin-gateway-0.0.1-SNAPSHOT.jar --server.port=8080 --server.address=0.0.0.0
curl http://127.0.0.1:8080/health
# 预期 db=connected、tables=87、flyway=1.0.28、status=UP
```
---
## 四、建主干前必读的两条
**① 顺序不能反:先清后推。**
当前目录**不是 git 仓库**,是干净起点。`git init` 必须在 15 处清理完成之后——一旦推上去,即使删除文件,第一条提交里仍有明文,只能重写全部历史。详见 `03_Z-02_清理后哈希与构建说明.md` §4.2。
**② 迁移只有一套序列。**
`aomin-gateway/src/main/resources/db/migration` 与 `03_数据库与Flyway迁移/` 是同一套 12 条的两次出现,**不是两套**。主干只保留一套默认序列;若两者路径必须二选一,以应用内那份为准,镜像目录作对照。
---
## 五、已知边界(不让接收方误判)
| 项 | 状态 |
|---|---|
| A-Z-01/02/03 | **未关闭**。作者自测通过,仍需接收方复验签认;本包不构成关闭 |
| 并发 PULL | 未覆盖(`v20` 是串行 10 条),由谢工按完整矩阵补测 |
| 真机 | 未覆盖,等黄工真机窗口 |
| 前端三端 | 不在本包范围 |
| 口令轮换 | **未轮换**,登记为待确认(见 `02` §4) |
---
*对应 GOV-020:Z-01(差异+扫描+轮换结论)、Z-02(哈希+构建说明+155 条边界)。*