Skip to content

bug: separate protocol freeze from observation registry #97

Description

@lipluscodex

目的

real-task-feedback-shadow-v2のresult-free freeze testが、freeze時点の空出力だけでなく将来のpacket registryも永久に空であることを要求し、最初の正当な観測登録で必ずCIが失敗するlifecycle contradictionを、観測前のsuperseding result-free protocolで解消する。

このIssueはprotocol lifecycle、schema/manifest、placeholder-only transition testだけを扱う。実task packet、実source identity、observed outcome、aggregate resultを生成・移送・再利用しない。

検証済み再現

  • PR #96のslot 1 root + confirmed correctionはcanonical writerとfrozen snapshot exact verifierを通る。
  • core full suiteは221/222で、失敗はtests.test_real_task_shadow_v2.test_cli_probe_and_result_free_manifestの一件だけである。Optional MCP CIも同じassertionだけで失敗する。
  • v2 manifestはobservation_status=not_startedresult_free=true、packet registryとobserved resultの双方が空であることをtestから要求する。
  • packetを登録した後にv2 testとそのmanifest hashを変更すると、Issue #89の「protocol、schema、gate、stop ruleを観測結果に応じて変更しない」に違反する。
  • したがってPR eval: observe real-task feedback shadow batch #96 / Issue #95のquery、trace、snapshot、outcome、packetは失敗記録として除外し、後継観測へ再利用しない。

修正契約

  • v1/v2のfrozen source、schema、fixture、manifest、test、docsをbyte不変で維持する。
  • v2とは別のprotocol IDとregistered output pathを持つsuperseding result-free protocolを、次のreal task観測より先にfreeze / mergeする。
  • capture provenance、snapshot exact verification、two-arm config、append-only correction、exclusive registry、slot順cumulative replay、determinism、idempotencyはv2と同じ意味を維持する。
  • result-free manifestはprotocol commit自身に実identity / observed outputがないことを固定するが、将来のappend-only packet登録後もmanifest/testの変更を要求しないlifecycle contractにする。
  • freeze後のregistry状態は、空、sequential root/correction packet追加、one-time final aggregate追加の各段階で、同じfrozen testが通る。観測結果によるhash、schema、gate、testの書換えを不要にする。
  • CIで利用できないlive SQLite snapshotを推測・再構築しない。snapshotを明示的に与えたlocal exact verifierと、repository内artifactだけで完結するcanonical/lifecycle integrity checkの責務を分離する。
  • final aggregateはexclusive createのままにし、上書き・再集計・field reorderを許可しない。

Result-free gate

  • placeholder identityだけで、空registry、root packet、superseding correction、final aggregateのlifecycleを一つのfrozen protocol/test上で再現する。
  • protocol artifact hash、canonical JSON、sequential slot、immutable correction field、exclusive write、one-time resultのtamperをfail closedにする。
  • 実task URL、実source identity、Issue research: register first live shadow v2 observation #95 packet/outcome、PR eval: observe real-task feedback shadow batch #96 artifactをfixtureやregistered outputへ含めない。
  • full suite、optional MCP、demo/eval smoke、CIをgreenにする。

観測再開条件

想定変更箇所

  • src/neuron_graph_rag/ - superseding lifecycle/registry contract
  • tools/ - superseding capture/replay/verifier CLI
  • tests/fixtures/ - result-free schema/fixture/manifest
  • tests/ - lifecycle transition、tamper、frozen-v1/v2 parity
  • docs/ - superseding protocolとv2 limitation

Related

Metadata

Metadata

Assignees

Labels

bug動いていない、壊れているready本文が実装開始できる形まで収束している状態。ただし更新は継続可能review-pending実装完了後、review または次段階の判断待ち

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions