コンテンツにスキップ

個人開発ポートフォリオ配分・撤退テンプレート集

最終確認: 2026-08-02
用途: cash_enginevalidated_corenew_optionmaintenancereserve を同じ期間予算で扱い、相関する依存と撤退時の未履行責任を含めて、継続・拡大・保留・停止を判断する

このファイルは経営判断と運用証跡のための記入書式であり、契約書、法律・税務・会計・個人情報・セキュリティの個別助言ではない。適用法、契約、販売国、決済手段、法人・個人の区分に応じて専門家へ確認する。

名称、ID、金額、時間、比率、閾値、期限、状態の記入例は完全な架空例である。市場の benchmark、推奨配分、成功確率、法定保存期間ではない。自分の契約、入出金、作業記録、顧客確認、依存先文書、法的根拠に置き換える。

顧客名、メール、秘密、credential、個人データ、raw prompt、原資料を貼らない。opaque ID、権限管理された evidence path、hash、redacted summary を使う。

  • 15 章: 期間配分、allocation role、ライフサイクル、相関依存、撤退責任、判断順序の正本。
  • 02 章: 事業モデル、価格、粗利、キャッシュ、既存の簡易 portfolio review の正本。
  • 06 章: security、privacy、権利、データ分類、incident、保持・削除方針の正本。
  • 09 章: 創業者内部時間価値、13 週現金、12 か月容量、完全負荷後貢献の正本。
  • 10 章: channel、platform、agent delegation、外部依存の経済性と権限境界の正本。
  • 11 章: agreement、invoice、payment、refund、renewal、顧客終了条件の正本。
  • 13 章: change、release、rollback、観測、incident learning の正本。
  • 14 章: 標準範囲、例外、提供 mode、製品化投資の正本。
  • 本書式は上記を再計算せず、期間、item、failure domain、sunset plan、decision を参照 ID で接続する。
  1. 書式 1 で、次の判断期間に使える時間と現金を確定し、自分のガードレールを明示入力する。
  2. 書式 2 で、全 item を「期間 allocation role」と「ライフサイクル」の二軸に分類する。片方から他方を推定しない。
  3. new_option は書式 3 で一段階分だけ投資し、追加投資の権利と停止条件を先に決める。
  4. 書式 4 で、vendor、platform、identity、payment、data、model、domain、key person を共通障害領域へ束ねる。
  5. 書式 5 で、売上を生まない保守と義務を落とさず、reserve の消費と再補充を記録する。
  6. 撤退候補は、決定前から書式 6 の liability を見積もり、書式 7 で通知、返金、移行、データ、記録、infra、security を閉じる。
  7. 書式 8 で月次判断を行う。優先順位は STOP > PAUSE > UNKNOWN > READY_TO_DECIDE とする。
  8. 実装が必要な一変更だけを書式 9 から 13 章へ渡す。

Allocation role、ライフサイクル、reserve を分ける

Section titled “Allocation role、ライフサイクル、reserve を分ける”

allocation role は「今期の資源をどの投資目的へ置くか」、ライフサイクルは「item をどう扱う段階か」、reserve は「まだ item に割り当てない期間資源」である。

Allocation role 期間内の役割 典型的な入力 誤用しないこと
cash_engine 既存の現金貢献を守る retention、collection、reliability、support 永続運営や成長段階を意味しない
validated_core 支払・価値証拠のある中核へ追加投資 productization、販売再現性、容量改善 売上だけで安全・継続を保証しない
new_option 不確実性を減らす限定投資 interview、paid test、prototype、distribution test side project の数やコード量を価値にしない
unfunded 必要性は見えるが今期資源を約束しない backlog、義務候補、未承認投資 0 を「責任なし」や「不要」の意味にしない
Lifecycle 意味 次の判断例
explore 問題、顧客、経路の不確実性を減らす 次の小実験 / stop
growth 証拠のある範囲へ追加投資する fund / hold / pause
operate 約束した価値を反復提供する hold / harvest
maintenance 新規価値投資を絞り、既存の約束、安全、互換、記録を履行する hold / merge / transfer / sunset
sunset_planned 撤退を決定し、責任と資金を確定する execute / pause
sunset_active 通知・返金・移行・閉鎖を実行中 continue safely / stop exposure
closed 顧客提供を終了し、根拠のある残存記録・義務だけを保持する retention review / final close

