Skip to content

Generated from corpus/portfolio/workflow.yml. Do not edit by hand — run python 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