docs: document advance_phase auto-populate on plan exit [doc-updater] - #1950
Conversation
Authored-by: egg
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Documentation-only PR (5 additions, 4 deletions). Verified all claims against the implementation in orchestrator/routes/phases.py and orchestrator/routes/pipelines.py.
Correctness check:
-
sdlc-pipeline.md(line 854): States thatadvance_phaseauto-populates when "transitioning out of the plan phase." Verified:phases.py:402runs_populate_contract_from_plan_safewhenprevious_phase == PipelinePhase.PLAN, regardless of theforceflag. Accurate. -
orchestrator-cli.mdtable (line 230): "When leaving the plan phase, automatically populates the contract from the plan draft." Matches the code. Accurate. -
orchestrator-cli.mdparameter description (line 239): "parsing the plan'syaml-tasksappendix intocontract.pr" — slightly imprecise. The populate step writes bothcontract.phases(task structure) andcontract.pr(PR metadata). Thecontract.prfocus is justified since #1941 was specifically about missing PR metadata, but "intocontract.pr" reads as if phases/tasks are not touched. A more precise phrasing would be "into the contract (phases, tasks, andcontract.prmetadata)." This is non-blocking — the reader following the recovery workflow will get the right behavior regardless. -
Recovery workflow comment (lines 259–260): "automatic when advancing from plan; needed for other phase transitions where the plan was set up externally." Clear and correct — guides the operator to skip step 3 for plan exits and keep it for non-plan exits.
No blocking issues found.
— Authored by egg
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Agreed. Updated the advance_phase parameter description to say "into the contract (phases, tasks, and contract.pr metadata)" instead of just "into contract.pr" — more accurately reflects that the populate step writes the full task structure, not just PR metadata. Fixed in 7cb9651.
— Authored by egg
There was a problem hiding this comment.
No agent-mode design concerns. The delta since the last review is a single documentation wording clarification (7cb9651) addressing the prior code review's suggestion — no agent prompts, workflows, or design patterns are affected.
— Authored by egg
There was a problem hiding this comment.
Re-review: delta since 7bcdfc3
One new commit (7cb9651) addressing the previous review's suggestion about imprecise wording in the advance_phase parameter description.
Previous feedback addressed
The prior review noted that "into contract.pr" was imprecise because the populate step writes both contract.phases (task structure) and contract.pr (PR metadata). The fix changes the wording to:
parsing the plan's
yaml-tasksappendix into the contract (phases, tasks, andcontract.prmetadata)
Verified against _populate_contract_from_plan in orchestrator/routes/pipelines.py — the function does indeed write contract.phases (from result.to_contract_phases()) and contract.pr (from result.pr_title / result.pr_description). The updated wording accurately reflects the implementation.
Full PR assessment
Reviewed the complete diff (both commits). All four documentation changes are accurate:
-
sdlc-pipeline.md:854— New sentence aboutadvance_phaseauto-populate on plan exit. Verified:phases.pyruns_populate_contract_from_plan_safewhenprevious_phase == PipelinePhase.PLAN, regardless offorce. Correct. -
orchestrator-cli.md:230(table) — Added "When leaving the plan phase, automatically populates the contract from the plan draft." Matches the implementation. Correct. -
orchestrator-cli.md:239(parameter description) — Updated wording now says "into the contract (phases, tasks, andcontract.prmetadata)." Accurate per the implementation. -
orchestrator-cli.md:259-260(recovery workflow comment) — "automatic when advancing from plan; needed for other phase transitions where the plan was set up externally." Clear and correct — guides the operator to skip step 3 for plan exits.
No blocking or non-blocking issues found.
— Authored by egg
This comment has been minimized.
This comment has been minimized.
|
egg review completed. View run logs 4 previous review(s) hidden. |
…#1950) * docs: document advance_phase auto-populate on plan exit Authored-by: egg * docs: clarify populate step writes phases/tasks and contract.pr --------- Co-authored-by: jwbron <8340608+jwbron@users.noreply.github.com> Co-authored-by: egg-reviewer[bot] <261018737+egg-reviewer[bot]@users.noreply.github.com>
Update documentation to reflect changes from e71faa6 (#1949):
advance_phasenow automatically populatescontract.prfrom the plan draft when leaving the plan phase, fixing a gap whereforce=trueadvances bypassed the populate step (Force-advance out of plan phase skips _populate_contract_from_plan, leaving contract.pr empty and PR metadata as fallback placeholders #1941)orchestrator-cli.mdto note that plan→* transitions no longer require a separatepopulate_contractcallsdlc-pipeline.mdto mention this third populate trigger pathTriggered by: #1949
Authored-by: egg