Skip to content

Responsibility Bundle

Responsibility Bundle

Responsibility Bundle とは、ある actor が、ある process frame のある時点において引き受けている
責務・権限・能力境界・帰責条件の局所的な束 である。

それは単なる role 名ではなく、
goal_ownershipexecutioncapability_authorityapproval_authorityevaluation_authoritymemory_write_authorityincident_ownership と、それぞれの scopeconditionsvalidityconstraints を含む。

より短く言えば、Responsibility Bundle とは
「この actor は、この frame のこの局面で、何を引き受け、何をしてよく、何を確定でき、何を引き受けなければならないのか」
を定義する責任状態である。

PCE 2.0 において、actor はただ存在しているだけでは不十分です。
その actor が process にどう参与しているのかは、Responsibility Bundle によってはじめて明示されます。

この意味で Responsibility Bundle は、
Responsibility-first を ontology として具体化した中心概念です。


なぜ Responsibility Bundle が必要なのか

Section titled “なぜ Responsibility Bundle が必要なのか”

PCE 2.0 が扱うのは、人間だけでなく AI agent、subagent、tool、CI、policy、registry まで含む異種アクターの process です。
このとき、単に「誰が参加しているか」だけを数えても、開発の実態は記述できません。

本当に必要なのは、少なくとも次を明示することです。

  • 誰が goal を持っているのか
  • 誰が実行するのか
  • 誰がどの tool / data / environment を使えるのか
  • 誰が承認できるのか
  • 誰が評価できるのか
  • 誰が durable state を更新できるのか
  • 失敗や逸脱が起きたとき、誰が引き受けるのか

これらを role や permission だけで表現すると、情報が足りません。
逆に accountability だけで表現すると、実行や capability の差異が消えます。

Responsibility Bundle は、この複数の次元を一つの局所単位として持つための概念です。

つまり、Responsibility Bundle は
actor の「参加」を、引受け可能な責任状態として具体化するもの
です。


Responsibility Bundle は何ではないか

Section titled “Responsibility Bundle は何ではないか”

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

reviewermaintaineragent のような role は、比較的安定した肩書きです。
一方、Responsibility Bundle は 特定の frame と時点に結びついた責任状態 です。

同じ reviewer でも、ある frame では approver、別の frame では evaluator かもしれません。
同じ coding agent でも、read-only analysis 中と write-enabled implementation 中では bundle が違います。

使える tool や権限の一覧は、bundle の一部ではありますが、全体ではありません。
「何ができるか」は capability の話であり、
「何を引き受けているか」は responsibility の話です。

PCE 2.0 では、この二つを混同しません。

最終的な説明責任や帰責の所在は bundle の一部ですが、bundle 全体ではありません。
execution を担っていても incident ownership を持たないことがありますし、
approval authority を持っていても execution を担わないことがあります。

「この人が実装担当」「この agent が調査担当」という割り当てだけでは足りません。
承認、評価、記憶更新、失敗時の引受けまで含めて bundle です。

actor は存在の種類です。
bundle は、その actor に割り当てられた局所的な責任状態です。
同じ actor が frame ごとに異なる bundle を持つことがあります。


責任は単数ではなく、束である

Section titled “責任は単数ではなく、束である”

PCE 2.0 が「Responsibility Bundle」という複数形の概念を採るのは、責任が一枚岩ではないからです。

ある actor が process に参与するとき、実際には複数の次元が同時に関わっています。

  • 何を達成すべきか
  • どこまで作業してよいか
  • どの手段を使ってよいか
  • 何を確定してよいか
  • 何を評価してよいか
  • 何を durable state に残してよいか
  • 問題が起きたら誰が引き受けるか

この複数性を捨てると、次のような混乱が起きます。

  • capability があるから responsibility もある、と誤認する
  • execution をしたから approval もできる、と誤認する
  • actor であるから最終責任も持つ、と誤認する
  • 逆に、AI が実行するから人間の責任は消える、と誤認する

Responsibility Bundle は、こうした混線を避けるために、
責任を複数の成分へ分解しつつ、一つの局所単位として束ね直す
ための概念です。


