From 75a64ce0dae92fc89f1358b759570462c7105388 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 22 Sep 2026 20:25:48 -0400 Subject: [PATCH] [tools, docs] (P7): the parity script keeps one server-side-knob list after the B3 rework merge, and magma-b3.md names it The B3 rework's parity hunk and B2's round-1 hunk described the same asymmetry under two names; the merge kept B2's compare_arms(no_tcp=) and added .StaleSerial. to MAGMA_SERVER_ENV_KNOB_NO_TCP. One line of the package tree's other mechanism (`not_on_arm = not_on_arm or {}`) survived outside the conflict hunks and would have been a NameError on the first run; it goes, and the note's two mentions of MAGMA_NOT_OVER_TCP now name the list that exists. --- docs/Disaggregated/notes/p7/magma-b3.md | 4 ++-- scripts/ci/spawn_lane_parity.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/Disaggregated/notes/p7/magma-b3.md b/docs/Disaggregated/notes/p7/magma-b3.md index b04bc3b0..c6076208 100644 --- a/docs/Disaggregated/notes/p7/magma-b3.md +++ b/docs/Disaggregated/notes/p7/magma-b3.md @@ -31,7 +31,7 @@ spawn)每跑一次是金图 `ace2af04` 与错图 `fb75d412`(14658 px)之 | 4 | **可证的地板(主修)** | `OnSubmitsCompletedUpTo` 只把地板推到**没有任何在飞提交仍持有**的序号;`unsound-serial-complete` 计数器 | | 5 | 本文 | — | | 6 | 复审(ID-P7-34)第 4 条 | `.def` 53 行**每行有站点、每站点有 W/E 行**;`scripts/ci/wire_declines_audit.py` 守住两半(§1.5) | -| 7 | 复审第 1 条 | `StaleSerial.` 只注册 split + spawn;`spawn_lane_parity.py` 的具名例外 `MAGMA_NOT_OVER_TCP`(§4.2) | +| 7 | 复审第 1 条 | `StaleSerial.` 只注册 split + spawn;`spawn_lane_parity.py` 的具名例外 `MAGMA_SERVER_ENV_KNOB_NO_TCP`(与 B2 的五条 server 端旋钮同一张表,§4.2) | | 8 | 复审第 3 条 | 注释改正:**地板是保证、提交项是探针/纵深**;`WaitForWireBufferHostAccess` 早返回加提交项、`ReadWireBuffer` 补盖戳(§3.2) | | 9 | 复审第 2 条 | `run_trace_case.cmake`:split retrace 见 `MGWIRE-FLOOR unsound-serial-complete` 即红——主修有了车道(§4.1) | | 10 | 本文(复审轮) | — | @@ -337,7 +337,7 @@ MobileGLTraceReplay.OpenRA.DirectVulkan.SPAWN ***Failed (transport=spawn, 26 tcp 臂的服务端是车道夹具(`scripts/ci/tcp_server_fixture.py`),从它**自己**的环境起一次, 条目级 `ENVIRONMENT` 到不了它——`DirectVulkan.Tcp.StaleSerial.*` 跑的是未强制的用例,却顶着旋钮的名字。 inproc 的服务端在测试进程里、spawn 的服务端继承 client 的环境,那两臂上旋钮是真的(§4.2 基线正是两臂红)。 -`scripts/ci/spawn_lane_parity.py` 增加第二种具名不对称 **`MAGMA_NOT_OVER_TCP = ("DirectVulkan.StaleSerial.",)`** +`scripts/ci/spawn_lane_parity.py` 的 server 端旋钮例外表 **`MAGMA_SERVER_ENV_KNOB_NO_TCP`** 加入 `.StaleSerial.`(集成时并入 B2 返工的同一机制 `compare_arms(no_tcp=)` / CMake `mglItestServerEnvKnobArm`,而不是包树里单独的 `MAGMA_NOT_OVER_TCP`) (与 ID-P7-14 的 `MAGMA_INPROC_ONLY` 同形):只从 **tcp 臂**的比较基准里去掉,spawn 缺了它仍是错误。 B2 在自己的树里把它的旋钮条目加进同一个元组,集成者合并两处 hunk。 diff --git a/scripts/ci/spawn_lane_parity.py b/scripts/ci/spawn_lane_parity.py index a6243c8e..99146a57 100644 --- a/scripts/ci/spawn_lane_parity.py +++ b/scripts/ci/spawn_lane_parity.py @@ -107,7 +107,6 @@ def compare_arms(build_dir, tier, labels, inproc_only=(), no_tcp=()): it on spawn, which is where it does most of its work. Returns True on failure, the way main() below counts them.""" - not_on_arm = not_on_arm or {} sets = {} for arm, label in labels.items(): names = lane_names(build_dir, label) - FIXTURE_ENTRIES