Skip to content

Typed phase result contracts between pipeline phases #139

@VincentShipsIt

Description

@VincentShipsIt

Parent: #126

What

Define structured output types for each phase so inter-phase data flow is typed, not stringly-typed fields on a shared context:

  • PlanPhaseResult — structured plan, raw output, parsed success/failure
  • ReviewPhaseResult — decision (approve/request_changes), findings, feedback
  • ExecutePhaseResult — exit code, changed files, error snippet
  • VerifyPhaseResult — passed/failed, summary, QA results
  • TestPhaseResult — exit code, output, failure fingerprint

Phases return these. Orchestrator reads them to decide next step. Previous phase result passed into next phase's context factory.

Scope

  • packages/pipeline/src/types.ts — new result types
  • packages/pipeline/src/pipeline/planning-phases.ts — return typed results
  • packages/pipeline/src/pipeline/execution-phases.ts — return typed results

Estimate

~80 lines for types. Integration with dispatch loop adds ~50 more.

Depends on

#132 (dispatch loop) — results feed into dispatch decisions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    Status

    Deferred

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions