fix: reproduce live MCP traces in shadow v2 - #92
Conversation
live MCP search が使用した effective config、search surface、検索時刻を packet に固定し、frozen snapshot 上で exact replay できる v2 protocol を追加する。 二つの shadow arm は capture retrieval 軸を共通利用し、feedback policy だけを変更する。result-free fixture、tamper gate、MCP provenance contract を追加し、v1 artifact と observed output は変更しない。
core CI は optional MCP SDK がない環境で v2 test module を安全に skipし、MCP job は v2 protocol tests を明示実行する。 ローカルではbase-only isolated full suiteとMCP extra suiteの両方を再現し、manifest hashを更新した。
lipluscodex
left a comment
There was a problem hiding this comment.
CHANGES_REQUESTED
[P1] optional MCP availability gate must test importability, not only module presence.
In the active workspace, importlib.util.find_spec('mcp') is non-null because Hermes exposes an older MCP package, but importing neuron_graph_rag_mcp.server fails because mcp.shared.exceptions.MCPError is absent. Reproduction: PYTHONPATH=src python -m unittest tests.test_real_task_shadow_v2 -v fails during test-module import. This defeats the intended base/non-compatible-MCP safe skip and means the local full suite is not green. Please guard the adapter import itself (or otherwise distinguish a compatible optional MCP SDK), keep the MCP-extra job executing all v2 tests, then rerun isolated base/full and optional MCP CI.
Self-review finding [P1] をacceptする。find_specはmodule存在だけを示し、Hermesの旧MCP packageではserver互換importが失敗するため、判定根拠として不十分だった。 adapter import自体をguardし、mcp namespace由来のImportErrorだけをoptional unavailableとしてskipする。互換MCP環境では全v2 testを実行し、project側の別ImportErrorは再送出する。
lipluscodex
left a comment
There was a problem hiding this comment.
PASS
Issue #91 の修正契約に対して独立self-reviewを完了した。effective runtime config、search surface、trace timestampがcanonical provenanceとしてcaptureされ、snapshot exact replay、two-arm retrieval共通化、tamper/result/registry verifier、v1 freeze/result-free boundaryが成立している。先の[P1]はhead 86336a3で解消され、active Hermes incompatible MCPはsafe skip、compatible MCPではv2 testsを実行する。CI core / Optional MCPともgreen、merge state CLEAN。
Closes #91
live MCP search の effective runtime config、search surface、検索時刻を result-free v2 packet へ保存し、frozen snapshot 上で exact replay する。
二つの shadow arm は capture retrieval 軸を共通利用し、事前登録済み feedback policy field だけを変更する。
MCP provenance、canonical fingerprint、tamper gate、runtime-shaped placeholder probe を追加し、v1 artifact と observed output は変更しない。