Skip to content

Fix epic plan revision loop - #1

Open
eshulman2 wants to merge 10 commits into
feature/session-mcp-data-layerfrom
fix/epic-plan-revision-loop
Open

Fix epic plan revision loop#1
eshulman2 wants to merge 10 commits into
feature/session-mcp-data-layerfrom
fix/epic-plan-revision-loop

Conversation

@eshulman2

@eshulman2 eshulman2 commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • clear plan revision markers after successful epic decomposition/regeneration
  • resume regenerate_all_epics and update_single_epic at their own nodes instead of raw decomposition
  • add regression tests for the stale revision loop and resume routing

Tests

  • uv run pytest tests/unit/workflow/nodes/test_epic_decomposition.py tests/unit/orchestrator/gates/test_plan_approval.py tests/unit/workflow/feature/test_workflow.py
  • uv run ruff check src/forge/workflow/nodes/epic_decomposition.py src/forge/workflow/feature/graph.py tests/unit/workflow/nodes/test_epic_decomposition.py tests/unit/workflow/feature/test_workflow.py

ItzikEzra-rh and others added 9 commits June 21, 2026 11:17
Enables opt-in/opt-out for PR-based PRD approval via the CLI:
  forge project-setup OSAC --prd-proposals-repo osac-project/enhancement-proposals
  forge project-setup OSAC --prd-proposals-repo ""  # disable

Also adds delete_project_property to JiraClient for the opt-out case.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…sals-repo

feat: add --prd-proposals-repo flag to forge project-setup CLI
…n-loop-upstream

Fix epic plan revision loop
When a user requested plan revision at the plan_approval_gate,
regenerate_all_epics archived old epics and called decompose_epics,
but decompose_epics never forwarded feedback_comment to the agent.
The LLM had no knowledge of the user's request, so it regenerated
the same epic structure without incorporating any changes.

Fix: thread feedback_comment from state into the context dict in
decompose_epics, and append it as a "Revision Feedback" section to
the decompose-epics prompt in generate_epics when present.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Import regenerate_epic_tasks from task_generation
- Add resume mapping in route_by_ticket_type
- Add graph node, edge back to task_approval_gate
- Extend both route_entry and task_approval_gate conditional-edges dicts
- Add test for route_by_ticket_type(regenerate_epic_tasks) resume routing

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@eshulman2
eshulman2 force-pushed the fix/epic-plan-revision-loop branch from 28be7a0 to a2e03ac Compare June 23, 2026 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants