Skip to content

[BUG][P1] hourly_tracking: human reject leaves graph with no outgoing edge #26

Description

@mishrapravin114

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

  • Reject path reaches correct_transactions or validate_transactions (document which)
  • ./engine validate examples/templates/hourly_tracking passes
  • Manual or test run: reject at HITL does not dead-end graph

Effort

~1 hour

Related

Hourly tracking HITL — closed #2

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingphase-1Phase 1 — pilot / GTMpriority-p0P0 — critical path / do nowtype-agentVertical agent template

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions