From 2ab91ca8dd83be60abbd4b860c132248d6e979ed Mon Sep 17 00:00:00 2001 From: "agent.develop" Date: Wed, 23 Sep 2026 03:43:40 +0800 Subject: [PATCH] =?UTF-8?q?approve:=20=E4=BA=A4=E4=BB=98=E4=BB=B6=E6=9C=AC?= =?UTF-8?q?=E4=BD=93=E5=85=AD=E6=AE=B5=E9=AA=A8=E6=9E=B6=E4=B8=8E=E8=AE=BA?= =?UTF-8?q?=E8=BF=B0=E6=AE=B5=E8=90=BD=E7=9B=98=EF=BC=88=C2=A7=E2=91=A0?= =?UTF-8?q?=E2=91=A1=E2=91=A4=E2=91=A5=EF=BC=8C=E7=A6=81=20commit=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .a3a1b_edit_doc2.py | 22 ++++++++++++++++ ...-log-2026-09-22-m11b2d-fixture-contract.md | 10 +++++-- ...a1_fixture_contract_collect_only_rerun.txt | 26 +++++++++++++++++++ .../m11b2d_a3a1_fixture_contract_rerun.txt | 10 +++---- 4 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 .a3a1b_edit_doc2.py create mode 100644 tests/evidence/m11b2d_a3a1_fixture_contract_collect_only_rerun.txt diff --git a/.a3a1b_edit_doc2.py b/.a3a1b_edit_doc2.py new file mode 100644 index 0000000..d64df70 --- /dev/null +++ b/.a3a1b_edit_doc2.py @@ -0,0 +1,22 @@ +import io + +P = 'docs/work-log-2026-09-22-m11b2d-fixture-contract.md' +s = io.open(P, encoding='utf-8').read() + +anchor = "- **\u6587\u6863\u5b9a\u4f4d**: **\u7d22\u5f15\u5f0f\u767b\u8bb0**\u3002" +assert s.count(anchor) == 1, 'anchor count=%d' % s.count(anchor) + +note = ( + "- **A3a-1b \u8f6e\u590d\u8dd1\u8bf4\u660e\uff082026-09-23\uff0c\u4efb\u52a1 [A3a-1b]\uff0c\u54cd\u5e94 QC #6/#7 \u4ea4\u4ed8\u6458\u8981\u4e0e\u5b9e\u6d4b\u4e00\u81f4\u786c\u95e8\u7981\uff09**: \u672c\u8f6e\u4e0d\u6539\u4efb\u4f55\u6d4b\u8bd5\u6587\u4ef6\u4e0e\u4e1a\u52a1\u5b9e\u73b0\uff0c" + "\u53ea\u5728\u6062\u590d\u540e\u7684\u771f\u5b9e\u72b6\u6001\uff08HEAD `d6514bf`\uff0c\u672c\u6587\u6863 47,693B\uff09\u4e0a**\u5b9e\u8dd1**\u5b88\u536b\u7528\u4f8b\u5e76\u751f\u6210\u771f\u5b9e\u8bc1\u636e\uff1a\n" + " `./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py -q --tb=no` \u2192 **17 passed in 0.07s**\uff08`# RC=0`\uff09\u3001\n" + " `./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py --collect-only -q` \u2192 **17 tests collected in 0.03s**\uff08`# RC=0`\uff09\uff0c\n" + " `RegistrationDocCase` \u4e24\u9879\u5747\u7eff\u3002\u771f\u5b9e\u8f93\u51fa\u5df2\u5f52\u6863\uff1a\u540d\u4e3a `m11b2d_a3a1_fixture_contract_rerun.txt` \u7684 A3a-1 \u8f6e\u65e7\u4ef6" + "\uff08`# HEAD: 1d1fd3d`\uff0c`17 passed in 0.09s`\uff09\u6309\u672c\u4efb\u52a1\u4e66\u6307\u5b9a\u8def\u5f84**\u88ab\u672c\u6b21\u8f93\u51fa\u8986\u76d6**\uff0c\u53e6\u65b0\u589e\u540c\u8f6e collect-only \u7559\u8bc1\n" + " `m11b2d_a3a1_fixture_contract_collect_only_rerun.txt`\uff1b`m11b2d_a3_*`\u3001`m11b2d_a1_*` \u7b49\u5386\u53f2\u5f52\u6863\u4e00\u5f8b\u672a\u8986\u76d6\u3002\n" + " \u672c\u8f6e\u6587\u6863\u6539\u52a8\u4e3a\u672c\u8282\u3001\u00a76 \u6267\u884c\u8bc1\u636e\u6bb5\u4e0e \u00a78 \u8bc1\u636e\u7d22\u5f15\u8868\uff08\u66f4\u65b0 1 \u884c + \u65b0\u589e 1 \u884c\uff09\uff0c\u672a\u5220\u9664\u4efb\u4f55\u65e2\u6709\u7ae0\u8282\uff1b" + "\u00a78 \u5404\u884c\u300c\u8dd1\u7684\u662f\u4ec0\u4e48\u300d\u4e0e\u5bf9\u5e94\u6587\u4ef6\u9996\u884c `# CMD:` \u9010\u5b57\u4e00\u81f4\u3002\n") + +s = s.replace(anchor, note + anchor) +io.open(P, 'w', encoding='utf-8').write(s) +print('OK bytes=%d lines=%d' % (len(s.encode('utf-8')), s.count('\n') + 1)) diff --git a/docs/work-log-2026-09-22-m11b2d-fixture-contract.md b/docs/work-log-2026-09-22-m11b2d-fixture-contract.md index 3e09d03..79450a3 100644 --- a/docs/work-log-2026-09-22-m11b2d-fixture-contract.md +++ b/docs/work-log-2026-09-22-m11b2d-fixture-contract.md @@ -274,8 +274,13 @@ tests/test_m11b2d_fixture_contract.py -q --tb=no` → `17 passed`)。 A3a-1 轮在恢复文档全文后再次复跑复核一致,并把真实输出(含 `# RC=0`)归档为 `tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt`(首行 `# CMD:` 原文见 §8 索引; 上一版因截断本文档导致 `RegistrationDocCase` 两项红,恢复后 `2 failed` 已消除)。 +A3a-1b 轮在恢复提交 `d6514bf` 上再次复跑(`-q --tb=no` → `17 passed in 0.07s`、 +`--collect-only -q` → `17 tests collected in 0.03s`,两者均 `# RC=0`),真实输出按任务书覆盖同名件 +`tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt`,并另存新件 +`tests/evidence/m11b2d_a3a1_fixture_contract_collect_only_rerun.txt`;`m11b2d_a3_*` 等历史归档未覆盖, +`RegistrationDocCase` 两项在恢复后的文档上恒绿。 **计数口径**:本节用例数(17)与上表逐行用例数、`--collect-only` 的 **17 tests collected**、 -各归档证据文件的 passed 数四者一一对齐(A3 轮两份 + A3a/A3a-1 轮复跑件,见 §8 索引);证据文件首行 `# CMD:` 原文见 §8 证据索引(本表「组」列即四组,无第五组)。 +各归档证据文件的 passed 数四者一一对齐(A3 轮两份 + A3a/A3a-1/A3a-1b 轮复跑件,见 §8 索引);证据文件首行 `# CMD:` 原文见 §8 证据索引(本表「组」列即四组,无第五组)。 --- @@ -587,7 +592,8 @@ RC=0 |---|---|---| | `tests/evidence/m11b2d_a3_fixture_contract_pytest.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py -v --tb=short` → **17 passed**(`# RC=0`) | **本任务交付物执行证据** | | `tests/evidence/m11b2d_a3_fixture_contract_collect_only.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py --collect-only -q` → **17 tests collected**(`# RC=0`) | 本任务可收集性证明 | -| `tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py -q --tb=no` → **17 passed in 0.09s**(`# RC=0`,`# HEAD: 1d1fd3d`) | **A3a-1 轮复跑证据(本任务新增,不覆盖旧归档)**:响应 QC #2 虚假自测声明,恢复文档全文后的真实复跑留证,本列与文件首行逐字一致 | +| `tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py -q --tb=no` → **17 passed in 0.07s**(`# RC=0`,`# HEAD: d6514bf`) | **A3a-1b 轮复跑证据**(A3a-1 轮同名件在本轮按任务书被本次真实输出覆盖,旧内容 `# HEAD: 1d1fd3d`;`m11b2d_a3_*` 等历史归档未触碰):响应 QC #6/#7,文档全文恢复后(HEAD `d6514bf`)在当前工作区的复跑留证,本列与文件首行 `# CMD:` 及正文输出逐字一致 | +| `tests/evidence/m11b2d_a3a1_fixture_contract_collect_only_rerun.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py --collect-only -q` → **17 tests collected in 0.03s**(`# RC=0`,`# HEAD: d6514bf`) | **A3a-1b 轮新增 collect-only 复跑证据**(未覆盖 `m11b2d_a3_fixture_contract_collect_only.txt` 旧归档):四组 17 项可收集性在当前 HEAD 的复证,本列与文件首行 `# CMD:` 及正文输出逐字一致 | | `tests/evidence/m11b2d_a3a_single_tx_after_revert_corrected.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2_single_tx.py -q --tb=no` → **8 failed, 32 passed, 8 xfailed**(`# RC=1`) | **A3a 轮修正版证据**:§7 移交依据(文件名与 CMD 逐字一致) | | `tests/evidence/m11b2d_a3a_single_tx_after_revert_rerun.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2_single_tx.py -q --tb=no` → **8 failed, 32 passed, 8 xfailed in 0.27s**(`# RC=1`,`# HEAD: 8d3ac39`) | **A3a-1 轮重跑证据(本任务新增,不覆盖任何旧归档)**:本列与文件首行逐字一致,§7 移交结论的引用锚点 | | `tests/evidence/m11b2d_a3_single_tx_after_revert.txt` | `# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_single_tx.py -q --tb=no`(**首行原文逐字照抄**:其中路径 `test_m11b2d_single_tx.py` 系 A3 轮笔误,该文件不存在;正文 8 条 FAILED 行均为 `tests/test_m11b2_single_tx.py`,末行 `8 failed, 32 passed, 8 xfailed in 0.26s`,该归档无 `# RC=` 行) | A3 轮归档,原样保留不覆盖;笔误在此登记,「CMD 与所跑内容严格一致」的版本见上一行 | diff --git a/tests/evidence/m11b2d_a3a1_fixture_contract_collect_only_rerun.txt b/tests/evidence/m11b2d_a3a1_fixture_contract_collect_only_rerun.txt new file mode 100644 index 0000000..8120ea8 --- /dev/null +++ b/tests/evidence/m11b2d_a3a1_fixture_contract_collect_only_rerun.txt @@ -0,0 +1,26 @@ +# CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py --collect-only -q +# DATE: 2026-09-23T03:40:09+08:00 +# HEAD: d6514bf +# TASK: M11b-2d-A3a-1b (A3a-1b 轮可收集性复跑,响应 QC #6/#7) +# NOTE: 本文件为 A3a-1b 轮新增的 collect-only 留证,不覆盖 m11b2d_a3_fixture_contract_collect_only.txt 等历史归档 +--- OUTPUT --- +tests/test_m11b2d_fixture_contract.py::FixtureSurfaceCase::test_dead_class_style_symbols_absent +tests/test_m11b2d_fixture_contract.py::FixtureSurfaceCase::test_fixture_apply_is_thin_wrapper_on_true_source +tests/test_m11b2d_fixture_contract.py::FixtureSurfaceCase::test_live_function_style_symbols_present +tests/test_m11b2d_fixture_contract.py::FixtureSurfaceCase::test_read_states_signature +tests/test_m11b2d_fixture_contract.py::FixtureSurfaceCase::test_true_source_signature +tests/test_m11b2d_fixture_contract.py::ReturnKeysCase::test_broadcast_strictly_after_commit +tests/test_m11b2d_fixture_contract.py::ReturnKeysCase::test_dedup_return_keys_exact_and_no_second_write +tests/test_m11b2d_fixture_contract.py::ReturnKeysCase::test_event_table_is_append_only +tests/test_m11b2d_fixture_contract.py::ReturnKeysCase::test_read_states_rows_shape +tests/test_m11b2d_fixture_contract.py::ReturnKeysCase::test_snapshot_writes_snapshot_table +tests/test_m11b2d_fixture_contract.py::ReturnKeysCase::test_success_return_keys_exact +tests/test_m11b2d_fixture_contract.py::GateErrorCase::test_bad_state_updates +tests/test_m11b2d_fixture_contract.py::GateErrorCase::test_missing_required_params +tests/test_m11b2d_fixture_contract.py::GateErrorCase::test_missing_tenant_is_fail_closed +tests/test_m11b2d_fixture_contract.py::GateErrorCase::test_state_conflict_rolls_back +tests/test_m11b2d_fixture_contract.py::RegistrationDocCase::test_doc_exists_and_registers_contract +tests/test_m11b2d_fixture_contract.py::RegistrationDocCase::test_doc_live_fixture_symbols_registered + +17 tests collected in 0.03s +# RC=0 diff --git a/tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt b/tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt index 60d6759..6ed819e 100644 --- a/tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt +++ b/tests/evidence/m11b2d_a3a1_fixture_contract_rerun.txt @@ -1,9 +1,9 @@ # CMD: cd modules/world_sync && ./.venv/bin/python -m pytest tests/test_m11b2d_fixture_contract.py -q --tb=no -# DATE: 2026-09-23T02:11:17+08:00 -# HEAD: 1d1fd3d -# TASK: M11b-2d-A3a-1 (A3a-1 轮复跑守卫用例,响应 QC #2 虚假自测声明) -# NOTE: 本文件为 A3a-1 轮在当前工作区(文档全文恢复后)的真实复跑留证,不覆盖任何旧归档 +# DATE: 2026-09-23T03:40:09+08:00 +# HEAD: d6514bf +# TASK: M11b-2d-A3a-1b (A3a-1b 轮复跑守卫用例,响应 QC #6/#7 交付摘要与实测一致硬门禁) +# NOTE: 本文件为 A3a-1b 轮在文档全文恢复后(HEAD d6514bf)工作区的真实复跑留证,覆盖同名 A3a-1 轮旧留证(旧件 HEAD 1d1fd3d),不触碰 m11b2d_a3_* 等历史归档 --- OUTPUT --- ................. [100%] -17 passed in 0.09s +17 passed in 0.07s # RC=0