目的
real-task-feedback-shadow-v1がlive MCP search packetをfrozen snapshot上で再現できない問題を修正し、serving retrievalとfeedback-policy shadowの軸を分離したsuperseding result-free protocolを追加する。
Issue #90で最初のeligible taskを開始したが、packet verificationがfail closedしたためslotは未作成である。このIssueは観測を再開せず、capture/replay contract、schema、MCP effective-config provenance、placeholder/runtime-shaped probeをresult-freeで固定する。
検証済み再現
同一snapshot sha256:fe24c71d64cab19b8183d1ee818eeeb93a67129c74b13d167f3816706f768be0、同一query、limit 5で次が成立した。
live MCP trace 7211a6c44622490d99ea5a7659aeceb9はdocs/sibling-normalization-controlled-evaluation.mdを返す。
serving-default retrieval configとcaptured time 1786757215.899823を同じsnapshotへ適用すると同nodeを再現する。
v1 verifierのconfirmed_r05_s1 configと固定now=1000.0ではcandidateが空になる。
主なconfig差:
serving: sparse_weight=0.55, dense_weight=0.45, seed_count=3, maximum_edge_weight=2.0
v1 shadow: sparse_weight=1.0, dense_weight=0.0, seed_count=1, maximum_edge_weight=3.0
v1 packetはeffective serving retrieval configとcaptured search timestampを保持せず、verificationはcaptureと異なるarm config / synthetic timeで再検索する。したがってvalid live traceがpacketとして検証不能になる。
修正契約
v1 frozen artifactをobserved結果として書き換えない。新しいschema/protocol versionでsupersedeし、Issue #89の観測再開前にresult-free freeze / mergeする。
packetはcapture時のeffective retrieval configをcanonical fieldまたは完全fingerprint付きartifactとして保持する。検索順位に影響する全fieldを含め、feedback-only fieldと分離する。
packetはcaptured search timestampを保持し、snapshot verificationはcapture config + captured timeでcandidate order、source identity、content hash、credited pathを再計算する。
MCP adapterまたはcapture surfaceは、Codexが推測せずeffective runtime config provenanceをpacketへ移せるmachine-readable contractを提供する。
shadow二armはcapture retrieval configを共通基底として使用し、比較対象のfeedback policy fieldだけを変える。
used_q3_s1: used-time, quorum 3, sibling 1.0
confirmed_r05_s1: confirmed-time, quorum 1, decay 0.5, sibling 1.0
armごとのeffective configとfingerprintをresultへ保存し、retrieval fieldがarm間で異なる場合はfail closedにする。
packet/registry + snapshotからのexact semantic replay、append-only/exclusive writer、determinism、idempotencyは維持する。
Result-free gate
modern timestamp、serving default dense/sparse mix、relation pathを持つruntime-shaped fixtureでMCP search -> packet capture -> snapshot verify -> two-arm replay -> exact result verifyを通す。
capture config、timestamp、candidate order、path、config fingerprintの一つを改変したpacket/resultを拒否する。
q3 cumulative evidence 1 -> 2 -> 3とconfirmed diminishing semanticsを、共通capture retrieval config上で維持する。
実task URL、実source identity、Issue research: triage next NGR action with frozen relation evidence #90 outcome、observed packet/resultをfixtureや登録outputへ含めない。
full suite、optional MCP、demo/eval smoke、CIをgreenにする。
制約
Issue #90を別packetとして再利用しない。
Issue #89の12-task / 30-day / evidence sufficiency / final verdict gateを結果に応じて変更しない。protocol migrationだけを観測再開前に明示する。
serving default、local registration、remote deployment、既存eval: compare used and confirmed feedback policies #85 observed artifactを変更しない。
observed outputを生成しない。
想定変更箇所
src/neuron_graph_rag/ - superseding shadow packet / replay contract
src/neuron_graph_rag_mcp/ - effective retrieval config provenance
tools/ - superseding capture/replay/verifier CLI
tests/fixtures/ - result-free runtime-shaped schema/fixture/manifest
tests/ - live-config reproduction、tamper、cumulative policy tests
docs/ - superseding protocolとv1 limitation
Related
目的
real-task-feedback-shadow-v1がlive MCP search packetをfrozen snapshot上で再現できない問題を修正し、serving retrievalとfeedback-policy shadowの軸を分離したsuperseding result-free protocolを追加する。Issue #90で最初のeligible taskを開始したが、packet verificationがfail closedしたためslotは未作成である。このIssueは観測を再開せず、capture/replay contract、schema、MCP effective-config provenance、placeholder/runtime-shaped probeをresult-freeで固定する。
検証済み再現
同一snapshot
sha256:fe24c71d64cab19b8183d1ee818eeeb93a67129c74b13d167f3816706f768be0、同一query、limit 5で次が成立した。7211a6c44622490d99ea5a7659aeceb9はdocs/sibling-normalization-controlled-evaluation.mdを返す。1786757215.899823を同じsnapshotへ適用すると同nodeを再現する。confirmed_r05_s1configと固定now=1000.0ではcandidateが空になる。主なconfig差:
sparse_weight=0.55,dense_weight=0.45,seed_count=3,maximum_edge_weight=2.0sparse_weight=1.0,dense_weight=0.0,seed_count=1,maximum_edge_weight=3.0v1 packetはeffective serving retrieval configとcaptured search timestampを保持せず、verificationはcaptureと異なるarm config / synthetic timeで再検索する。したがってvalid live traceがpacketとして検証不能になる。
修正契約
used_q3_s1: used-time, quorum 3, sibling 1.0confirmed_r05_s1: confirmed-time, quorum 1, decay 0.5, sibling 1.0Result-free gate
1 -> 2 -> 3とconfirmed diminishing semanticsを、共通capture retrieval config上で維持する。制約
想定変更箇所
src/neuron_graph_rag/- superseding shadow packet / replay contractsrc/neuron_graph_rag_mcp/- effective retrieval config provenancetools/- superseding capture/replay/verifier CLItests/fixtures/- result-free runtime-shaped schema/fixture/manifesttests/- live-config reproduction、tamper、cumulative policy testsdocs/- superseding protocolとv1 limitationRelated