cash_engine × maintenancenew_option × operateunfunded × sunset_active はいずれも成立し得る。allocation role の変更と lifecycle の変更は、別 event、別理由、別 evidence で残す。reserve はこの直積へ入れず、期間 budget waterfall で管理する。

配分率は benchmark ではなく自分の制約

Section titled “配分率は benchmark ではなく自分の制約”

固定の 70/20/10 や「option は必ず 20%」を採用しない。判断期間ごとに、使える founder minutes と spendable cash をまず確定し、その期間の契約、runway、健康、安全、販売機会に合わせて各 allocation role の下限・上限を明示入力する。

discretionary_founder_minutes
= total_portfolio_capacity_minutes
- common_admin_compliance_minutes
- contracted_delivery_support_minutes
- known_incident_remediation_minutes
- continuity_reserve_minutes
- active_sunset_minutes
discretionary_cash_micros
= actual_business_cash_micros
- tax_social_internal_restriction_micros
- customer_obligations_micros
- confirmed_payables_vendor_spend_micros
- absolute_minimum_cash_micros
- continuity_reserve_cash_micros
- open_sunset_funding_micros
time_share_ppm(allocation_role)
= planned_founder_minutes(allocation_role) / discretionary_founder_minutes × 1,000,000
cash_share_ppm(allocation_role)
= planned_cash_micros(allocation_role) / discretionary_cash_micros × 1,000,000
unallocated_founder_minutes
= discretionary_founder_minutes - sum(planned_founder_minutes)
unallocated_cash_micros
= discretionary_cash_micros - sum(planned_cash_micros)
  • ppm は整数比率で、100,000 ppm = 10%。丸め規則を version 固定する。
  • time と cash は別制約である。一方の比率から他方を推定しない。
  • 契約履行、既知 incident、顧客返金、確定買掛、active sunset を discretionary 投資へ混ぜない。それぞれを waterfall で先に控除する。
  • 一つの source event は一つの控除行だけに属する。複数の経済事象を含む原資料は upstream で分割し、同じ時間・現金を二重控除しない。
  • continuity reserve は waterfall で先に控除し、残額だけを allocation role へ配る。予算外の幻の余力にしない。
  • 全 allocation role の planned total は discretionary budget 以下にする。残りは unallocated として可視化し、reserve や allocation role に読み替えない。unfunded item は明示した 0 行を持ち、欠損と区別する。
  • reserve を使ったら、実績は本来の用途へ分類し、reserve draw event と再補充判断を別に残す。同じ時間・現金を reserve と実作業へ二重計上しない。
  • 比率が範囲内でも投資が正しいとは限らない。安全、法務、契約、顧客損害、証拠欠損の veto を先に読む。

相関依存は failure domain で数える

Section titled “相関依存は failure domain で数える”

vendor 行が二つあっても、同じ cloud account、identity、DNS、payment rail、model provider、key person に依存すれば独立な冗長性ではない。各 dependency を failure_domain_id に割り当て、item exposure は同じ item × failure domain で一度だけ集計する。

failure_domain_exposure
= distinct(item_id, failure_domain_id) の contribution / customers / recovery work
  • vendor 数を可用性の証拠にしない。
  • 個別確率や同時障害確率を根拠なく足し算しない。
  • UNKNOWN の確率を 0 に置換しない。
  • fallback は「存在する」「手順がある」「権限がある」「最近 test 済み」を分ける。
  • recovery target は希望ではなく、復旧手順、owner、credential、export、test evidence と結ぶ。

