Generated from
corpus/portfolio/workflow.yml. Do not edit by hand — runpython scripts/generate-corpus-docs.py.
corpus/portfolio/workflow.yml¶
Title / id: workflow.portfolio
id: workflow.portfolio
status: active
line: portfolio
stages:
- id: intake
entry:
- A captured spark has an outcome or named discovery question.
bindings:
- inv.portfolio.line-routing
roles:
- role.portfolio-manager
artifacts:
- portfolio.intake-record
evidence:
- Initiative ID
- source
- outcome or discovery question
exit:
- The Initiative record is complete enough to classify.
next_stages:
- classify
validation:
mode: deterministic
checks:
- required Initiative fields present
- source is attributable
on_gap: gap.stage.portfolio.intake
recovery:
action: remain_at_stage
preserve:
- artifacts
- evidence
- decision_log
- id: classify
entry:
- Intake record is complete and classification evidence is available.
bindings:
- inv.portfolio.estate-intent
roles:
- role.portfolio-manager
artifacts:
- portfolio.classification-decision
evidence:
- Archetype
- estate intent
- proposed workstreams
- rationale
exit:
- Classification and initial workstream decisions are recorded.
next_stages:
- prioritize
validation:
mode: judgment
checks:
- classification rationale addresses available evidence
- unresolved ambiguity is a named gap
on_gap: gap.stage.portfolio.classify
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: prioritize
entry:
- Classification is recorded and comparable priority evidence exists.
bindings:
- inv.portfolio.priority-tier
roles:
- role.portfolio-manager
artifacts:
- portfolio.priority-decision
evidence:
- Priority tier
- disposition
- comparison rationale
exit:
- Priority and disposition are explicitly decided.
next_stages:
- capacity
validation:
mode: judgment
checks:
- priority criteria are addressed
- conflicts are escalated to the President
on_gap: gap.stage.portfolio.prioritize
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: capacity
entry:
- A continue decision exists and required workstreams are known.
bindings:
- inv.portfolio.wip
roles:
- role.portfolio-manager
artifacts:
- portfolio.capacity-decision
evidence:
- WIP counts
- applicable caps
- available slot
exit:
- Capacity is confirmed or the Initiative is parked with a review date.
next_stages:
- review
validation:
mode: deterministic
checks:
- WIP counts are current
- applicable caps are not exceeded
on_gap: gap.stage.portfolio.capacity
recovery:
action: remain_at_stage
preserve:
- artifacts
- evidence
- decision_log
- id: review
entry:
- A review date or material decision trigger has arrived.
bindings: []
roles:
- role.portfolio-manager
artifacts:
- portfolio.review-decision
evidence:
- Current outcomes
- workstream states
- risks
- next action
exit:
- Continue, park, kill, or complete is recorded with the next review.
next_stages: []
validation:
mode: judgment
checks:
- all active workstreams are represented
- decision owner and next action are explicit
on_gap: gap.stage.portfolio.review
recovery:
action: remain_at_stage
preserve:
- artifacts
- evidence
- decision_log
notes:
- Portfolio owns the Initiative spine and remains accountable while line workstreams run concurrently.
- System entry for all sparks; creates or activates product, software, editorial, services, or operate
workstreams.
- Executing agents record Initiative and workstream state; Conductor reads, compiles, validates, and authorizes.
- Timed attention may use Google Calendar, but calendar events are not Initiative state.
- Archetypes are software-product, content-product, and services-product.
schema_version: corpus-unit.v2
kind: workflow
version: 1.0.0
layer: organization
depends_on:
- id: core.stage-contract
version: ^1.0.0
- id: org.roles
version: ^1.0.0