Design: Design and implement the operator-in-the-loop end-to-end orchestration model #34
Replies: 1 comment
-
|
gpa:design-review:auto Verdict: Ready for planning. The design resolves every open question flagged in the source issue and satisfies all five acceptance criteria for the design artifact itself. A few specifics worth tracking before or during planning: Gaps and risks
What works well The status-to-stage mapping rules are unambiguous and cover every lane. Choosing structured issue comments as the sole machine-detectable feedback/approval channel is a clean, auditable decision. The finalization lane covers every required element from the acceptance criteria. The "smallest acceptable deployment" answer (GitHub deployment artifact + reachable URL) is appropriately scoped for an end-to-end proof without over-engineering. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Design Discussion: Design and implement the operator-in-the-loop end-to-end orchestration model
Summary
This design defines a GitHub-native orchestration model where setting an issue to
Readystarts autonomous delivery, produces a reviewable deployment, iterates on operator feedback until approval, then merges, verifies, captures follow-ups, and closes out. ProjectStatusstays coarse and operator-readable; detailed execution state is tracked via GitHub artifacts.Problem
The current flow does not enforce one deterministic, resumable path from
ReadytoDone. Missing pieces include a strict review-ready contract, machine-detectable feedback/approval triggers, explicit retry/blocked behavior, and a concrete finalization sequence.Goals
Statuscoarse and meaningful to operators.Non-goals
Status.Proposed Approach
1) Canonical state model
Project
Statusvalues:BacklogReadyIn ProgressIn ReviewApprovedDoneBlockedInternal stages:
Build lane:
kickoffclarificationdesignplanexecutiondeploy-reviewReview loop lane:
review-intakefeedback-implementationredeploy-reviewFinalize lane:
mergepost-merge-verifyfollow-up-capturecloseout2) Status/stage transition contract
Status=Readyto start orchestration.kickofftransitionsStatustoIn Progress.deploy-review.deploy-reviewsuccess transitionsStatus=In Reviewand entersreview-intake.review-intake:feedback-implementation -> redeploy-review -> review-intakeStatus=Approvedand enters finalize lanecloseoutsuccess transitionsStatus=Done.Status=Blockedwith diagnostics.3) GitHub artifact contract (system of record)
Required persisted artifacts:
Statusfor coarse operator-visible state.Each stage event records at minimum:
lane,stage,state(started|succeeded|failed|blocked)attempt,max_attemptsissue_number,pr_number(ornone)deployment_url(ornone)timestamp_utcnext_stage(ornone)Resumability rule:
4) Review-ready deployment contract
deploy-review/redeploy-reviewcan succeed only if all are true:review-readyissue comment is posted containing:5) Operator feedback + approval contract
Primary machine triggers are structured issue comments from authorized operators:
gpa:feedback <instructions>gpa:approve(optional trailing note)Parsing rules:
review-readymarker are eligible.PR reviews and unstructured comments remain contextual input, not orchestration triggers.
6) Finalization contract
merge: merge PR according to repository policy.post-merge-verify: run post-merge verification; retry recoverable failures within stage budget.follow-up-capture: create/link follow-up issues for unresolved non-blocking work.closeout: publish final artifact summary, close parent issue, setStatus=Done.If verification remains failing after retries:
Status=BlockedOpen Questions
Answer: A GitHub Deployment/Environment status with a reachable URL that the operator can interact with is sufficient for v1.
Answer: Structured issue comments are the authoritative trigger channel; PR reviews/comments are supporting context.
Approvedbe a projectStatusvalue or only an internal signal? (DEFERRED-TO-PLAN)Answer: Keep
Approvedas a coarse projectStatusvalue and use it as the gate into finalize stages.Exit Criteria
Statusand internal stage progression is explicit.planstage without additional operator clarification.Beta Was this translation helpful? Give feedback.
All reactions