refactor: graph fallback pattern + positive condition names

- Last transition in each graph node is now the fallback (no condition)
- Remove redundant positive conditions (ready, devDone, approved, passed, pushSuccess)
- notApproved → rejected (positive naming)
This commit is contained in:
2026-05-22 05:31:43 +00:00
parent fd7609fe90
commit 355594d074
+2 -22
View File
@@ -125,36 +125,21 @@ conditions:
insufficientInfo: insufficientInfo:
description: "Planner determined there's not enough info to proceed" description: "Planner determined there's not enough info to proceed"
expression: "steps[-1].output.status = 'insufficient_info'" expression: "steps[-1].output.status = 'insufficient_info'"
ready:
description: "Planner produced a test spec"
expression: "steps[-1].output.status = 'ready'"
devDone:
description: "Developer finished implementation"
expression: "steps[-1].output.status = 'done'"
devFailed: devFailed:
description: "Developer failed to implement" description: "Developer failed to implement"
expression: "steps[-1].output.status = 'failed'" expression: "steps[-1].output.status = 'failed'"
notApproved: rejected:
description: "Reviewer rejected the implementation" description: "Reviewer rejected the implementation"
expression: "steps[-1].output.approved = false" expression: "steps[-1].output.approved = false"
approved:
description: "Reviewer approved the implementation"
expression: "steps[-1].output.approved = true"
fixCode: fixCode:
description: "Tester found code issues" description: "Tester found code issues"
expression: "steps[-1].output.status = 'fix_code'" expression: "steps[-1].output.status = 'fix_code'"
fixSpec: fixSpec:
description: "Tester found spec issues" description: "Tester found spec issues"
expression: "steps[-1].output.status = 'fix_spec'" expression: "steps[-1].output.status = 'fix_spec'"
passed:
description: "Tester verified all scenarios pass"
expression: "steps[-1].output.status = 'passed'"
hookFailed: hookFailed:
description: "Push hook failed" description: "Push hook failed"
expression: "steps[-1].output.success = false" expression: "steps[-1].output.success = false"
pushSuccess:
description: "Commit and PR created successfully"
expression: "steps[-1].output.success = true"
graph: graph:
$START: $START:
- role: "planner" - role: "planner"
@@ -163,26 +148,21 @@ graph:
- role: "$END" - role: "$END"
condition: "insufficientInfo" condition: "insufficientInfo"
- role: "developer" - role: "developer"
condition: "ready"
developer: developer:
- role: "$END" - role: "$END"
condition: "devFailed" condition: "devFailed"
- role: "reviewer" - role: "reviewer"
condition: "devDone"
reviewer: reviewer:
- role: "developer" - role: "developer"
condition: "notApproved" condition: "rejected"
- role: "tester" - role: "tester"
condition: "approved"
tester: tester:
- role: "developer" - role: "developer"
condition: "fixCode" condition: "fixCode"
- role: "planner" - role: "planner"
condition: "fixSpec" condition: "fixSpec"
- role: "committer" - role: "committer"
condition: "passed"
committer: committer:
- role: "developer" - role: "developer"
condition: "hookFailed" condition: "hookFailed"
- role: "$END" - role: "$END"
condition: "pushSuccess"