Sunset liability は撤退前から発生している

Section titled “Sunset liability は撤退前から発生している”

sunset liability は閉鎖作業の todo ではなく、既に販売・収集・提供したことから残る未履行責任である。最低でも次の8領域を一件ずつ確認する。

Domain 確認する責任
legal 適用法、許認可、表示、第三者権利、相談・承認
contract 終了条項、通知期限、SLA、support、下請・vendor 契約
refund_credit 前払、未提供期間、credit、chargeback、返金原資、決済手数料
migration_export export format、期限、顧客確認、移行支援、read-only 期間
data_deletion live、backup、log、subprocessor、削除例外、削除証跡
record_retention 税務・会計・契約・security 記録の根拠、保存期限、access owner
infrastructure domain、DNS、email、status、queue、storage、job、vendor、billing
security credential revoke、token、key、account、vulnerability、incident channel

データ削除と記録保存は反対語ではない。データ集合ごとに、削除対象、保存対象、法的・契約上の根拠、アクセス者、保存期限、期限後の消去を分ける。法的根拠を確認せず一律年数を入れない。

STOP
- 重大損害が進行中、active critical breach、無権限処理、回復不能な顧客影響
- STOP だけを許可し、新規販売・拡大・通常運用で相殺しない
PAUSE
- 既知の不適合、資金不足、期限超過、未検証 fallback、承認・是正待ち
- PAUSE または STOP だけを許可する
UNKNOWN
- required evidence、見積、owner、期限、分類、成熟観測が欠損・stale
- 0、N/A、楽観値へ置換しない。UNKNOWN を記録するか PAUSE / STOP とし、資金投入・販売・顧客 exposure を増やさない
READY_TO_DECIDE
- current scope の required evidence が揃い、上位 veto がない
- 自動実行ではない。責任者が FUND / HOLD / HARVEST / MERGE / TRANSFER / SELL / SUNSET / PAUSE / STOP を別 event として決める

優先順位は STOP > PAUSE > UNKNOWN > READY_TO_DECIDE。加重 score、売上、粗利、ユーザー数で veto を相殺しない。

artifact_id / artifact_version:
artifact_status: Draft | Active | Superseded | Closed
supersedes: prior artifact_id | N/A — reason
grain:
portfolio_period_id:
item_id / item_snapshot_id:
evidence_as_of / data_watermark_at:
source_evidence_ids:
owner / reviewer:
created_at / updated_at:
time_zone:
currency / tax_basis:
confidentiality / retention:
allocation_role_code:
lifecycle_code:
allocation_role_decision_event_id:
lifecycle_decision_event_id:
allocation_role_and_lifecycle_independent_check: PASS | UNKNOWN
evidence_id:
claim_supported:
source_type: contract | invoice | payment | bank | customer_confirmation |
work_log | dependency_status | recovery_test | export_test |
deletion_record | retention_schedule | release | incident | other
source_ref / immutable hash:
observed_at / ingested_at:
valid_for_scope:
fresh_until / maturity_due_at:
confirmed | inferred | unknown | stale:
redaction / access owner:
  • 意向を入金へ、invoice を cash へ、vendor の marketing claim を recovery test へ昇格させない。
  • N/A は理由、決定者、時刻、evidence、再確認 trigger があるときだけ使う。
  • required field が欠損、未成熟、stale なら UNKNOWN。0 は観測して定義上ゼロだった場合だけ使う。
  • 過去行を現在の理解で上書きしない。訂正、再分類、再開、停止、完了は append-only event にする。

書式 1: Period budget + user-set guardrail

Section titled “書式 1: Period budget + user-set guardrail”

粒度は一つの判断期間 × 一つの guardrail version。契約済み義務と生活・事業継続上の非交渉枠を先に差し引き、その後に配分可能額を置く。

