Skip to content

fix: decouple frozen verification from current tree #101

Description

@lipluscodex

目的

過去の frozen evaluation が後続の正当な repository evolution を拒否しないよう、historical source hash verification を current working tree から登録 source commit の bytes へ分離する。

前提

  • Issue feat: add soft-start feedback reinforcement #100 の soft-start candidate は README.md、src/neuron_graph_rag/config_provenance.py、src/neuron_graph_rag_mcp/server.py 等の後続変更を必要とする。
  • 既存の frozen tests は manifest 登録pathを ROOT / relative から読み、current working tree の SHA-256 を直接照合する。
  • このため manifest、observed artifact、過去のsource bytesが完全に不変でも、後続変更だけで test_real_task_shadow_v2 と test_feedback_policy_comparison_evaluation が失敗する。
  • successor verifierを追加するだけでは、test discoveryが既存current-tree assertionを実行し続けるため解消しない。

制約

  • frozen manifest、fixture、packet、snapshot、observed result、登録hash、source commit、観測回数、metric、gate、解釈を変更・再実行・再集計しない。
  • historical source hash は manifest が固定した commit から git show 等で取得した exact bytes に対して検証する。
  • 登録commitの存在と現在HEADのancestor関係を検証し、未知commit、欠落path、hash不一致をfail closedにする。
  • current working tree の同名pathを historical evidence として扱わない。
  • LF/CRLF alternateを許す既存contractがある場合、そのliteralを維持し、本文差、mixed newline、bare CR、その他のbyte差を許可しない。
  • CI test除外、hashlib monkeypatch、manifest hash更新、observed artifact書換えで回避しない。
  • verifier correctionそのものを新規regressionで固定し、current working treeの後続変更とhistorical tamper検出を両立する。

完了条件

  • Issue feat: add soft-start feedback reinforcement #100 の正当な後続変更を置いた状態でも、過去のregistered commit bytesが一致すればfrozen verificationが通る。
  • 登録commit bytes、manifest、artifactのいずれかを改変したnegative probeは失敗する。
  • test_real_task_shadow_v2、test_feedback_policy_comparison_evaluation、および同じcurrent-tree hash patternを持つ全frozen verifierを監査し、一貫したhistorical source boundaryへ揃える。
  • full core suite と optional MCP suite がgreenになる。
  • requirements / relevant evaluation docs / Decision Structure index がsource-of-truth boundaryを明記する。

対象ファイル

  • tests/test_real_task_shadow_v2.py / tests/test_feedback_policy_comparison_evaluation.py ほか該当frozen tests - current-tree assertionの置換
  • src/neuron_graph_rag/evaluation.py / real_task_shadow*.py または新規共通helper - registered commit byte verification
  • tests/ - historical match、current evolution、tamper fail-closed regression
  • docs/requirements.md / relevant protocol docs / docs/Decision-Structure.md - historical verification boundary

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