When pdd change posts clarification questions (Step 4) or architectural questions (Step 7) to a GitHub issue, the workflow continues to the next step instead of stopping to wait for a response.
Steps to Reproduce
- Run
pdd change on an issue that requires architectural or requirements clarification
- Observe that Step 7 posts a GitHub comment with "Workflow paused - awaiting architectural decisions"
- The workflow continues into Steps 8–13 without waiting
Root Cause
There is a mismatch between what the orchestrator looks for and what the prompts instruct the LLM to output.
In agentic_change_orchestrator.py:319-323, _check_hard_stop detects stop conditions by checking for these strings in the step output:
if step_num == 4 and "Clarification Needed" in output: # title case if step_num == 7 and "Architectural Decision Needed" in output: # title case
But the step prompts instruct the LLM to output a differently-formatted stop line:
- agentic_change_step7_architecture_LLM.prompt:184:
STOP_CONDITION: Architectural decision needed (different casing)
- agentic_change_step4_clarify_LLM.prompt follows the same pattern
The strings don't match. When the LLM writes the stop condition only in the GitHub comment (not in its own tool output), _check_hard_stop never finds the trigger phrase and the workflow proceeds.
Expected Behavior
When Step 4 or Step 7 determines that user input is needed and posts clarification questions, the workflow should stop and exit with a message indicating it's waiting for a response.
Possible Fix
Either:
- Update
_check_hard_stop to also check for "STOP_CONDITION:" (the format the prompts actually produce), or
- Align the prompts'
STOP_CONDITION: format with the title-case strings the orchestrator expects
When
pdd changeposts clarification questions (Step 4) or architectural questions (Step 7) to a GitHub issue, the workflow continues to the next step instead of stopping to wait for a response.Steps to Reproduce
pdd changeon an issue that requires architectural or requirements clarificationRoot Cause
There is a mismatch between what the orchestrator looks for and what the prompts instruct the LLM to output.
In agentic_change_orchestrator.py:319-323,
_check_hard_stopdetects stop conditions by checking for these strings in the step output:if step_num == 4 and "Clarification Needed" in output: # title case if step_num == 7 and "Architectural Decision Needed" in output: # title caseBut the step prompts instruct the LLM to output a differently-formatted stop line:
STOP_CONDITION: Architectural decision needed(different casing)The strings don't match. When the LLM writes the stop condition only in the GitHub comment (not in its own tool output),
_check_hard_stopnever finds the trigger phrase and the workflow proceeds.Expected Behavior
When Step 4 or Step 7 determines that user input is needed and posts clarification questions, the workflow should stop and exit with a message indicating it's waiting for a response.
Possible Fix
Either:
_check_hard_stopto also check for"STOP_CONDITION:"(the format the prompts actually produce), orSTOP_CONDITION:format with the title-case strings the orchestrator expects