PCE 2.0 では、最低でも次の成分を bundle に含めます。

何を達成すべきかを定める責任です。
どの goal slice をこの actor が保持しているのか、どの範囲まで goal の再定義や優先順位付けに関与できるのかを含みます。

実際に作業を進める責任です。
調査、設計、実装、修正、要約、検証実行など、どの作業を担うのかを含みます。

どの tools、data、environments、permissions を用いてよいかに関わる権限です。
これは execution を成立させるために必要ですが、execution と同一ではありません。
また、現在の frame / phase / runtime における実効境界として materialize されたものは Capability Scope として扱います。

どの delta、どの遷移、どの成果物、どの phase completion を承認できるかに関わる権限です。
これは ratification の権限であり、実行とは別です。

何を、どの基準で、どの重みで評価できるかに関わる責任です。
ここには advisory な評価も blocking な評価もありえます。

どの情報を durable state に昇格させ、更新し、正規状態として残してよいかに関わる権限です。
これは No merge without eval と強く結びつきます。

失敗、逸脱、ポリシー違反、品質不良などが起きたときに、最終的に引き受ける責任です。
execution をしていなくても incident owner であることがあります。


各成分は「ある / ない」だけではない

Section titled “各成分は「ある / ない」だけではない”

Responsibility Bundle を boolean の列としてだけ扱うと粗すぎます。
各成分には、少なくとも次の属性があります。

どこまでの範囲に適用されるか。
たとえば approval authority が「spec だけ」なのか「release まで含む」のかで意味が違います。

いつ有効か、どの条件のときだけ使えるか。
たとえば write authority が「review pass 後のみ」有効ということがあります。

禁止事項、上限、依存前提。
たとえば coding agent が file edit はできても network access は禁止、ということがあります。

どの phase / state / 時間範囲で有効か。
同じ actor でも phase が変わると bundle も変わります。

その成分の範囲を超えたとき、どこへ引き上げるのか。
たとえば evaluator が policy violation を検出したら approver ではなく incident owner に escalate するかもしれません。

したがって bundle は、単なる「権限の有無」ではなく、
境界・条件・有効性を持つ責任状態 として理解されるべきです。


Bundle は frame ごと・時点ごとに異なる

Section titled “Bundle は frame ごと・時点ごとに異なる”

Responsibility Bundle は actor の恒久的な属性ではありません。
それは frame と時点に依存します。

概念的には、次のように書けます。

responsibility_bundle(actor, process_frame, t)

この書き方で重要なのは 3 点です。

同じ actor でも、別の process frame では bundle が違います。
ある frame では executor でも、別の frame では approver かもしれません。

同じ frame の中でも、時点によって bundle は変わります。
着手前、実行中、承認待ち、失敗後の再計画、merge 後では責任状態が違います。

bundle は、global identity の全体像ではなく、その局面における局所責任だけを表します。
この局所性があるからこそ、actor ごとの context compilation が可能になります。


Responsibility Bundle と Responsibility Allocation の違い

Section titled “Responsibility Bundle と Responsibility Allocation の違い”

ここは Process Frame との関係で重要です。

ある actor に、その局面で割り当てられている責任の束。

ある frame の内部で、どの actor にどの bundle を配分するかという全体構造。

概念的には次のようになります。

responsibility_allocation(process_frame) =
{ actor_1 -> bundle_1, actor_2 -> bundle_2, ... }

つまり、

  • frame が持つのは allocation
  • actor が持つのは bundle

です。

PCE 2.0 において、Process Frame はこの allocation を保持し、
個々の actor はその局所断面として bundle を持ちます。


Responsibility Bundle と Actor-local Context の関係

Section titled “Responsibility Bundle と Actor-local Context の関係”

PCE 2.0 における Actor-local Compiled Context は、bundle から導出されます。

概念的には、次のように書けます。

actor_local_context(actor, t) =
compile(
process_frame,
responsibility_bundle(actor, process_frame, t),
durable_project_state,
runtime_state(t)
)

