Skip to content

Memory Writing

Memory Writing

Memory Writing とは、ある Actor が、ある Process Frame のある局面において、
memory candidate または process delta から導かれる知識項目を、
Durable Project State の適切な zone / collection / status に対して
正しい形式・由来・境界・ライフサイクルで書き込む責任 である。

それは単なる保存ではなく、
subject classificationtarget selectioncanonical / provisional distinctiondecontextualizationprovenance attachmentdeduplication / supersessionretention / freshness assignmentwrite record production を含む。

より短く言えば、Memory Writing とは
「何を、どこへ、どの形で、どの権限に基づいて、future process の前提として残してよいか」を実際に durable state へ反映する責任
である。

PCE 2.0 において memory は、単なる保管庫ではない。
それは future process の初期条件であり、project の継続可能性そのものである。
したがって memory への書き込みは、単なる storage operation ではなく、
project の現実を書き換える責任ある行為 として扱われる。

この意味で Memory Writing は、
Responsibility-first を durable-state mutation 側から具体化した責任である。


PCE 2.0 が Memory Writing を独立責任として置くのは、
「有用そうな知識があること」と「それを project memory として残してよいこと」が別だからである。

少なくとも、次の問題がある。

1. 生成された知識は、そのまま durable にしてよいとは限らない

Section titled “1. 生成された知識は、そのまま durable にしてよいとは限らない”

process は多くのものを生む。

  • decision rationale
  • rejected alternative
  • failure lesson
  • checklist candidate
  • resumable summary
  • governance note
  • raw implementation note

しかし、これらを同列に durable 化すると project state はすぐに汚れる。
Memory Writing は、この選別を実際の write operation として引き受ける。

2. evaluation だけでは durable state は更新されない

Section titled “2. evaluation だけでは durable state は更新されない”

ある candidate が promote-worthy だと評価されたとしても、
それを どの collection に、どの status で、どの shape で 入れるかは別問題である。
評価は admissibility を与えるが、書き込みそのものは実行しない。

3. approval だけでも durable state は更新されない

Section titled “3. approval だけでも durable state は更新されない”

approver が「この candidate は先へ進めてよい」と ratify しても、
重複処理、supersession、canonical/provisional の区別、retention までは自動的に決まらない。
それを持つのが Memory Writing である。

4. durable state の更新は future process を拘束する

Section titled “4. durable state の更新は future process を拘束する”

一度入った memory は、future context compilation、future handoff、future decision-making に使われる。
したがって雑な write は future process を誤誘導する。

5. runtime / long-running process では provisional write も重要になる

Section titled “5. runtime / long-running process では provisional write も重要になる”

recovery point や pending candidate のように、
canonical ではないが durable に保持すべきものがある。
Memory Writing は canonical write だけでなく、provisional durable write も扱う。

だから Memory Writing は、
知識候補を durable project reality に変える責任
として独立に扱われる必要がある。


輪郭をはっきりさせるために、まず何ではないかを書いておく。

ファイルやログを残すこと自体は storage である。
Memory Writing は、何を durable project memory として採用し、どの collection に属させ、どの status を与えるかまで含む。

2. 単なる Memory Promotion Rules ではない

Section titled “2. 単なる Memory Promotion Rules ではない”

Memory Promotion Rules は昇格の制度である。
Memory Writing は、その制度を実際の durable state mutation として実行する責任である。

3. 単なる Memory Promotion Criteria ではない

Section titled “3. 単なる Memory Promotion Criteria ではない”

Memory Promotion Criteria は判断基準である。
Memory Writing は、その基準を通過した candidate をどう durable form に変えるかを担う。

evaluator は「promote-worthy か」を判断する。
memory writer は「どこへ、どの形で、どの status で、どの履歴関係を保って書くか」を引き受ける。

approver は先へ進めてよいかを ratify する。
memory writer は actual durable write を行う。

candidate を最初に書いた actor が、そのまま durable memory writer であるとは限らない。
著者と durable write authority は分けて考えるべきである。

artifact merge は canonical artifacts への更新であり、しばしば別の authority surface を持つ。
Memory Writing は主に decision / failure / operational / evaluation / governance memory の durable 化を中心に扱う。
ただし project によっては artifact-adjacent notes の write と密接に連動する。

8. 単なる memory_write_authority ではない

