Skip to content

test(cross): G6.6 本地双节点夹具(non-evidence)验证完整链路与判定逻辑 - #25

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

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

Conversation

@Windsander

Copy link
Copy Markdown
Owner

目的

verify:mcp:cross无真实公网时也能走完整链路、验证判定逻辑——新增本地双节点夹具仅标记为非证据,绝不冒充 G6.6 达成。G6.6 仍阻塞未勾选。

变更

  • scripts/verify-mcp-cross.mjs
    • --selftestnpm run verify:mcp:cross:selftest):起两个独立进程/独立存储mebular serve(环回 libp2p、共享同一用户主密钥),走与真实门禁同一条链(A memory_write → B memory_sync → B memory_query → 双端 memory_status → 出口判据)。
    • 抽出 runChain 供真实/夹具共用;夹具断言链路四项达标,且门禁因 differentPublicNetwork !== true(环回)而正确地判不达成
    • 证据标 evidenceLevel: "non-evidence (loopback dual-node fixture…)"
  • scripts/mcp-cross-lib.mjs:新增 judgeSelftest
  • tests/wan/mcp-cross.test.mjs:增 judgeSelftest 用例(16 例)。
  • package.jsonverify:mcp:cross:selftest(不入 CI)。

夹具顺带纠正

MemoryStatus.pendingPeers 实为 SyncManager.pendingCount待发事件数,命名历史遗留),成功同步后不保证为 0。夹具首次运行即暴露该错误断言,已从达成判据移除(仅记录),并同步修订 g6-plan.md / goal-v0.1.md / project-status.md / 阻塞报告。

验证

  • 夹具:npm run verify:mcp:cross:selftest 退出码 0(markerFound/stateMatches/identityShared=truedifferentPublicNetwork=null 环回;门禁 gatePassed=false 正确)。
  • 真实红灯门禁不变:npm run verify:mcp:cross 无环境退出码 1 并打印所需 env。
  • 不回归:全量 51 套件 / 393 用例lintbuildnpm run verify 0–6 全绿。

- feat(scripts): verify-mcp-cross.mjs --selftest:起两个独立 serve(独立存储、环回 libp2p、共享主密钥),
  走与真实门禁同一条链(A memory_write → B memory_sync → B memory_query → 双端 memory_status → 出口判据)
- feat(scripts): 抽出 runChain 供真实/夹具共用;judgeSelftest 断言链路四项达标且门禁因环回正确判不达成
- fix(scripts): 移除 pendingPeers 达成判据——其映射 SyncManager pendingCount,实为待发事件数,成功同步后不保证为 0(夹具实测暴露)
- test(cross): tests/wan/mcp-cross.test.mjs 增 judgeSelftest 用例(16 例)
- chore: package.json 增 verify:mcp:cross:selftest(non-evidence,不入 CI)

G6.6 仍阻塞未勾选;夹具证据标注 non-evidence,绝不冒充跨网达成。
@Windsander
Windsander merged commit ceda71a 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