Skip to content

Predicate-less goal loops never resolve: a finished graph shows six IDLE cards and keeps six sessions resident #346

Description

@Yuncun

Version: 0.1.68 (release dmg), Claude Code backend.

What happened

A leader goal loop fanned out five children (all --type goal, none with --predicate). Every child finished its item, posted a RESULT to the Mailroom, and the leader merged, ticked the backlog, pushed with CI green and posted a CLOSING note. Forty minutes later every one of the six cards still reads IDLE; none ever became SUCCEEDED, no edge downstream of a child would have fired, and six claude sessions (~2 GB RSS) stayed resident until deleted by hand.

The briefing text says a goal loop without a predicate resolves when "finishing the work is what resolves it" — that is not what the daemon does. graphcode status agreed: idle goalBased ×6.

Why it matters for a first-time user

Suggested fix

Treat a predicate-less goal loop as resolved when its backend session ends its turn after the /goal condition has been satisfied (Claude Code already reports this through the Stop hook), or when the loop itself posts a result / calls a graphcode node done verb. Show SUCCEEDED on the card and free the session by policy (keep transcript, end the PTY).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions