Skip to content

Consolidate PR review/rework pipelines — eliminate redundancy #705

@nextlevelshit

Description

@nextlevelshit

Problem

We have 4 overlapping pipelines for the PR review→fix→reply cycle:

Pipeline Type Steps
ops-pr-review Leaf Review PR, post findings
ops-pr-rework Leaf Fetch → triage → fix → push (no reply, uses git add -A)
ops-pr-fix-review Leaf Fetch → triage → fix → push → reply (superset of rework)
impl-review-loop Composition impl-issue → ops-pr-review → ops-pr-rework → re-review

ops-pr-fix-review is a strict superset of ops-pr-rework. impl-review-loop hardcodes 2 iterations and chains leaf pipelines that already overlap.

Proposal

Leaf pipelines (granular, composable)

  1. ops-pr-review (keep, existing) — Review a PR, produce structured findings artifact
  2. ops-pr-triage (new, extracted from rework) — Classify findings as accept/reject/defer/skip
  3. ops-pr-fix (new, extracted from rework) — Apply accepted fixes, run tests, commit, push
  4. ops-pr-reply (new) — Post per-comment resolutions and summary on the PR

Composition pipelines (wire leafs together)

  1. ops-pr-rework → composition of: ops-pr-triageops-pr-fix
  2. ops-pr-fix-review → composition of: ops-pr-reviewops-pr-triageops-pr-fixops-pr-reply
  3. impl-review-loop → composition of: impl-issueops-pr-fix-review (with loop/iteration config)

Cleanup

  • Delete current monolithic ops-pr-rework.yaml (replace with composition version)
  • Delete current monolithic ops-pr-fix-review.yaml (replace with composition version)
  • Fix git add -A → targeted staging in ops-pr-fix
  • Include GitHub Copilot/bot reviews in ops-pr-review and ops-pr-triage

Design principles

  • Each leaf pipeline does ONE thing (single responsibility)
  • Composition pipelines are thin orchestrations — no inline logic
  • Same leaf steps are reusable across different compositions
  • Loop iterations handled by composition config, not hardcoded steps

Acceptance criteria

  • Extract 4 leaf pipelines from existing code
  • Rewrite 3 composition pipelines as thin orchestrations
  • Delete monolithic ops-pr-rework.yaml and ops-pr-fix-review.yaml
  • git add -A replaced with targeted staging
  • Copilot/bot reviews included in review extraction
  • All existing pipelines that reference ops-pr-rework updated
  • wave validate passes on all new pipelines

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions