docs: 补回合并时丢失的 ruff 基线;合并主干 6 提交(含架构师对我疏漏的修正)
## 1. 补回被我丢失的门禁条目 主干 `AGENTS.md` 原本有一条 `ruff` 干净,但我在解决 `AGENTS.md` 冲突时**只保留了自己的 mypy/pytest 基线,把这条丢了** —— 合并时丢信息,和代码冲突一样是缺陷。 本次补回,并把命令写准(这点很重要): - `ruff check app tests tools alembic` → **`All checks passed`(0 错)** - 直接 `ruff check .`(全仓)会报 **40 个错,全部来自仓库根目录的 `hq.py` / `nl2sql_yc.py`** (袁聪线的演示脚本,不属本项目包结构) 所以"ruff 干净"**必须带范围**,否则会和别人的脚本混在一起、把一个健康状态误报成 40 个错。 ## 2. 我的一个真实疏漏(已由架构师修正,本次合并带入) 架构师提交 `ffbcc22`:**`fix: 删掉 NL 合并后残留的未使用变量 role_ids(ruff F841)`** 该疏漏是我引入的:改 `tools/seed_test_rbac.py` 时把 `zip(user_ids, role_ids, strict=True)` 换成显式配对表 `USER_ROLES`,删掉了 `user_ids` 却**没删 `role_ids`**。根因是**我全程没跑过 ruff** —— 项目门禁里有它, 只跑 mypy 和 pytest 是不够的。 已在本机复跑 `ruff check app tests tools alembic` 确认:我改过的文件全部干净 (`role_ids` 已随主干修正进来)。 ## 3. 合并主干 6 提交 `fedbf5a..c8cdc06`,含上条修正与投顾线的行情双源、验收归档等,**无冲突**。 ## 验证 - `ruff check app tests tools alembic` → `All checks passed` - `mypy app` → 0 错 / 245 文件 - `pytest tests`(全量)→ `2 failed, 1421 passed, 1 skipped` (2 个失败为既有环境项:httpx 把中文序列化成 `\uXXXX`,非本次引入)
This commit is contained in:
@@ -117,13 +117,19 @@
|
||||
**新增模型前先搜一遍 `__tablename__` 有没有被占用。**
|
||||
- 测试基线(**2026-09-12 合并主干 PR #7 + 本线记忆投影链路之后实测**):
|
||||
`mypy app` → **245 个文件 0 错**;
|
||||
`pytest tests`(全量)→ `2 failed, 1415 passed, 2 skipped`;
|
||||
`pytest tests`(全量)→ `2 failed, 1421 passed, 1 skipped`;
|
||||
`pytest tests/integration` → `102 passed, 1 skipped`。
|
||||
⚠️ **用例数会随开发增减,判断健康看"0 failed"而不是看绝对值**。
|
||||
剩下那 2 个失败**都不是代码缺陷**,接手时不要"修"它们:
|
||||
那 2 个失败**都不是代码缺陷**,接手时不要"修"它们:
|
||||
`tests/unit/service/test_offsite_document_recognition_adapter.py` 的 2 个用例 —— **环境相关**:
|
||||
它们断言请求体里是中文原文,而 httpx 会把中文序列化成 `\uXXXX`,字节序列自然不匹配。
|
||||
功能无影响;若要修,正确做法是断言 `json.loads(body)` 后的字段值(字节级断言不该用来测 JSON)。
|
||||
- **`ruff`:`ruff check app tests tools alembic` → 全部 `All checks passed`(0 错)。**
|
||||
⚠️ **检查范围要写对**:直接 `ruff check .`(全仓)会报 40 个错,**全部来自仓库根目录的两个
|
||||
散落脚本 `hq.py` / `nl2sql_yc.py`**(袁聪线的演示脚本,不属本项目包结构)。
|
||||
所以门禁命令用上面那条;报"ruff 干净"时**必须带范围**,否则会和别人的脚本混在一起。
|
||||
(`pyproject.toml` 的 `[tool.ruff.lint]` 选的是 `E,F,I,B,UP`、`line-length=100`;
|
||||
`tools/*.py` 另配了 `E501/I001/B007` 的 per-file-ignores。)
|
||||
- **mypy:`mypy app` → `Success: no issues found in 245 source files`(0 错)。**
|
||||
⚠️ 曾在本机报 184 个错,**已查明是环境版本旧**,与代码质量无关 —— 复现矩阵:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user