Section titled “8. 単なる memory_write_authority ではない”

memory_write_authority は bundle 上の権限である。
Memory Writing は、その authority を使って実際に何をどう durable state に反映するかを引き受ける責任である。


PCE 2.0 では、Memory Writing は少なくとも次の責務を含む。

何を書こうとしているのかを分類する。

例:

  • decision memory
  • failure memory
  • operational memory
  • evaluation memory
  • governance record
  • approved summary
  • provisional recovery-related note

分類を誤ると、collection semantics が壊れる。

どの zone / collection / status に置くべきかを決める。

  • canonical / decisions
  • canonical / failure_memory
  • canonical / operational_memory
  • canonical / evaluation_memory
  • canonical / governance_records
  • provisional / pending_candidates
  • provisional / recovery_points

などである。

いま canonical にすべきか、まだ provisional に留めるべきかを分ける。
PCE 2.0 においてこれは非常に重要である。

raw candidate を durable memory form に整える。

例:

  • raw note → rationale summary
  • failed attempt log → failure lesson
  • repeated review note → checklist candidate
  • long discussion → approved summary

ここでは decontextualization が重要になる。

その item が

  • どの frame から来たか
  • どの delta に由来するか
  • どの evidence を持つか
  • どの authority で書かれたか

を失わずに付与する。

既存 durable item との関係を処理する。

  • reject as duplicate
  • update existing item
  • supersede old item
  • keep separate by scope

を判断し、必要なら履歴を残す。

どれだけ長く active に保ち、どの条件で stale / archive / retire とするかを与える。

最終的に durable state を変更する。

  • create
  • update
  • provisionalize
  • canonicalize
  • supersede
  • archive
  • retract

などの mode がありうる。

何を書き、どの rule / evidence / authority に基づいてそうしたかを記録する。
Memory Writing は traceability なしには成立しない。

書かない、保留する、より弱い zone に置く、という判断も責任の一部である。
良い memory writing は「たくさん入れること」ではない。


  • Execution は candidate や delta を生み出す
  • Memory Writing はそれを durable state へ反映する

execution actor は failure lesson を見つけられるが、
それを canonical failure memory にする責任を持つとは限らない。

  • Evaluation は candidate が十分かどうかを判定する
  • Memory Writing は candidate を durable form に変え、collection に配置する

評価が pass しても、duplicate 処理や supersession の設計までは行わない。
それは memory writer の仕事である。

  • Approval は次へ進めてよいかを ratify する
  • Memory Writing は実際に durable state を mutate する

approval は write path を開くことがあるが、write そのものではない。

  • Goal Ownership は frame 全体の目標と完了条件を保持する
  • Memory Writing は何を future project knowledge として残すかを決める

goal owner が memory writer であることもあるが、概念上は分けるべきである。

artifact merge がコードや仕様の canonical state を更新するのに対し、
Memory Writing は主に durable knowledge layer を更新する。
両者は同時に起こることもあるが、criteria と authority はしばしば異なる。


Memory Writing と Memory Promotion の関係

Section titled “Memory Writing と Memory Promotion の関係”

この区別は非常に重要である。

candidate を durable memory path に載せること。
canonical 候補か provisional 候補かを含む。

その候補を実際に Durable Project State に書き込むこと。
target collection、form、supersession、retention を持つ actual mutation である。

典型的な流れは次のようになる。

  1. candidate が提案される
  2. candidate が評価される
  3. candidate が promote-worthy と判断される
  4. memory writer が target と form を決めて write する

ただし例外もある。
たとえば runtime actor が recovery point を provisional に書く場合、
narrow な memory writing が先に起こることもある。


Memory Writing が扱う主な target collection

Section titled “Memory Writing が扱う主な target collection”

PCE 2.0 では、少なくとも次の durable collection が Memory Writing の主対象になる。

  • accepted rationale
  • approved interpretation
  • chosen trade-off
  • boundary clarification
  • reusable failure lesson
  • rejected alternative with reason
  • anti-pattern
  • do-not-repeat note
  • checklist
  • playbook
  • workflow pattern
  • skill refinement
  • runbook note
  • threshold clarification
  • review baseline
  • accepted rubric note
  • quality baseline update
  • approval rule note
  • escalation rule clarification
  • scope restriction note
  • audit-relevant annotation
  • approved phase summary
  • resumable but durable-value summary
  • stable domain note
  • pending memory candidates
  • recovery points
  • hold-for-review items