artifact_id: PBG-
portfolio_period_id:
period_start / period_end / time_zone:
decision_cadence: weekly review + month-end decision | other
guardrail_version:
guardrail_source_code: FOUNDER_SET_NOT_BENCHMARK
adopted_by / adopted_at:
assumption_evidence_ids:
total_portfolio_capacity_minutes:
- common_admin_compliance_minutes:
- contracted_delivery_support_minutes:
- known_incident_remediation_minutes:
- continuity_reserve_minutes / why / release authority:
- active_sunset_minutes:
= discretionary_founder_minutes:
actual_business_cash_micros:
- tax_social_internal_restriction_micros:
- customer_obligations_micros: prepaid / refund / credit / chargeback
- confirmed_payables_vendor_spend_micros:
- absolute_minimum_cash_micros:
- continuity_reserve_cash_micros / why / release authority:
- open_sunset_funding_micros:
= discretionary_cash_micros:
currency / tax basis:
13-week cash snapshot ref:
founder capacity snapshot ref:
largest uncertainty:
replan triggers:

Waterfall component evidence。一つの source_event_ref を複数行へ再利用しない。

Resource Component code Amount Source event ref/hash Exclusion scope Included elsewhere?
time common_admin_compliance no
time contracted_delivery_support no
time known_incident_remediation no
time continuity_reserve no
time active_sunset no
cash tax_social_internal_restriction no
cash customer_obligations no
cash confirmed_payables_vendor_spend no
cash absolute_minimum_cash no
cash continuity_reserve no
cash open_sunset_funding no

Allocation-role guardrail。例の数値をコピーせず、自分で空欄を埋める。share の分母は全 waterfall 控除後の discretionary budget とする。

Allocation role Time min ppm Time max ppm Cash min ppm Cash max ppm Why now Evidence Owner
cash_engine
validated_core
new_option
unfunded 0 0 0 0

Reserve guardrail:

Resource Gross Reserve min Reserve target Reserve max Release authority Replenish trigger Evidence
Founder minutes
Cash

Item allocation plan:

item_snapshot_id Allocation role Planned minutes Planned cash Cash date Hard commitment? Evidence
yes/no

Integrity checks:

four_allocation_role_guardrails_complete: PASS | UNKNOWN
reserve_within_user_guardrail: PASS | FAIL | UNKNOWN
time waterfall subtraction = discretionary minutes: PASS | FAIL | UNKNOWN
cash waterfall subtraction = discretionary cash: PASS | FAIL | UNKNOWN
each source event appears in one deduction only: PASS | FAIL | UNKNOWN
planned_minutes_total <= discretionary_founder_minutes: PASS | FAIL | UNKNOWN
planned_cash_total <= discretionary_cash: PASS | FAIL | UNKNOWN
unallocated_founder_minutes:
unallocated_cash_micros:
unallocated is neither reserve nor allocation role: PASS | UNKNOWN
each_time_share_within_user_guardrail: PASS | FAIL | UNKNOWN
each_cash_share_within_user_guardrail: PASS | FAIL | UNKNOWN
reserve_is_real_uncommitted_capacity: PASS | FAIL | UNKNOWN
derived_period_state: PAUSE | UNKNOWN | READY_TO_DECIDE

粒度は一つの item × period。役割変更は同じ snapshot を上書きせず、次 snapshot と event を作る。

artifact_id: PIS-
item_id / item_snapshot_id:
portfolio_period_id:
item_type: product | service | internal_asset | experiment | obligation
one-sentence customer outcome:
owner / backup owner:
allocation_role_code:
allocation_role_reason:
allocation_role_evidence_ids:
allocation_role_decided_at:
lifecycle_code:
lifecycle_reason:
lifecycle_evidence_ids:
lifecycle_decided_at:
trailing_period net cash contribution:
trailing_period fully-loaded contribution:
active paying customers / as_of:
contracted future delivery amount / period:
open support / incident count:
founder minutes trailing / planned:
dependency_applicability: required | not_applicable — reason + evidence
failure_domain_ids:
sunset_plan_id: N/A — lifecycle not sunset_planned/sunset_active/closed | ID
09 / 11 / 12 / 13 / 14 chapter refs:
largest counterevidence:
next falsifiable question:

