Skip to content

test(cross): G6.6 跨网 e2e 红灯门禁 + 判定逻辑单测 - #24

Merged
Windsander merged 1 commit into
mainfrom
test/g6.6-cross-gate
Sep 14, 2026
Merged

Windsander merged 1 commit into
mainfrom
test/g6.6-cross-gate

Conversation

@Windsander

Copy link
Copy Markdown
Owner

目的

G6.6 跨网 e2e(喂 G3-E / D5) 落地红灯门禁:真实两机证据齐备后,一条命令自动判定是否达成。G6.6 本项仍阻塞未勾选,本 PR 只落门禁,不产生跨网证据。

变更

  • scripts/wan-egress.mjs:抽出公网出口判据(lookupEgress/isPrivateIp/judgeDifferentNetwork),wan-sync.mjs 改为复用(单实现,无行为变化)。
  • scripts/mcp-cross-lib.mjs:纯函数 checkCrossEnv / judgeCrossEvidence / printCrossGuidance(可单测)。
  • scripts/verify-mcp-cross.mjsnpm run verify:mcp:cross):
    • 无环境 → 退出码 1 并打印所需 env(红门禁,绝不静默通过)。
    • 环境齐备:前置预检(A multiaddr/relay TCP 可达)→ 连双端 MCP → A memory_write 唯一标记 → B memory_sync{peerId:A-deviceId,address} → B memory_query 命中 → 双端 memory_status 比较 stateHashpendingPeers → 出口判据 → 写 mcp-cross-evidence.json
    • 退出码 0 当且仅当 markerFound/stateMatches/identityShared/differentPublicNetwork=truependingPeers=0
  • tests/wan/mcp-cross.test.mjs(13 例):缺 env、逐项不达标、出口判据、真实调用脚本无环境 → 退出码 1
  • package.jsonverify:mcp:cross不纳入 CI(CI 无环境必红),其判定逻辑由单测守护。

所需 env(真实两机时)

必需 MEBULAR_WAN_PEERMEBULAR_WAN_PEER_IDMEBULAR_WAN_MCP_AMEBULAR_WAN_MCP_A_TOKEN;可选 MEBULAR_WAN_MCP_B(_TOKEN)MEBULAR_WAN_RELAYMEBULAR_WAN_PEER_EGRESSMEBULAR_MCP_CROSS_OUT。执行清单见 docs.design/g6.6-cross-network-blocker-2026-09-14.md

验证(E1)

  • 红灯:npm run verify:mcp:cross 退出码 1 并打印所需 env(实测)。
  • 单测:tests/wan/mcp-cross.test.mjs 13/13 通过。
  • 不回归:全量 51 套件 / 390 用例buildlintnpm run verify 0–6、verify:wan:cross:selftest:isolated(E1 non-evidence)全绿。

- feat(scripts): wan-egress.mjs 抽出出口判据(lookupEgress/isPrivateIp/judgeDifferentNetwork),wan-sync 改为复用
- feat(scripts): verify-mcp-cross.mjs 门禁——无环境退出码 1 并打印所需 env;环境齐备驱动 A memory_write / B memory_sync / 双端 memory_status,产出 mcp-cross-evidence.json 并以 judgeCrossEvidence 判定
- feat(scripts): mcp-cross-lib.mjs 纯函数(checkCrossEnv/judgeCrossEvidence/printCrossGuidance)便于单测
- test(cross): tests/wan/mcp-cross.test.mjs(13 例)覆盖缺 env、逐项不达标、出口判据、真实调用脚本无环境→退出码 1
- chore: package.json 增 verify:mcp:cross(不纳入 CI——无环境必红)

G6.6 仍阻塞未勾选;本提交只落门禁,不产生跨网证据。
@Windsander
Windsander merged commit 8e859bc into main Sep 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant