Parent: #126
What
Change runProviderPhase signature to accept PhaseInput (frozen read-only snapshot) instead of full mutable PipelineContext. Providers can no longer mutate orchestrator state.
Scope
packages/pipeline/src/pipeline/runtime.ts — runProviderPhase signature change
- All callers of
runProviderPhase in planning-phases.ts and execution-phases.ts — call snapshotPhaseInput(context) before passing
- Post-call mutations (telemetry push, model resolution) stay on orchestrator side via return value
Estimate
~30 lines. Low risk — PhaseInput and snapshotPhaseInput already exist and are exported.
Depends on
Nothing — can be done independently.
Parent: #126
What
Change
runProviderPhasesignature to acceptPhaseInput(frozen read-only snapshot) instead of full mutablePipelineContext. Providers can no longer mutate orchestrator state.Scope
packages/pipeline/src/pipeline/runtime.ts—runProviderPhasesignature changerunProviderPhaseinplanning-phases.tsandexecution-phases.ts— callsnapshotPhaseInput(context)before passingEstimate
~30 lines. Low risk —
PhaseInputandsnapshotPhaseInputalready exist and are exported.Depends on
Nothing — can be done independently.