ここで bundle が与えるのは、たとえば次です。

  • goal のどの slice を見るべきか
  • 何をしてよいか
  • 何を見てよいか
  • 何を承認できるか
  • 何を評価すべきか
  • 何を durable state に残してよいか
  • どこまでが自分の責任で、どこから escalate すべきか

したがって、Responsibility Bundle が曖昧なままでは、
actor-local context も正しく compile できません。


Responsibility Bundle は理論的な概念で終わりません。
それは governance の実体とも結びつきます。

bundle の成分は、実際には次のような surface に表れます。

  • tool allowlist / denylist
  • read / write permissions
  • approval gate
  • review requirement
  • escalation rule
  • memory promotion rule
  • audit trail
  • incident handling flow

この意味で bundle は、 Governance Surface の裏側にある責任モデルです。

見えている gate や permission の背後には、常に bundle があるべきです。


Responsibility Bundle は固定物ではありません。
process の進行に応じて、bundle には操作が加わります。

新しい frame や新しい actor に bundle を割り当てる。

bundle の一部を別 actor に局所的に委ねる。
ただし goal ownership や incident ownership は委ねずに残すことがあります。

capability や scope を狭める。
たとえば subagent に read-only の execution だけを渡す場合です。

条件付きで authority や scope を広げる。
ただし widening は通常、approval や別 authority を要します。

一時的に bundle の一部を停止する。
承認待ちや incident 発生時に起こりえます。

bundle の一部または全部を取り消す。
policy violation や scope violation が典型です。

自分の bundle で処理できない問題を、別 actor の bundle へ引き上げる。

ある bundle 成分の主担当を別 actor へ移す。
handoff の中核です。

PCE 2.0 において、これらの操作は単なる内部事情ではありません。
それ自体が process の出来事であり、しばしば Process Delta の一部になります。


すべての責任が一人の actor に一意に割り当てられるとは限りません。
ただし、その共有や分割には形式が必要です。

たとえば goal ownership を複数人が共有することがあります。
ただし、その場合でも primary / secondary や scope の分割が必要です。

approval authority が「spec approval」と「release approval」に分かれることがあります。
同じ approval でも scope が異なれば別成分として扱うべきです。

evaluation authority に advisory evaluator と blocking evaluator が共存することがあります。
CI は advisory または blocking のどちらか、human reviewer は final かもしれません。

したがって bundle は「一人一束」ではあっても、
その内部成分は 共有、分割、階層化 がありえます。


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

responsibility_bundle:
actor:
frame_id:
active_when:
goal_ownership:
scope:
conditions:
execution:
scope:
expected_outputs:
conditions:
capability_authority:
tools:
data:
environments:
permissions:
prohibitions:
approval_authority:
subjects:
conditions:
evaluation_authority:
subjects:
criteria:
conditions:
memory_write_authority:
targets:
preconditions:
incident_ownership:
scope:
escalation_path:

このスキーマで重要なのは、各成分が単なる true / false ではなく、
scope や conditions を持つことです。


「checkout にクーポン併用制約を追加する」frame の中で、いくつかの actor に bundle を割り当てるとします。

responsibility_bundle:
actor: coding_agent
frame_id: feature.checkout.coupon-combination
active_when: spec_approved
goal_ownership:
scope: none
execution:
scope:
- implement_coupon_combination_logic
- update_related_tests
expected_outputs:
- code_diff
- test_updates
capability_authority:
tools:
- repository_search
- code_edit
- test_runner
data:
- checkout_specs
- existing_tests
environments:
- local_repo
permissions:
- limited_write
prohibitions:
- payment_gateway_changes
- production_access
approval_authority:
subjects: []
evaluation_authority:
subjects: []
memory_write_authority:
targets: []
incident_ownership:
scope: none
escalation_path: reviewer
responsibility_bundle:
actor: reviewer
frame_id: feature.checkout.coupon-combination
active_when: code_diff_ready
goal_ownership:
scope: none
execution:
scope:
- review_diff
- request_changes_if_needed
capability_authority:
tools:
- diff_view
- test_report_view
data:
- code_diff
- test_results
- decision_rationale
environments:
- review_ui
permissions:
- approve_or_request_changes
prohibitions:
- direct_code_edit
approval_authority:
subjects:
- code_change
- merge_readiness
conditions:
- required_checks_passed
evaluation_authority:
subjects:
- code_quality
- scope_compliance
- rollback_feasibility
criteria:
- review_checklist
memory_write_authority:
targets: []
incident_ownership:
scope: review_phase
escalation_path: product_owner