Axis independence check:

Check Result Evidence / correction
Allocation role was not inferred from lifecycle PASS/UNKNOWN
Lifecycle was not inferred from revenue or allocation role PASS/UNKNOWN
Allocation role and lifecycle changes have separate events PASS/UNKNOWN
Current obligations remain visible even if revenue is zero PASS/UNKNOWN

書式 3: New-option staged investment card

Section titled “書式 3: New-option staged investment card”

new_option は、小さな投資で追加投資する権利を買う。成功を前提に全 build を約束せず、一段階ごとに上限、期限、反証、次の選択を決める。原則として同時に動かす option 数の上限も書式 1 で定める。

artifact_id: OPT-
option_id / item_snapshot_id:
stage: problem | demand | paid_test | delivery | repeat | distribution | scale
uncertainty_to_reduce:
smallest_decisive_test:
target segment / exclusion:
start_at / decision_due_at:
maximum founder minutes:
maximum cash:
maximum customer / data / security exposure:
maximum irreversible loss:
reversal / cleanup budget:
eligible denominator definition:
success evidence:
counterevidence:
maturity due:
required sample / why:
promotion condition:
repeat condition:
pause condition:
stop condition:
cleanup if stopped:
next action: FUND_NEXT_STAGE | HOLD | PAUSE | STOP | UNKNOWN
decision owner / event ID:

UNKNOWN は延長の理由ではない。追加の小テストで決定的な情報を得られない場合、時間切れを stop evidence として扱う。

書式 4: Dependency + failure-domain register

Section titled “書式 4: Dependency + failure-domain register”
failure_domain_id: FD-
domain_kind: cloud_runtime | identity | payment | data | model | channel |
dns_domain | communication | key_person | legal_permission | other
boundary_definition:
shared control plane / account / credential / owner:
failure modes:
blast radius:
detection owner / signal:
recovery owner / backup owner:
recovery target minutes:
last recovery test / result / evidence:
next test due:
unknowns:
dependency_id Provider / asset Kind failure_domain_id Criticality Observed state Fallback state Test evidence / fresh until
vendor/platform/identity/payment/data/model/domain/key_person low/medium/high/critical healthy/degraded/failed/unknown verified/documented/unverified/none/unknown

4C. Item mapping and deduplicated exposure

Section titled “4C. Item mapping and deduplicated exposure”
item_snapshot_id dependency_id failure_domain_id Required operation Data class Recovery target Evidence
failure_domain_id Distinct exposed items Direct dependency links Cash contribution exposure Active customers Max recovery target Probability
UNKNOWN unless independently supported; do not sum

Readiness:

required_dependency_missing: yes/no/unknown
critical_failed_without_verified_fallback: yes/no/unknown
critical_fallback_unverified: yes/no/unknown
evidence_stale_or_unknown: yes/no
duplicate_vendor_claims_same_failure_domain: yes/no
derived_dependency_state: STOP | PAUSE | UNKNOWN | READY_TO_DECIDE

書式 5: Maintenance, obligation, and reserve ledger

Section titled “書式 5: Maintenance, obligation, and reserve ledger”

粒度は一つの義務または保守 work item。売上機能と混ぜず、誰に対する何の約束かを残す。

obligation_id item_snapshot_id Domain Source Due Minutes Cash Severity State Evidence
contract/security/privacy/tax/support/compatibility/infra agreement/law/policy/incident/vendor open/blocked/complete/unknown

Reserve event:

