Skip to content

Rebootstrap native evals when recovery replaces a lease #55

Description

@vincentkoc

What happened

When a native fleet run recovered onto a replacement Crabbox lease, the run
retained bootstrapped_at_utc from the expired lease. The controller therefore
skipped hydration on the fresh machine and attempted to dispatch a runner path
that did not exist.

Expected behaviour

Bootstrap reuse must be tied to the exact lease identity. A replacement lease
must be hydrated before dispatch even when the run manifest contains an older
bootstrap timestamp.

Steps to reproduce

# Resume a recovery_required run with:
# - requested_lease_slug present
# - no active stored lease
# - bootstrapped_at_utc retained from the previous lease
python -m scripts.native_eval.fleet ... 

Relevant output

dispatch openclaw-gpt55-high-exploratory-4-r1-20260729 failed with exit 1:
fleet-dispatch: line 32: kill: (...) - No such process

/opt/shellbench-native/runner/scripts/native_eval/remote_run.sh:
No such file or directory

Environment

  • Python version: 3.12
  • OS: macOS controller, Ubuntu AWS lease
  • ClawBench version / commit: 98301b2405070630ec61a331b11937e886688f61

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions