実施日:2026-10-19。状態:実装済み・作成者草案との照合済み、独立確認前。実行契約 に従い H07〜H12 を実行しました。P1-a と合わせて P1 の13/20条件を実行し、残る H13〜H19 は未実装・未実行です。
実装した範囲
p1-events-draft-1 の native handler と固定仕様を追加し、事象化・読み戻し・新側の問い合わせ・引き継ぎ比較の4操作を実装しました。P0 と P1-a の形式・意味・固定仕様は保持しています。
選んだ四項関係の各原主張に、原台帳・assertion の組から新しい事象IDを作ります。同じ key の観察も同じ四つ組の複数報告も別事象として保持します。四つの役割、原由来、疑い・未確認・否定・確認・明示訂正を保持し、restore_events で source snapshot 全体を復元できます。欠落や複数の方法を選び直したり、既存名と衝突する事象IDを受け入れたりしません。
新側は採用済み事象から Active と四役割の表を作り、同じ内部変数を使って実際に結合します。旧処理系の回答を新側の回答として流用しません。内部変数はユーザーの変数と衝突しないように発行し、元の変数だけへ射影します。重複回答は集合にし、複数の原主張・確認根拠は統合します。他の述語と単項定義規則も保持します。
原側の再実行は legacy_replay、新側の評価は native_event_roles と明記します。同じ view・採用方針での原履歴、採用 metadata、状態・binding・assertion/review/definition 根拠を照合します。否定は四つ組全体へ適用し、一つの方法の否定へ分解しません。未知能力・衝突は比較不能で、差分は null です。
実行結果
| 対象 | 結果 | 意味 |
|---|---|---|
| 開発テスト | 177/177 | 従来147件+P1-b追加30件 |
| P1-b 作成者草案 | 6/6条件、22/22 JSON、150/150必須パス | H07〜H12。API/CLI各2回、一致・入力保持・再実行 |
| P1-a 回帰 | 7/7条件、31/31 JSON、141/141必須パス | 原例・manifest・固定仕様を変更せず照合 |
| P0 回帰 | 22/22条件、37/37 JSON、221/221必須パス | 原例・manifest を変更せず照合 |
| 独立レビュー・臨床評価 | 未実施 | 草案との一致から推定しない |
8個の四つ組からなる関係の全256部分集合を使い、役割の組に対する新側の回答を直接の集合照合と比較しました。ユーザー変数と内部変数の名前の衝突、二つの観察の公開変数による結合、重複支持、単項規則との結合も検査しました。
H10 の誤翻訳では、旧側と正しい同一事象への翻訳では出ない s2/m1/陽性が、別々の事象から役割を取ると現れます。列挙した有限モデルの中で false/false/true となる反例と、not_certified を返しました。この false はその列挙モデル内の真理であり、臨床情報の未記載を偽としたものではありません。
H12 では確認の直前・時点境界、AI の未確認と疑い、訂正が未確認の間の旧主張の維持、訂正後にさらに訂正されても旧主張を復活させないことを照合しました。本人・家族・別時点・別用途の文脈を分け、衝突の双方の原根拠も保持しました。
計算上限と実行保証
基本例の生成・読み戻しは各6 steps、新側の二問は34 steps、原・新・比較の共有予算では41 stepsです。各途中停止点を検査し、未完成 artifact や一問の途中の binding を返さないことを確認しました。共有予算40では一問の比較だけが完了し、残りの差分と certificate は null です。
構文上限内でも計算完了は保証しません。同じ四つ組を65主張が支え、二つの原子式を結合する例では、原側が完了しても新側の中間 binding が4096を超えます。resource_limit として停止し、回答の喪失や正常な空差分とはしません。公開 binding の1000件超過も、最初の1000件を完全回答として返さず停止します。64 atom から320 atomへ展開する構文境界は、一事象の入力で別に検査しました。
再現と固定した実体
python3 -m unittest discover -s tests
python3 scripts/research/evaluate-p1-b.py --cli --output data/research/p1-b/development
python3 scripts/research/evaluate-p1-a.py --cli --output data/research/p1-b/p1-a-regression
python3 scripts/research/evaluate-p0.py --cli --output data/research/p1-b/p0-regression
git diff --check
Python 3.14.4、標準ライブラリのみ。対象は3.11以降ですが、3.11での実行は未確認です。外部データ、依存パッケージ、サーバー、別のビルド手順は追加していません。
| 実体 | SHA-256 |
|---|---|
| native 仕様の生バイト | 0fd014dd4904b2773839a8577675a59f7386ef2ea81ddb00c0def2ebbdf99cf3 |
| P1-b manifest の生バイト | b48bba848ea2e5bb96b11ebc5d43b53a42b05f3f852104e655aada15e66493c9 |
| P1-b 検証の source bundle | 8c19c7687ef611d6d8a5bc52a76f2345dd76522d8b12c743ae29643383cb3dcd |
source bundle は runtime の Python/仕様JSON、全テスト、P0/P1-a/P1-b 評価スクリプト、P1-b 実行契約の各生バイトハッシュの canonical digest です。環境・ファイル一覧・実結果は data/research/p1-b/development/results.json、回帰記録は上記の各出力先、テストログは data/research/p1-b/unit-tests.txt に保存しました。検証時の HEAD は 00790f2、作業差分あり。上表の bundle と manifest が実際に検証した内容を固定します。これらの記録は Git 管理外です。
残る研究上の境界
有限照合の一致は全モデルの意味保存の認定ではありません。certificate は一致時も not_certified / finite_execution_check とし、全モデル被覆等の義務は未認定です。新しい事象の件数・同一性は旧 Q の保証対象外で、対象外の式を空回答としません。任意の翻訳プログラム、存在証人の一般推論、複数段階の合成、長期保存基盤、臨床ライブラリは実装していません。
次は P1-c(H13〜H19):モデル被覆を欠く更新、存在と名前付き回答、否定の意味の変更、二段階の合成、射影の喪失、有限検査だけでの誤認定を扱います。その後、P1-d で全20条件と P0/P1-a 回帰をまとめます。原理上の最終目標と、今回実行できた有限の断片は引き続き区別します。