## 合意仕様からの逸脱

指示書に明記された要件を読み替えず文面どおりに現在の実装と照合する。解釈を変更した場合だけ充足すると言える差は逸脱として扱い、通常の充足としない。

各要件をそれぞれ元の対象範囲のまま照合する。ある要件で認めた逸脱の条件を別の要件にも適用して対象を狭め、充足と判定しない。同じ原因による差でも、影響を受ける各要件の状態と根拠を記録する。

各要件を判定する前に、その文面が対象とする入力・状態と明示された例外を確認し、実装が追加した条件の内側と外側の両方で期待結果と実際の結果を比較する。条件の内側で成立するだけでは要件全体の充足とせず、条件の外側で差がある場合はその要件の逸脱として記録する。

逸脱の根拠は、確認可能な文書上の制約または既存契約、もしくは実行中に確認された技術的制約が、その変更を必要とする理由に直接結び付く場合に限る。前段の結論や推測だけを根拠にせず、出典と実装との差を確認する。

各逸脱について指示書の要件の引用、実装内容、変更の根拠、関連して残る不整合を記録し、判定にかかわらず summary.md に報告する。根拠や不整合を確認できない場合はその事実を記録する。逸脱がなければ存在しない逸脱を作らない。

関連する既存契約についても逸脱と同じ入力条件で現在の挙動を比較し、異なる結果が残る場合はその対象と差を記録する。既存契約が維持されていることだけを理由に差がないと判断しない。

共通の規則に差がある場合は、その規則を使う関連対象を実装から確認し、確認できた各対象の名前と差を判定に記録して報告へ引き継ぐ。対象を確認できない場合は推測で補わず、その事実を記録する。

この比較は根拠のない逸脱や他の未充足による不承認の場合にも行う。差がある場合は、同じ具体的な入力に対する実装と各関連契約の結果をそれぞれ記録し、判定結果とともに報告へ引き継ぐ。

根拠のある逸脱だけで他の要件と修正対象の指摘が満たされている場合は APPROVE とする。根拠のない逸脱は未充足とし承認しない。他の要件や指摘が未解消の場合は既存の判定条件に従い、逸脱も報告する。