重要なのは、同じ candidate が複数 collection に分かれうることではなく、
何の collection semantics に従う知識なのか を誤らないことである。


Memory Writing と canonical / provisional の違い

Section titled “Memory Writing と canonical / provisional の違い”

Memory Writing は単なる yes / no ではない。
典型的には次の三つを分ける必要がある。

future process が前提として依拠してよい durable item として書く。
要求水準は高い。

durable には保存するが、まだ canonical としては採用しない。
pending candidates や recovery-related items が典型である。

現時点では残すべきでない、あるいは active memory としては維持すべきでない。

この区別がないと、project memory はすぐに壊れる。


Memory Writing と decontextualization の関係

Section titled “Memory Writing と decontextualization の関係”

Memory Writing は、単に raw candidate をコピペして durable state に置くことではない。
多くの場合、future process が使える durable form へ変換する必要がある。

  • raw discussion → decision summary
  • failed run log → failure lesson
  • reviewer notes → operational checklist
  • long conversation → approved summary with scope note

この変換が必要な理由は明確である。

  • future actor は元の trace 全体を読まない
  • local context なしでも意味が通る必要がある
  • scope と applicability が明示されている必要がある
  • provenance を失わない必要がある

したがって Memory Writing は、
write であると同時に durable-form construction でもある。


Memory Writing と deduplication / supersession の関係

Section titled “Memory Writing と deduplication / supersession の関係”

durable state を保つには、ただ追加していくだけでは足りない。
Memory Writing は、既存 durable item との関係を整理しなければならない。

実質的に同じ内容なら、新規 write を拒否する。

既存 item を更新して取り込む。

新しい item で古い item を置き換える。
ただし supersession relation を traceable に残す。

scope や applicability が異なるなら、別 item として保持する。

この処理がないと、

  • duplicate note
  • contradictory checklist
  • stale rationale
  • polluted operational memory

が増殖する。


Memory Writing と recovery / provisional writes

Section titled “Memory Writing と recovery / provisional writes”

runtime actor や checkpoint manager が recovery_points に write する場合、
これも Memory Writing の narrow form とみなせる。

ただし重要なのは、これを canonical knowledge writing と混同しないことだ。

  • target は通常 provisional zone
  • reuse 目的より resume continuity 目的が強い
  • freshness / invalidation が重要
  • authority surface が runtime 寄り
  • decontextualization 要件は knowledge memory より弱いことがある

この意味で Memory Writing は、collection によってかなり性格が変わる。


Memory Writing は actor symmetry の中でどう分布するか

Section titled “Memory Writing は actor symmetry の中でどう分布するか”

PCE 2.0 は actor の分析上の対称性を認める。
しかし Memory Writing は強く 非対称責任 になりやすい。

AI actor や runtime actor に memory writing を割り当てることは可能である。
とくに

  • provisional writes
  • bounded collections
  • policy-backed writes

ではそうである。

しかし canonical memory writing には通常、次が必要である。

  • provenance judgment
  • target collection semantics
  • supersession responsibility
  • maintenance cost awareness
  • governance compatibility判断
  • future project reality への配慮

このため、canonical memory writing はしばしば

  • human memory writer
  • governance-backed operator
  • tightly constrained automated writer

に集中しやすい。

重要なのは、
actor であることから memory writing が自動的に出てこない
という点である。


memory writer は常に single actor とは限らない。
少なくとも次の形がありうる。

一人または一系統がすべての collection を扱う。

  • decision writer
  • failure memory writer
  • operational memory writer
  • governance record writer

のように分かれる。

provisional write は runtime / executor 側で許し、
canonical write は memory writer に限定する。

proposer と writer を完全に分ける。
PCE 2.0 ではかなり一般的な設計である。

memory writer + domain owner approval のように複合的な write path を持つ。

このトポロジは、risk、sensitivity、maintenance cost に応じて設計されるべきである。


Memory Writing responsibility は static ではない。
少なくとも次の操作がある。

candidate を memory writing path に乗せる。

durable form へ整える。

target collection / scope / status を決める。

pending candidate や recovery point として保存する。

future process の前提として使える形で canonical zone に反映する。

既存 item を更新する。

古い item を新しい item で置き換える。