この例で見えるのは、同じ frame の内部でも bundle が大きく異なることです。
coding agent は execution を担いますが approval は持ちません。
reviewer は execution と evaluation を担いますが、goal ownership や code edit は持ちません。


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

1. Every executable action must be justified by a bundle

Section titled “1. Every executable action must be justified by a bundle”

実行された行為には、それを正当化する execution と capability authority が必要です。

2. Every approval must trace to explicit authority

Section titled “2. Every approval must trace to explicit authority”

承認は、approval authority を持つ bundle からしか行えません。

3. Every evaluation must trace to explicit evaluation responsibility

Section titled “3. Every evaluation must trace to explicit evaluation responsibility”

評価は、誰または何がどの criteria に基づいて行ったか追跡できなければなりません。

4. Every memory promotion must trace to memory write authority

Section titled “4. Every memory promotion must trace to memory write authority”

durable state の更新は、memory write authority を持つ bundle に紐づいていなければなりません。

5. Every frame must have incident coverage

Section titled “5. Every frame must have incident coverage”

frame 全体として、incident ownership が空白であってはなりません。

assign、delegate、revoke、escalate などの bundle 変化は process 上の出来事であり、必要に応じて記録されるべきです。


実務上は、何を一つの bundle としてまとめ、どこで分けるかが重要です。
次の条件があれば、bundle を分ける意味があります。

1. approval と execution を分けたいとき

Section titled “1. approval と execution を分けたいとき”

実装者が自分で承認してはならない場合です。

2. capability boundary が大きく違うとき

Section titled “2. capability boundary が大きく違うとき”

read-only analysis と write-enabled implementation を分けるべき場合です。

3. evaluation が別 actor / 別条件で行われるとき

Section titled “3. evaluation が別 actor / 別条件で行われるとき”

CI evaluator と human reviewer を分ける典型です。

4. incident ownership を留保したいとき

Section titled “4. incident ownership を留保したいとき”

AI に execution を渡しても、incident ownership を人間側に残したい場合です。

5. memory promotion を厳格にしたいとき

Section titled “5. memory promotion を厳格にしたいとき”

何を durable state に残してよいかを限定したい場合です。

短く言えば、
authority、capability、incident、memory の境界が変わるなら、bundle を分ける
と考えるのがよいです。


ある設計で Responsibility Bundle が十分に定義されているかは、次で点検できます。

  1. actor と bundle が分離して書けるか
  2. goal ownership / execution / approval / evaluation / memory writing / incident ownership を区別できるか
  3. capability authority が responsibility と整合しているか
  4. bundle が frame と時点に依存することを表現できているか
  5. approval authority と evaluation authority を混同していないか
  6. memory write authority が明示されているか
  7. incident ownership に空白がないか
  8. bundle の変更が process event として説明できるか
  9. actor-local context をこの bundle から導出できるか
  10. governance surface の各 gate が bundle のどこに由来するか説明できるか

このどれかが欠けるなら、その責任モデルはまだ粗いままです。


Responsibility Bundle は、PCE 2.0 の ontology の中核として次の概念と強く結びつきます。


Responsibility Bundle が言っていることは、最終的には次の一文に集約できます。

actor が process に参加しているという事実だけでは不十分である。
その actor が、どの局面で、何を引き受け、何をしてよく、何を確定でき、何を引き受けなければならないのかは、bundle として明示されなければならない。

PCE 2.0 において、責任は抽象的な道徳語ではありません。
それは scope、conditions、authority、incident を持つ、局所的で操作可能な構造です。

だから Responsibility Bundle は、単なる補助概念ではありません。
それは、PCE 2.0 において actor participation を 説明可能かつ統治可能にする存在論的単位 です。