CM93 MySQL importer validated baseline
This commit is contained in:
61
AGENTS.md
Normal file
61
AGENTS.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# Codex / AI Agent 项目规则
|
||||
|
||||
## 当前目标
|
||||
|
||||
第一阶段已经具备 `CM93 → MySQL` 完整导入与审计代码。当前工作是用真实 `CM93JAPAN` 数据运行、诊断和修复实际兼容问题。
|
||||
|
||||
**不要提前实现 PBF。**
|
||||
|
||||
## 固定基线
|
||||
|
||||
- Windows 11
|
||||
- Python 3.12.10
|
||||
- MySQL 5.7.34-log
|
||||
- CM93 根目录:`D:\Ship\CM93V2\CM93JAPAN`
|
||||
- DB Schema:`sql/001_schema_mysql57.sql`
|
||||
|
||||
## 不可破坏规则
|
||||
|
||||
1. 禁止 MySQL 8 专用 SQL。
|
||||
2. 禁止 float32 存最终经纬度。
|
||||
3. 禁止 importer simplify/snap/quantize/round geometry。
|
||||
4. 禁止自动 make_valid 后覆盖原 Polygon。
|
||||
5. raw decoded tables、raw feature、raw attribute 必须可保留。
|
||||
6. `_wgsox/_wgsoy` 必须保存。
|
||||
7. 每个 feature 必须可追溯 dataset/cell/source_record_index。
|
||||
8. 未知 object/attribute 不得静默跳过;无法确定长度时 cell 必须 FAILED。
|
||||
9. parser 任一 header/count/EOF 不一致时 cell 必须 FAILED。
|
||||
10. 每个 cell 独立事务;失败不得破坏其他 DONE cell。
|
||||
11. DONE cell 支持续导跳过。
|
||||
12. 不复制 OpenCPN GPL 源文件或类实现;保持独立实现。
|
||||
13. PBF 不属于当前阶段。
|
||||
|
||||
## 实际运行顺序
|
||||
|
||||
```powershell
|
||||
cm93db env-check
|
||||
cm93db db-check
|
||||
cm93db scan
|
||||
cm93db inspect-dicts
|
||||
cm93db import --scale G --limit 10
|
||||
cm93db audit --scale G --limit 10 --precision-samples 32
|
||||
```
|
||||
|
||||
Pilot PASS 后再全量。
|
||||
|
||||
## 修复要求
|
||||
|
||||
发现失败时,优先保留一个具体失败 cell 作为回归输入,并报告:
|
||||
|
||||
- cell 路径
|
||||
- parser stage
|
||||
- byte position/record index
|
||||
- header source counts
|
||||
- 实际异常
|
||||
- 修改前后审计结果
|
||||
|
||||
不得通过 catch-and-skip 使任务“看起来完成”。
|
||||
|
||||
## 文档
|
||||
|
||||
项目说明、报告、设计记录使用中文;代码稳定标识符、数据库字段使用英文。
|
||||
Reference in New Issue
Block a user