active ではなくなった item を退役させる。

誤った durable item を撤回する。
retract は supersede と違い、「これ自体が不適切だった」という意味を持つ。

candidate を durable state に入れない。

重要なのは、Memory Writing が
create だけではなく change / replace / retire / refuse を含むことだ。


Memory Writing はしばしば Handoff を伴う。

  • reviewer → memory writer
  • child frame → parent memory writer
  • evaluator → memory writer
  • checkpoint manager → recovery collection

このとき handoff package には少なくとも次が必要である。

  • candidate ref
  • intended target collection
  • evidence refs
  • evaluation result
  • provenance
  • unresolved concerns
  • desired status (canonical / provisional)

良い memory writing は、candidate を読むのではなく、
candidate continuity を受け取る
この意味で handoff quality は memory quality に直結する。


Memory Writing と Checkpoint / Recovery の関係

Section titled “Memory Writing と Checkpoint / Recovery の関係”

long-running process では memory writing 自体も中断されうる。
したがって Checkpoint and Recovery と結びつく。

memory-writing checkpoint が必要な場面

Section titled “memory-writing checkpoint が必要な場面”
  • candidate review が長い
  • multiple collection updates を一度に扱う
  • supersession / archive を伴う
  • canonical write 前に approval 待ちがある
  • candidate が stale でないか
  • source delta が still valid か
  • target collection state が drift していないか
  • competing supersession が起きていないか
  • required authority が変わっていないか

つまり Memory Writing も、単発 write ではなく recoverable responsibility として扱うべきである。


PCE 2.0 における最小スキーマは、次のように置ける。

memory_writing_responsibility:
actor_ref:
frame_id:
subject_scope:
target_collections:
zone_scope:
# canonical | provisional | both
authority_basis:
required_preconditions:
required_evals:
required_approvals:
required_evidence:
write_modes:
- create
- update
- provisionalize
- canonicalize
- supersede
- archive
- retract
- reject
normalization_requirements:
deduplication_policy:
supersession_policy:
retention_policy:
freshness_policy:
visibility_policy:
audit_requirements:
validity:
active_when:
expires_when:
provenance:

bundle の一部として書くなら、もう少し簡潔に次のようにも置ける。

memory_writing:
subjects:
target_collections:
zone_scope:
write_modes:
required_evals:
required_approvals:
required_evidence:
normalization_requirements:
deduplication_policy:
supersession_policy:
retention_policy:
audit_requirements:
invalidation_conditions:

このスキーマで重要なのは、次の点である。

  1. subject と target collection がある
  2. canonical / provisional が分かれている
  3. create 以外の write mode がある
  4. normalization / dedup / supersession を含む
  5. required eval / approval / evidence を持つ
  6. audit と invalidation がある

つまり Memory Writing は、
単なる DB 書き込みではなく、
governed durable-state mutation responsibility として扱われる。


feature.checkout.coupon-combination frame における memory_writer は、たとえば次のように書ける。

memory_writing_responsibility:
actor_ref: memory_writer
frame_id: feature.checkout.coupon-combination
subject_scope:
- decision_delta.accepted_rationale
- failure_memory_candidate.naive_threshold_regression
- operational_memory_candidate.coupon_edge_case_checklist
- approved_summary.phase_summary
target_collections:
- decisions
- failure_memory
- operational_memory
- pending_candidates
zone_scope: both
authority_basis:
- memory_writer_bundle_v1
- memrule.checkout.operational-playbook.v1
required_preconditions:
required_evals:
- memory_promotion_eval
required_approvals:
- reviewer_for_failure_and_operational_candidates
required_evidence:
- source_delta_ref
- evidence_refs
- provenance_record
write_modes:
- canonicalize
- provisionalize
- supersede
- reject
normalization_requirements:
- decontextualize_candidate
- attach_scope_note
- attach_provenance
deduplication_policy:
strategy: check_existing_by_scope_and_semantics
supersession_policy:
requires_trace: true
retention_policy:
canonical: active_until_superseded
provisional: review_within_next_checkout_release
freshness_policy:
invalidate_on:
- pricing_architecture_change
- coupon_policy_change
visibility_policy:
canonical_operational_memory: checkout_team
failure_memory: checkout_team
provisional_candidates: memory_writers_and_reviewers_only
audit_requirements:
- promotion_decision_record
- resulting_item_ref
validity:
active_when: code_review_approval_completed
expires_when: frame_closed_or_writer_reassigned
provenance:
assigned_by: feature.checkout.coupon-combination

