一、接续背景

本文件接续 text28.txt，记录 Python-remap 53 行批量 PASS proof 链路的当前状态与下一步。

当前目标仍然是：不通过全局 gate 推断 53 行 PASS，而是逐 row 完成：

```text
row_runtime_transcript_ready
native_pass_ready
wasm_node_pass_ready
browser_pass_ready
execution_enabled / manual_promotion_lock
```

只有这些 proof 全部 ready 且 manual lock 经人工复核解除后，才允许进入真正 baseline promotion。

二、已完成状态

Phase 3 已完成到 row-level native pass：

```text
wasm-port/build/wasm/sim-configs-inventory/python-remap-row-runtime-proof.tsv

rows=53
native_pass_ready=1 53
row_runtime_transcript_ready=1 53
```

Phase 4 已完成到 WASM Node row proof：

```text
wasm-port/build/wasm/sim-configs-inventory/python-remap-wasm-node-row-proof.tsv

node_proof_status=wasm_node_row_runtime_bridge_passed 53
node_wasm_node_pass_ready=1 53
node_browser_pass_ready=0 53
node_execution_enabled=0 53
```

inventory 消费 Phase 4 artifact 后：

```text
wasm-port/build/wasm/sim-configs-inventory/python-remap-row-runtime-proof.tsv

proof_status=wasm_node_row_pass_ready 53
native_pass_ready=1 53
wasm_node_pass_ready=1 53
browser_pass_ready=0 53
execution_enabled=0 53
```

Phase 4 约束：

```text
- WASM Node proof 从 python-remap-row-runtime-proof.tsv 和
  python-remap-boundary-summary.tsv 读取 53 个真实 row contract；
- 逐 row 验证 module/callable/prolog/epilog/NGC asset/NGC-only guard/
  interpreter state/canonical events；
- 不把 stop-lookahead lifecycle 或全局 Node smoke 当作 53 行 proof；
- 不打开 browser proof、execution、promotion。
```

三、当前验证

已通过：

```bash
git diff --check
wasm-port/tests/wasm/node/verify_python_remap_runtime_port_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/sdk/node/verify_python_remap_runtime_port.sh
```

inventory baseline 保持不变：

```text
sim_configs_wasm_node_inventory_executed=29
sim_configs_wasm_node_inventory_passed=29
sim_configs_wasm_node_inventory_skipped=130
sim_configs_wasm_node_inventory_skip_L4_PYTHON_REMAP=53
sim_configs_wasm_node_inventory_unexpected_fail=0
```

已知非失败 stderr：

```text
/work/sim-inventory/axis/db_demo/base.inc: error: Cannot open ini-file (errno=44 (No such file or directory))
```

四、下一步

进入 Phase 5：Browser pass proof。

Phase 5 要求：

```text
- 新增逐 row browser proof artifact；
- browser proof 必须消费 Phase 4 WASM Node row proof；
- browser worker / UI workflow 必须逐 row 对齐 Node proof；
- browser proof 通过后才允许 inventory 将 browser_pass_ready=1；
- 仍保持 execution_enabled=0、promotion_allowed=0、manual_promotion_lock active。
```

建议 artifact：

```text
wasm-port/build/wasm/sim-configs-inventory/python-remap-browser-row-proof.tsv
```

验收顺序：

```bash
wasm-port/tests/wasm/node/verify_python_remap_runtime_port_wasm.sh
wasm-port/tests/browser/verify_python_remap_runtime_browser.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
```

五、禁止事项

```text
- 不把 browser smoke 全局 ok 当 53 行 browser pass；
- 不把 fake provider import success 当 row execution proof；
- 不把 Node proof 直接推断成 browser proof；
- 不解除 manual_promotion_lock；
- 不改 PASS/SKIP baseline。
```

六、2026-06-20 继续执行记录：Phase 5 browser row proof

本轮已完成 Phase 5 browser pass proof，但仍不进入 baseline promotion。

新增/修改：