reserve_event_id:
portfolio_period_id:
event_type: funded | drawn | reclassified | replenished | released
occurred_at:
minutes_delta / cash_delta:
trigger / incident / obligation ID:
actual work role after draw:
source cash event / work log:
remaining reserve:
replenishment decision / due:
  • drawn と実作業を同じ cost として二重加算しない。draw は capacity movement、実績は用途別 work/cash event である。
  • reserve が下限を割ったら、通常の option 投資を自動継続せず PAUSE 判定へ送る。
  • maintenance の削減は obligation の消滅ではない。scope、顧客、契約、risk を先に変える。

粒度は一つの sunset plan × 一つの未履行責任。8領域に少なくとも一行あるかを確認し、N/A は evidence 付きにする。

artifact_id: SLI-
sunset_plan_id / liability_id:
item_snapshot_id:
liability_domain: legal | contract | refund_credit | migration_export |
data_deletion | record_retention | infrastructure | security
obligation_source / clause / policy ref:
affected account count / opaque cohort ID:
status: open | blocked | complete | unknown | not_applicable
severity: low | medium | high | critical
breach_active: yes | no | unknown
owner / approver:
due_at / completed_at:
estimated_cash / currency:
estimated_founder_minutes:
estimate confidence / source:
cash funding event ID:
calendar reservation ID:
customer notice required / deadline / template version:
refund / credit calculation rule:
export format / validation / expiry:
deletion scope / backup expiry / subprocessor confirmation:
record class / legal basis / retain_until / access owner / deletion_after:
infra / credential / domain / communication closure steps:
completion evidence hash:
N/A reason / authority / evidence / recheck trigger:
largest unknown:

Liability control table:

Domain Present? Open Blocked Unknown Estimated cash Minutes Funded? Overdue? Active breach?
legal
contract
refund_credit
migration_export
data_deletion
record_retention
infrastructure
security
active critical breach exists -> STOP
known overdue / blocked / funding gap exists -> PAUSE
required domain / estimate / owner / evidence unknown -> UNKNOWN
all required liabilities complete or evidenced N/A -> READY_TO_DECIDE

書式 7: Sunset execution and closure plan

Section titled “書式 7: Sunset execution and closure plan”
artifact_id: SSP-
sunset_plan_id / item_snapshot_id:
plan_status: proposed | approved | executing | closure_review | closed
decision event / authority:
last sale at:
customer notice at / minimum notice basis:
new signup disabled at:
renewal disabled at:
read-only from / service end at:
export available until:
support ends at:
data deletion schedule:
record retention schedule:
domain / email / status page end dates:
funded cash:
reserved founder minutes:
funding source / cash event IDs:
calendar reservation IDs:
contingency / reserve draw authority:
customer cohort reconciliation:
invoice / payment / prepaid reconciliation:
refund / credit approval and payment reconciliation:
export delivery and customer confirmation reconciliation:
live / backup / log / subprocessor deletion reconciliation:
retained record inventory and legal-basis reconciliation:
vendor / job / queue / storage / billing closure reconciliation:
credential / token / key / account revocation reconciliation:
open vulnerability / incident / support reconciliation:
rollback or extension conditions:
extension authority / maximum duration / incremental funding:
final closure reviewer / reviewed_at:
final evidence manifest hash:
derived_sunset_state: STOP | PAUSE | UNKNOWN | READY_TO_DECIDE

Communication sequence:

Audience Message Send owner Due Channel Confirmation Escalation Evidence
Active paying customer end date, reason boundary, export, refund, support
Prepaid / credit customer calculation, payment timing, dispute route
Integration partner endpoint / credential / webhook end
Vendor / contractor termination, data, access, final invoice
Public visitors signup status, availability, contact

Closure evidence manifest:

evidence_id Domain Claim Source ref/hash Observed at Retain until Access owner

closed は server が消えた状態ではない。顧客との約束が清算され、必要な移行・返金・削除が完了し、残す記録の根拠・期限・access が確定し、infra と credential が閉じ、例外が解消済みまたは有効に承継され、その evidence がある状態である。

書式 8: Monthly portfolio review + decision

Section titled “書式 8: Monthly portfolio review + decision”

