Parent
Parent: #196
What to build
Consolidate the five I/O operation methods (_comment, _dispatch, _cleanup, _request_reviewer, _emit_kpis) from _WorkflowCommon into PhaseOps, where they become methods that use the existing injectable callback fields. This eliminates the duplicate I/O protocol that DevLoopWorkflow and PRCommentWorkflow currently inherit through _WorkflowCommon.
The PhaseOps methods should follow the same pattern as the existing _phase_comment / _phase_cleanup: use injectable callbacks when available, fall back to Temporal activity calls otherwise. This is the foundation that makes the subsequent inheritance cleanup safe.
Acceptance criteria
Blocked by
None - can start immediately
Parent
Parent: #196
What to build
Consolidate the five I/O operation methods (_comment, _dispatch, _cleanup, _request_reviewer, _emit_kpis) from _WorkflowCommon into PhaseOps, where they become methods that use the existing injectable callback fields. This eliminates the duplicate I/O protocol that DevLoopWorkflow and PRCommentWorkflow currently inherit through _WorkflowCommon.
The PhaseOps methods should follow the same pattern as the existing _phase_comment / _phase_cleanup: use injectable callbacks when available, fall back to Temporal activity calls otherwise. This is the foundation that makes the subsequent inheritance cleanup safe.
Acceptance criteria
Blocked by
None - can start immediately