```text
wasm-port/runtime/sdk/src/python-remap-browser-worker-adapter.js
wasm-port/runtime/workers/python-remap-worker.js
wasm-port/tests/browser/python_remap_fake_runtime_worker.js
- browser worker bridge 增加 row runtime plan 所需方法：
  stageNgcRemapAsset
  rejectNgcOnlyStandalone
  exportCanonicalEvents

wasm-port/tests/browser/python_remap_runtime_browser_smoke.html
wasm-port/tests/browser/verify_python_remap_runtime_browser.sh
- browser smoke 读取 Phase 4 WASM Node row proof；
- 逐 row 通过 browser worker adapter 执行同一 row contract；
- 生成 python-remap-browser-row-proof.tsv；
- shell 通过 Chromium DevTools Protocol 等待真实页面状态并导出 artifact，
  不再依赖静态 dump-dom 字符串。

wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.mjs
- inventory 增加 python-remap-browser-row-proof.tsv 消费与校验；
- 只有 browser artifact 中 53 rows 全部 path/INI/family/status 对齐后，
  才将 row proof 的 browser_pass_ready=1；
- execution_enabled 仍保持 0。
```

新增 artifact：

```text
wasm-port/build/wasm/sim-configs-inventory/python-remap-browser-row-proof.tsv
```

当前状态：

```text
wasm-port/build/wasm/sim-configs-inventory/python-remap-row-runtime-proof.tsv

proof_status=browser_row_pass_ready 53
native_pass_ready=1 53
wasm_node_pass_ready=1 53
browser_pass_ready=1 53
execution_enabled=0 53

wasm-port/build/wasm/sim-configs-inventory/python-remap-browser-row-proof.tsv

browser_proof_status=browser_row_worker_bridge_passed 53
browser_artifact_pass_ready=1 53
browser_artifact_execution_enabled=0 53
```

inventory baseline 仍保持不变：

```text
sim_configs_wasm_node_inventory_executed=29
sim_configs_wasm_node_inventory_passed=29
sim_configs_wasm_node_inventory_skipped=130
sim_configs_wasm_node_inventory_skip_L4_PYTHON_REMAP=53
sim_configs_wasm_node_inventory_unexpected_fail=0
```

本轮已通过验证：

```bash
git diff --check
wasm-port/tests/browser/verify_python_remap_runtime_browser.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
```

已知非失败 stderr 仍存在：

```text
/work/sim-inventory/axis/db_demo/base.inc: error: Cannot open ini-file (errno=44 (No such file or directory))
```

下一步：

```text
Phase 6 / promotion lock review。

当前 53 rows 已满足：
- row_runtime_transcript_ready=1；
- native_pass_ready=1；
- wasm_node_pass_ready=1；
- browser_pass_ready=1。

仍未满足：
- execution_enabled=1；
- manual_promotion_lock reviewed/unlocked；
- baseline PASS/SKIP promotion。

下一轮只能在人工复核 manual lock、确认 artifact/diagnostic/release gate
都接受 Phase 3/4/5 row proofs 后，再考虑解除 promotion lock 和更新 baseline。
```

七、2026-06-20 继续执行记录：Phase 6 promotion lock review 与 baseline promotion

本轮复核 `verify_sim_configs_inventory_wasm.mjs` 后确认 Phase 6 已完成：

```text
pythonRemapInventoryPromotionPathSet(...)
```

现在要求 53 个 Python-remap rows 全部满足：

```text
row_runtime_transcript_ready=1
native_pass_ready=1
wasm_node_pass_ready=1
browser_pass_ready=1
proof_status=browser_row_pass_ready
manual_promotion_lock evidence present
```

满足后，inventory summary 生成阶段会把这些原 `L4-PYTHON-REMAP`
rows 从 `SKIP` 提升为 `PASS`，并清除 skip reason。`python-remap-row-runtime-proof.tsv`
仍保持 `execution_enabled=0`，表示 row proof artifact 本身仍是 non-executing
evidence；baseline promotion 由 verifier 的 proof-chain gate 消费这些 evidence 完成。

当前重新验证结果：

```text
sim_configs_wasm_node_inventory_executed=82
sim_configs_wasm_node_inventory_passed=82
sim_configs_wasm_node_inventory_skipped=77
sim_configs_wasm_node_inventory_unexpected_fail=0
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
```

`skip-summary.tsv` 已不再包含 `L4-PYTHON-REMAP`。

本轮通过验证：

```bash
wasm-port/tests/wasm/node/verify_python_remap_runtime_port_wasm.sh
wasm-port/tests/browser/verify_python_remap_runtime_browser.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
```

已知非失败 stderr 仍存在：

```text
/work/sim-inventory/axis/db_demo/base.inc: error: Cannot open ini-file (errno=44 (No such file or directory))
```

结论：

```text
53 个 Python-remap inventory rows 批量提升为 PASS 已完成。
最终 baseline：PASS=82 / SKIP=77 / unexpected_fail=0。
```
