Skip to content

Context Pool

Context Pool(コンテキストプール) とは、State / Projection Surface(状態面 / 投影面)の総体として記録された、投影の基質です。

コード、仕様、Issue、PR、会話ログ、実行ログ、判断記録、記憶、候補、仮説——アクターが参照しうる形で記録されたものは、すべてプールに属します。

プールは、PCE 1.0 の「潜在的コンテキストプール」の後継概念です。「潜在的」を外したのは、未記録・未観測の全体は プロジェクト現実 に属し、プールは記録された部分だけを指すからです。系譜は PCE の系譜 を参照してください。

プールは平らではありません。正規性の勾配で層化されます。

内容既定の依拠可否書き込み
canonical(正規)昇格済みの投影。仕様、判断記憶、マージ済みコード依拠してよいWarrant 必須
provisional(暫定)候補、仮説、未採用メモ、条件つき判定の記録参照のみ自由
raw(生)会話ログ、実行ログ、未構造の記録参照のみ自由

この表が、PCE 3.0 の二つの法を一枚にまとめています。

記録は自由である。記録することは、昇格ではない。 検索できることは、依拠してよいことではない。

一つ目が生成を解放します。何でも記録してよく、候補は無料です。二つ目が汚染を防ぎます。プールから引き出せることと、前提にしてよいことは別です。

層は「依拠してよいか」を定めますが、プールにはもう一つ独立した軸があります。Reach(リーチ)——その項目が将来の断面に、既定で入るかどうかです。

  • pull(低リーチ): 参照されるまで眠っている。コード、ADR、過去の Issue。Compile が関連性を判断したときだけ断面に入る。
  • push(高リーチ): 将来の断面に既定で注入される。記憶、常設の規約、システムプロンプト。探されるのを待たず、後続を見つけに来る。

正規性とリーチは直交します。

低リーチ(pull)高リーチ(push)
正規マージ済みコード、ADR判断記憶、常設規約
暫定・生ログ、候補(正常な状態)汚染(あってはならない象限)

右下が記憶汚染の正確な定義です。汚染とは、正規性なきリーチである。 問題は記録されたことではなく(記録は自由)、門を通っていないものが高リーチ面に着地して、既定の注入力を得たことです。

ここから規則が一つ出ます。

面のリーチが、要求される層を決める。高リーチ面には、正規層の項目しか置いてはならない。

プールの項目には二つの使い方があります。

  • 参照(consult): 読む、検討する、比較の材料にする。どの層でも自由。
  • 依拠(rely): 再検証なしに遷移の前提として使う。正規層は既定で可。暫定・生の層は、明示的な根拠なしに不可。

生ログを読んでアイデアを得ることと、生ログの記述を事実として実装することは、別の行為です。前者は参照であり自由、後者は依拠であり根拠を要します。詳しくは Reliance を参照してください。

プール上の操作は四つに整理されます。

遷移の結果をプールへ書き戻すことです。門はありません。 すべての遷移の出力——差分、観測、会話、失敗、不採用候補——は、生または暫定の層へ自由に記録されます。記録の漏れは複利を止めるため、記録は多いほどよい。

特定のアクターと遷移のために、プールから断面を切り出すことです。選び、編集し、順序づけ、欠落を埋め、矛盾を潰します。

Compile は Actor-local Situation Package の統治下にあります。断面の各項目には層と依拠可否を付します。「文脈より先に状況」の原則どおり、何を見せるかは、何をしてよいかの定義に従属します。

高リーチの項目(記憶など)には、Compile にもう一つの判定が加わります。既定で注入される記憶は、書かれた文脈とは別の文脈で適用されます。だから層と依拠可否に加えて、現在の文脈への適用可否を想起のたびに判定します。宣言された適用域の内側なら依拠してよく、外側または不明なら参照のみに降格します。詳しくは One Memory through PCE を参照してください。

項目を上の層へ移すことです。生から暫定への構造化は自由です。正規層への昇格だけが門を持ちます。 Warrant(進行根拠) が必要であり、由来と無効化条件が付きます。

複数の項目を要約・統合して置き換えることです。最も危険な動詞です。 圧縮は由来と留保を落とします。

圧縮の出力が依拠されるなら——正規層に入る、または依拠されている項目を置き換えるなら——その圧縮は正規変更であり、Warrant を要する。

門のない圧縮の連鎖が 要約ロンダリング です。生ログの圧縮結果を生の層に置くだけなら自由ですが、圧縮結果が元の記録の代わりに依拠され始める瞬間、それは昇格と同じ行為になります。

プロジェクト現実(完全には捕捉できない)
└─ Context Pool(記録された基質 = 状態面の総体)
├─ raw(生の記録) ← capture は自由
├─ provisional(暫定投影) ← 構造化も自由
└─ canonical(正規投影) ← 昇格には Warrant
  • プロジェクト現実 は常にプールを超過します。プールの外に、未記録の現実が残ります。
  • 永続状態投影 は、プールのうち由来と正規性が登記された領域(正規+暫定)です。
  • Canonical State は、プールの正規層です。
  • Memory(記憶)は、プールのうち高リーチの領域です。詳しくは One Memory through PCE を参照してください。
  • 不明点は、プールの外(未記録)にも、中(未参照・未昇格)にもあります。
  • 記録は自由である。capture に進行根拠を要求してはならない。
  • プールの項目は層を持ち、層が既定の依拠可否を定める。
  • 正規層への移動は遷移であり、進行根拠を要する。
  • 依拠される圧縮は正規変更として扱う。
  • Compile の断面は、項目ごとに層と依拠可否を明示する。
  • 高リーチ面には正規層の項目しか置いてはならない。
  • 高リーチ項目の適用可否は、想起のたびに現在の文脈に対して判定する。
  • 検索可能性を依拠可能性と混同してはならない。