From 6a7c032a4d4295f3d5383032f4abc394f6a4df52 Mon Sep 17 00:00:00 2001 From: Takeshi Date: Tue, 13 Oct 2026 08:58:51 +0900 Subject: [PATCH] docs: audit P24 packet proposal against exact blobs and malformed inputs --- .../NEXT_CLOSURE.md | 4 +++ .../PROPOSAL.md | 4 +++ .../prospective-guards-audit.json | 34 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/prospective-guards-audit.json diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/NEXT_CLOSURE.md b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/NEXT_CLOSURE.md index b421681..7390d19 100644 --- a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/NEXT_CLOSURE.md +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/NEXT_CLOSURE.md @@ -16,3 +16,7 @@ P13支援RP13-01は最終1398aa2dでも配置依存と負例fixture不良が残 ## 完了手順 承認済み範囲の実装者1名、関連変更をまとめて局所/影響試験、正確な最終版の必須Runner試験、独立レビュー。P24 exact packet容量を再確認し、同4cefcffの正式独立レビューと統合候補検証へ進む。統合で証拠適用性が変わる場合だけ影響検証を追加する。全条件/独立review/統合証拠が揃うまでP24-03を完了にしない。Windows最終配布版の受入は別途未達。 + +## 実装前の有限再監査 + +prospective-guards-audit.jsonで、保存済みcontext14フィールドを正確なbase/candidateのGit bytesから再計算して全一致、172行の不変rawと受入focus4行を確認。追加の2不正入力では、prototypeが未知schema_version=999とNaNを受理した。現ゲーム候補に不正があったという証拠ではなく、未設置prototypeの検証不足である。既存の『未知形式・不一致は失敗』を満たすため、本番実装はbase/candidateのschema_versionが厳密な整数1であることと、JSONのNaN/Infinity/-Infinity拒否を先に検査する。対応する正例・負例を同一最終版で検証する。原7条件・30/88・500000上限・情報保持要件は変更しない。 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/PROPOSAL.md b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/PROPOSAL.md index f2f0ff8..ec30287 100644 --- a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/PROPOSAL.md +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/PROPOSAL.md @@ -11,3 +11,7 @@ prototypeの8局所検証は通過しました。実候補に対するcontext例 提案する追加範囲はRunnerのrunner/core.pyのpacket生成とtests/test_runner.pyの対応検証です。ゲームタスクのallowed_pathsには含まれません。AGENTS.mdの「タスク契約の allowed_paths 外を変更しない。追加変更は提案として返す。」に従い、本体変更は承認まで行いません。状態DB/ポリシー/承認の直接編集、上限/予算/権限拡大、重複ゲーム実装はありません。 正式validate通過後の全packet事前測定を追加しました。contract/allocation/validation_sources/実passed validation receipt1件を含む現方式600,714bytesに対し、この候補contextへ置き換えた案は430,008bytes、従来500,000bytes上限の余裕69,992bytesです。exact-review-packet-preflight.jsonに記録しています。Runner関数/DBを書き換えず、readonlyデータから現在のpacketフィールドを再構成して測定したものです。実装・正式review・受入が通過したという結果ではありません。 + +## 実装前の有限再監査 + +prospective-guards-audit.jsonで、保存済みcontext14フィールドを正確なbase/candidateのGit bytesから再計算して全一致、172行の不変rawと受入focus4行を確認。追加の2不正入力では、prototypeが未知schema_version=999とNaNを受理した。現ゲーム候補に不正があったという証拠ではなく、未設置prototypeの検証不足である。既存の『未知形式・不一致は失敗』を満たすため、本番実装はbase/candidateのschema_versionが厳密な整数1であることと、JSONのNaN/Infinity/-Infinity拒否を先に検査する。対応する正例・負例を同一最終版で検証する。原7条件・30/88・500000上限・情報保持要件は変更しない。 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/prospective-guards-audit.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/prospective-guards-audit.json new file mode 100644 index 0000000..a5ecc18 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/prospective-guards-audit.json @@ -0,0 +1,34 @@ +{ + "scope": "Read-only pre-implementation review; no Runner installation or formal acceptance", + "prototype_raw_sha256": "f436dd4004641ba1bf1338c23f97fc95b5b0e9e5776373b0d9162352d43e6f13", + "saved_context_exact_git_recomputation_matches": true, + "compared_context_fields": 14, + "actual_base_raw_sha256": "5cebdfdffeca26c7778c8be916877b06ae6e42999272d73d01ea66e644a9d648", + "actual_candidate_raw_sha256": "3c72cad4dded0619d0cf1c9691b590258ea657d79e482910bde8b0bbeed73e03", + "focused_rows": [ + "tests/ui/test_actor_selection.gd", + "tests/ui/test_selection_autosave.gd", + "tests/ui/test_selection_departure.gd", + "tests/ui/test_selection_lifecycle.gd" + ], + "unchanged_raw_rows": 172, + "probes": [ + { + "case": "unsupported_candidate_schema_version", + "prototype_rejected": false, + "installed_runner_mutated": false, + "interpretation": "Prospective fail-closed guard must be implemented and tested before adoption; this is not a game candidate defect." + }, + { + "case": "nonfinite_candidate_metadata", + "prototype_rejected": false, + "installed_runner_mutated": false, + "interpretation": "Prospective fail-closed guard must be implemented and tested before adoption; this is not a game candidate defect." + } + ], + "required_before_live_implementation": [ + "Require the exact supported marker schema version 1 before omitting any row; unsupported/missing version fails closed.", + "Reject nonfinite JSON values (NaN, Infinity, -Infinity) in base and candidate before constructing authenticated context.", + "Keep all prior raw-row/base/candidate/metadata/diff/code/validation preservation conditions." + ] +}