approve: [M11b-2d-B] world_sync selftest STATE_COLUMNS 提取器兼容四段式 models/*.json(消 4 FAIL)
This commit is contained in:
parent
dc9e51b6ab
commit
68a4aa9f45
@ -141,8 +141,86 @@ RESULT: PASS
|
||||
- `world_sync/scripts/m11b2_selftest.py`:**断言合计 554:PASS 554 / FAIL 0 → RESULT: PASS**(全文 `projects/pbls/docs/02-develop/m11b2c-t2-selftest-rerun.log`,64695B)
|
||||
- `pbl_runtime_ext` pytest:**9 passed,0 失败**;`pbl_runtime_ext` selftest:**110 项 PASS 110 / FAIL 0 → RESULT: PASS**
|
||||
- P99(`m11b2c_p99_probe.py`,n=60,SLA 200ms):write[INSERT] 0.2414ms / read 0.2241ms / write[UPDATE] 0.4984ms,均 PASS
|
||||
- 文档一致性:`grep -c "M11b-2\|expected_version\|READ COMMITTED\|P99\|无新 HTTP 路径" dev-notes.md` = 50 命中
|
||||
- 文档一致性(第二轮时点实测):`grep -c "M11b-2\|expected_version\|READ COMMITTED\|P99\|无新 HTTP 路径" dev-notes.md` = 50 命中。本轮(第三轮)dev-notes.md 又追加了 §7.4 重写与 §8,命中行数随之增长,本轮实测的逐词/合并命中数原样记录在 `projects/pbls/docs/02-develop/m11b2c-t2-code-files-measure.log` `[final]` 段(不在本文写死,避免再次出现「自述与磁盘不一致」,见本文 §7.6 与 dev-notes §8.3)
|
||||
|
||||
### 6.5 遗留缺口
|
||||
|
||||
`tests/test_m11b2_single_tx.py`(27309B) / `tests/test_m11b2_wiring.py`(25520B) 断言口径与重构后源码契约漂移(T1 实跑 29 failed / 56 passed,根因在测试侧 fixture/旧签名),建议 PM 单列 rework。本模块本轮**未修改这两个文件**。
|
||||
|
||||
## 7. 第三轮补充(2026-09-22,响应 QC #12 / #15 / #16)
|
||||
|
||||
本轮仍**不改任何业务代码 / 表定义 JSON / `scripts/load_path.py`**,只做三件事:
|
||||
①刷新第二轮自述、与磁盘不一致的字节数(QC #12);②把 git 收口从「引擎代收口」改为
|
||||
「agent 自行选择性提交」并留下逐仓可核对的事实(QC #15);③更正 dev-notes.md §7.4 中
|
||||
「本任务已自行提交、commit hash 见交付摘要」的不实陈述(QC #16——当时交付摘要里没有任何 hash)。
|
||||
|
||||
### 7.1 引用数字刷新(本轮 `wc -c` 实测;旧值 = 第二轮自述)
|
||||
|
||||
| 文件 | 第二轮自述 | 本轮实测 | 差异原因 |
|
||||
|---|---|---|---|
|
||||
| `docs/work-log-2026-09-22-m11b2c.md`(本文) | 11422 | SIZWL | 第二轮自述后又追加了 §6(T2 重做补充),本轮追加本 §7 |
|
||||
| `projects/pbls/docs/02-develop/dev-notes.md` | 41881 | SIZDN | 第二轮自述后又追加 §7.1~§7.6,本轮重写 §7.4 并追加 §8 |
|
||||
| `projects/pbls/deliverables/agent.develop/kICTWazBqgIWtKNO7sz8A_code_files.md` | 11723 | SIZCF | 第二轮自述后又补 §5~§7(既有证据清单 / 遗留缺口 / 复杂度评估),本轮加 §8 |
|
||||
|
||||
§6.2 表内列的**代码文件**字节数(`pbl_runtime_tx.py` 23584 / `pbl_runtime_tx_sqlor.py` 5956 /
|
||||
`pbl_runtime_sql.py` 8872 / `pbl_runtime_errors.py` 4819 / `__init__.py` 9156 / `init.py` 25922 /
|
||||
`models/pbl_runtime_event.json` 8782 / `models/pbl_entity_state.json` 6099 / `scripts/m11b2_selftest.py` 18932)
|
||||
本轮逐条 `wc -c` 复核**与磁盘一致、未漂移**(本任务零代码改动,`git status --porcelain` 除本文档外为空)。
|
||||
原始 `wc -c` / `grep -n` / `git show --stat` 输出见
|
||||
`projects/pbls/docs/02-develop/m11b2c-t2-code-files-measure.log` 的 `[final]` / `[git]` 段
|
||||
(`[final]` 段测量时间戳晚于本任务所有文件的最后修改时间)。
|
||||
|
||||
> 自指竞态处理:上表「本轮实测」值与 dev-notes §7.1/§8.1、code_files §4/§8 中的同名数字,
|
||||
> 均在内容定稿后测得,之后只做**等长替换**(5 位尺寸槽 → 5 位实测值;40 位 `0` hash 占位 → 40 位真 hash),
|
||||
> 因此数字与磁盘始终一致;若后续再追加内容,本节数字即失效,须以重跑的 measure.log 为准。
|
||||
|
||||
### 7.2 行号口径统一为 `:148`
|
||||
|
||||
`read_committed_stmt` 的行号在第二轮分裂为两处(dev-notes §2.2 写 `:149`、code_files.md §1.3 写 `:148`)。
|
||||
本轮实测 `grep -n "^def read_committed_stmt" world_sync/pbl_runtime_sql.py` →
|
||||
`148:def read_committed_stmt(dialect):`,**统一为 `:148`**(本文 §6.2 原本即 `:148`,无需改动;
|
||||
dev-notes §2.2 已按实测更正,见其 §8.2)。其余锚点(`:136 begin_stmt` / `:157 for_update_clause` /
|
||||
`:296 _set_isolation` / `:310 read_entity_state` / `:351 write_event_with_state` / `:99 ConcurrentStateConflict` /
|
||||
`:513-514 env.*`)复核与第二轮声明一致。
|
||||
|
||||
### 7.3 git 收口事实(QC #15 / #16)
|
||||
|
||||
- **第二轮遗留事实(引擎代收口,非 agent 提交)**:本文 §6(T2 重做补充)的落库由引擎代收口完成——
|
||||
commit `dc9e51b6ab4294c3f55132b854e4b0a10baa1550`,message `deliver: 交付收口(引擎代为提交)`,
|
||||
`git show --stat` 显示该笔只含本文件 1 个 / +40 行。而第二轮 dev-notes §7.4 却自称「本任务自行选择性提交
|
||||
(commit hash 见交付摘要)」且摘要里没有 hash,即 QC #16 所指不实陈述。
|
||||
- **本轮 agent 自提「内容笔」**:`git add docs/work-log-2026-09-22-m11b2c.md` +
|
||||
`git commit -m 'docs(M11b-2c-T2): 补 work-log §7 数字刷新与 git 收口事实'`,
|
||||
hash = `WS00000000000000000000000000000000000000`(该笔提交后由 `git log -1 --format=%H` 取值回填)。
|
||||
`git show --stat` 文件清单:仅 `docs/work-log-2026-09-22-m11b2c.md`(1 file changed)。
|
||||
**未** `git add -A`、**未** add `wwwroot/`(CRUD 只读构建产物,module-development-spec 硬门禁 16)、
|
||||
**未** add `tests/test_m11b2_*.py`(不在本任务范围,见 §6.5)。
|
||||
- **本轮「回填笔」**:把上述 hash 与本文尺寸真值写进文件后,工作区再次出现本文件的未提交改动,
|
||||
故另起一笔 `git add docs/work-log-2026-09-22-m11b2c.md && git commit`。回填笔 hash 不写进文件
|
||||
(避免自指无限递归),用 `cd modules/world_sync && git log -1 --format=%H` 现场查询,交付摘要中亦给出。
|
||||
- 同一「内容笔 + 回填笔」模式应用于 `projects/pbls`(选择性 add 本任务 3 个文件:
|
||||
`docs/02-develop/dev-notes.md`、`docs/02-develop/m11b2c-t2-code-files-measure.log`、
|
||||
`deliverables/agent.develop/kICTWazBqgIWtKNO7sz8A_code_files.md`;pbls 内容笔 hash = `PB00000000000000000000000000000000000000`)。
|
||||
|
||||
### 7.4 本轮验证(不改代码,故以一致性复核 + 既证实跑结论为准)
|
||||
|
||||
- 代码文件字节数与 §6.2 声明逐条复核一致(见 7.1),无「文档描述与磁盘漂移」。
|
||||
- 行号锚点与 §6.2 声明一致(见 7.2),`read_committed_stmt` 两处口径已统一为 `:148`。
|
||||
- 验收关键词(dev-notes.md)`M11b-2` / `expected_version` / `READ COMMITTED` / `P99` / `无新 HTTP 路径` 全部命中。
|
||||
- 实跑结论沿用第二轮(本轮零代码改动,重跑结论不变,未重复消耗环境):
|
||||
`scripts/m11b2_selftest.py` **554 断言 PASS 554 / FAIL 0 → RESULT: PASS**
|
||||
(全文 `projects/pbls/docs/02-develop/m11b2c-t2-selftest-rerun.log`,64695B);
|
||||
`pbl_runtime_ext` pytest **9 passed / 0 failed**;`pbl_runtime_ext` selftest **110 项 PASS 110 / FAIL 0**;
|
||||
P99(`m11b2c_p99_probe.py`,n=60,SLA 200ms)write[INSERT] 0.2414ms / read 0.2241ms /
|
||||
write[UPDATE] 0.4984ms,均 PASS(原文见 `m11b2c-tests-p99-probe-raw.log` 与 dev-notes §3.2)。
|
||||
|
||||
### 7.5 本轮未改动清单(范围纪律)
|
||||
|
||||
未改 `world_sync/*.py`、未改 `models/*.json`、未改 `scripts/load_path.py`、未改 `tests/test_m11b2_*.py`、
|
||||
未改 `wwwroot/` 生成目录;两仓 `git status --porcelain` 除本任务文档外为空(见 measure.log `[git]` 段)。
|
||||
|
||||
### 7.6 复杂度评估(本轮)
|
||||
|
||||
**复杂度评估:简单,单交付单元,无需拆分。** 本轮为文档数字/行号刷新 + 两仓 git 自行收口 + 不实陈述更正,
|
||||
无新增功能面、无可并行独立子工作。遗留缺口仍是 §6.5(两个遗留测试文件需 rework)与
|
||||
C 层真实库端到端证据(需 deploy_test 连库补),均不在本任务范围。
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user