Skip to content

Goal Hive resume should detect stale budget state after interrupted runs #536

@HamsteRider-m

Description

@HamsteRider-m

Summary

During a long Goal Hive run, the master/worker processes were interrupted while a late dispatch was still in progress. When resuming the same Hive board, the stored goal_state.json still contained the original time budget boundary. The resumed master therefore treated the run as effectively budget-exhausted and could stop/close prematurely unless the operator manually inspected and refreshed the resume budget.

Observed behavior

  • A Goal Hive run was started with multiple workers and a fixed multi-hour budget.
  • The run progressed through several dispatches, then the master/workers were externally stopped during a late dispatch.
  • On resume, the BBS state and artifacts still existed, but goal_state.json carried the stale start_time / budget window.
  • Relaunching the master without correcting that state risked immediate budget exhaustion instead of continuing remaining work.
  • Manual recovery required:
    • checking goal_state.json for objective / done prompt integrity,
    • resetting the resume budget boundary after explicit user authorization,
    • watching BBS posts plus report/evidence artifacts until the final master closure post.

Expected behavior

Goal Hive resume should make stale budget state explicit and safe. Ideally, the master or resume helper should detect that a persisted start_time is from an earlier interrupted session and ask/require an explicit resume budget reset instead of silently treating the resumed run as out of budget.

Suggested hardening

  • Add a resume preflight for Goal Hive that validates:
    • objective and fixed done_prompt are present and unchanged,
    • persisted budget fields are not stale relative to the requested resume,
    • BBS latest posts and artifact paths are still consistent before dispatching new work.
  • Make budget-expired-on-resume a distinct diagnostic from normal budget exhaustion.
  • Consider a supported resume command/flag that refreshes only the budget boundary while preserving the board, objective, and dispatch history.
  • Document that final completion should be determined from master closure / BBS / report artifacts, not process liveness alone.

Related branch

I pushed a small documentation note for this operator-side pitfall to my fork so it can be rebased later:

  • HamsteRider-m/GenericAgent@maygo/private
  • commit ef227f1 (docs: document Goal Hive resume checks)

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