この例で重要なのは、memory writer が「残すかどうか」を決めるだけではなく、

  • どの collection に
  • canonical か provisional か
  • どの form で
  • 既存 item とどう関係づけて

書くかまで持っていることだ。


PCE 2.0 では、少なくとも次の不変条件を置く。

1. No durable memory write without explicit target

Section titled “1. No durable memory write without explicit target”

どこへ書くのか不明な memory write は不完全である。

2. No canonical memory write without provenance

Section titled “2. No canonical memory write without provenance”

由来の追えない knowledge を canonical memory にしてはならない。

3. No canonical memory write without prior admissibility path

Section titled “3. No canonical memory write without prior admissibility path”

required eval / approval を飛ばして canonical write してはならない。

4. No raw local context as canonical memory

Section titled “4. No raw local context as canonical memory”

raw transcript、raw scratchpad、undecontextualized note をそのまま canonical にしてはならない。

existing item を置き換えるなら supersession / update / retract の意味を明示すべきである。

6. No duplicate accumulation without policy

Section titled “6. No duplicate accumulation without policy”

重複を放置してはならない。
deduplication か scoped coexistence の方針が必要である。

memory writing は明示的 authority basis を持たなければならない。

8. Provisional and canonical must remain distinguishable

Section titled “8. Provisional and canonical must remain distinguishable”

有望な candidate を保持してよいが、canonical と混同してはならない。

誰が、何を、どの evidence / rule / authority で書いたか追える必要がある。

10. Memory write should preserve future interpretability

Section titled “10. Memory write should preserve future interpretability”

future actor が読んで意味を取れない durable item を量産してはならない。


いつ Memory Writing を分けるべきか

Section titled “いつ Memory Writing を分けるべきか”

次の条件があるなら、一つの memory writer ではなく分割を考えるべきである。

1. Collection semantics が大きく違うとき

Section titled “1. Collection semantics が大きく違うとき”

decision memory と operational memory では、求められる判断がかなり違う。

2. Canonical と provisional の扱いを分けたいとき

Section titled “2. Canonical と provisional の扱いを分けたいとき”

runtime actor に provisional write を許しつつ、canonical write は人間に限定したい場合である。

3. Sensitivity / governance 要件が違うとき

Section titled “3. Sensitivity / governance 要件が違うとき”

governance record や policy-sensitive memory は専用 writer の方が安全なことがある。

4. Dedup / supersession の複雑さが違うとき

Section titled “4. Dedup / supersession の複雑さが違うとき”

evaluation memory や operational memory は、重複処理の方針がかなり異なる。

module / team / service ごとに memory writer を分けた方が maintenance cost が下がることがある。

短く言えば、
collection semantics、risk、retention、ownership のいずれかが意味的に変わるなら memory writing を分ける
のが基本である。


ある process が memory-writing-aware かどうかは、次で点検できる。

  1. 何を durable memory として書くのか subject を言えるか
  2. target zone / collection を言えるか
  3. canonical と provisional を区別しているか
  4. raw candidate をそのままではなく durable form に整えているか
  5. provenance と authority を付与しているか
  6. deduplication / supersession を扱えるか
  7. required eval / approval を飛ばしていないか
  8. write record を traceable に残せるか
  9. stale / retired / superseded の扱いがあるか
  10. future process がその memory を安全に使えると説明できるか

このどれかが欠けるなら、その process はまだ memory writing を十分に責任として扱っていない。


Memory Writing は、PCE 2.0 の durable-state mutation の中心責任として、次の概念と強く結びつく。


Memory Writing が言っていることは、最終的には次の一文に集約できる。

project memory は、価値がありそうな知識をそのまま貯めることでは成立しない。
何を、どこへ、どの形で、どの由来と境界を保って、future process の前提として残してよいかを引き受ける責任があってはじめて成立する。

PCE 2.0 において memory writer は、単なる保管係ではない。
それは、future process の現実を汚さずに育てる責任を持つ actor である。

だから Memory Writing は、単なる保存処理ではない。
それは、PCE 2.0 において durable project state を意図的に形成し、変形し、維持するための memory mutation responsibility である。