Summary
When an operator rejects at human_review (human_approved == False), the hourly_tracking graph has no matching edge. Execution ends silently with "No more edges" instead of routing back for rework.
Evidence
Current edges from human_review:
EdgeSpec(
id="human-to-store",
source="human_review",
target="store_results",
condition=EdgeCondition.CONDITIONAL,
condition_expr="human_approved == True",
)
No edge when human_approved == False.
File: examples/templates/hourly_tracking/agent.py
Expected behavior
Reject → return to auto-fix or validation loop (e.g. correct_transactions or validate_transactions).
Proposed fix
Add conditional edge, e.g.:
EdgeSpec(
id="human-to-correct",
source="human_review",
target="correct_transactions",
condition=EdgeCondition.CONDITIONAL,
condition_expr="human_approved == False",
priority=1,
)
Update human_review_node prompt / README if operator notes should feed correction.
Acceptance criteria
Effort
~1 hour
Related
Hourly tracking HITL — closed #2
Summary
When an operator rejects at
human_review(human_approved == False), the hourly_tracking graph has no matching edge. Execution ends silently with "No more edges" instead of routing back for rework.Evidence
Current edges from
human_review:No edge when
human_approved == False.File:
examples/templates/hourly_tracking/agent.pyExpected behavior
Reject → return to auto-fix or validation loop (e.g.
correct_transactionsorvalidate_transactions).Proposed fix
Add conditional edge, e.g.:
Update
human_review_nodeprompt / README if operator notes should feed correction.Acceptance criteria
correct_transactionsorvalidate_transactions(document which)./engine validate examples/templates/hourly_trackingpassesEffort
~1 hour
Related
Hourly tracking HITL — closed #2