粒度は一つの item snapshot × 一つの evidence cutoff。最新値で過去判断を書き換えず、同じ定義・cutoff で比較する。

artifact_id: PDR-
portfolio_review_id:
portfolio_period_id / item_snapshot_id:
evidence_as_of / data_watermark_at:
required gate policy version:
review owner / reviewer:
allocation role / lifecycle:
planned minutes / cash:
actual minutes / cash:
net cash contribution:
fully-loaded contribution:
active customers / retained customers:
contracted future delivery:
open high / critical obligations:
period allocation state:
dependency state / failure-domain refs:
sunset state / liability refs: N/A — reason
option evidence state: N/A — reason
safety / legal state:
contract / customer-harm state:
data / exit state:
largest positive evidence:
largest counterevidence:
required evidence missing or stale:
next irreversible commitment:

Gate table:

Domain Required? Result Evidence Fresh until Fail effect Remediation / owner
safety_legal yes PASS/FAIL/UNKNOWN STOP
contract_customer yes PASS/FAIL/UNKNOWN STOP
cash_capacity yes PASS/FAIL/UNKNOWN PAUSE
allocation_integrity yes PASS/FAIL/UNKNOWN PAUSE
option_evidence yes/N/A + evidence PAUSE
dependency_recovery yes/N/A + evidence PAUSE
sunset_funding yes/N/A + evidence STOP
data_exit yes/N/A + evidence STOP

Decision:

derived_gate_state: STOP | PAUSE | UNKNOWN | READY_TO_DECIDE
allowed_actions:
recorded_action: FUND | HOLD | HARVEST | MERGE | TRANSFER | SELL |
SUNSET | STOP | PAUSE | UNKNOWN
exact scope / cohort / period:
effective_at / expires_at:
decision owner / authority:
reason / counterevidence addressed:
new commitments permitted:
reversal trigger / maximum loss:
next evidence due:
decision event ID:

Action compatibility:

Derived state Allowed actions
STOP STOP
PAUSE PAUSE, STOP
UNKNOWN UNKNOWN, PAUSE, STOP
READY_TO_DECIDE FUND, HOLD, HARVEST, MERGE, TRANSFER, SELL, SUNSET, PAUSE, STOP

READY_TO_DECIDE でも自動昇格しない。SUNSET は安全な計画開始、STOP は損害・exposure の即時停止であり、契約・返金・データ・記録義務を消滅させない。

portfolio 判断を「全部改善する」という曖昧な実装へ渡さず、一つの bounded change にする。

task_id:
source portfolio_review_id / decision_event_id:
source item_snapshot_id / failure_domain_id / sunset_plan_id:
business outcome:
allocation role / lifecycle — independent refs:
allowed repository / service / tenant:
allowed operation and data class:
explicit exclusions:
customer communication authority:
payment / refund authority:
delete / revoke / shutdown authority:
required tests:
recovery / export / deletion evidence:
rollback or containment:
maximum cash / minutes / customer exposure:
human approval gate:
production observation window:
evidence manifest destination:
STOP conditions:
PAUSE conditions:
UNKNOWN fields that must remain unresolved until owner input:
definition of done:

付属 SQL は、利用者が設定した一期間のガードレールと、次の完全な架空 item を持つ。

Item Allocation role Lifecycle 意図した派生状態
Cash product cash_engine operate READY_TO_DECIDE
Maintenance product cash_engine maintenance READY_TO_DECIDE
Validated service validated_core growth PAUSE
AI option new_option operate UNKNOWN
Legacy app unfunded sunset_active STOP

reserve は上の item にせず、期間 gross budget から先に控除する。この組合せは allocation role と lifecycle が独立であることを示す fixture で、望ましい配分や一般的な事業構成を示さない。SQL は同一 item × failure_domain_id の exposure を一度だけ集計し、8領域の sunset liability、safe action compatibility、foreign key、fixture expectation を assertion で検証する。