fix(native-eval): rebootstrap replacement leases - #58
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 30, 2026, 4:38 AM ET / 08:38 UTC. ClawSweeper reviewWhat this changesThe PR records which Crabbox lease received native-runner bootstrap and rehydrates the active replacement lease before dispatch when that identity does not match. Merge readinessThis focused recovery fix remains necessary because the supplied current-main SHA does not include the open PR branch. The patch aligns with the linked replacement-lease failure, adds targeted regression coverage, and should stay open for normal maintainer review because its author is a repository member. Priority: P2 Review scores
Verification
How this fits togetherThe native-eval fleet controller reads a persisted run manifest, binds the run to a remote Crabbox lease, prepares the remote runner, and dispatches the benchmark harness. Bootstrap state must correspond to the active lease so recovery does not dispatch onto a replacement machine that lacks the runner. flowchart LR
A[Persisted run manifest] --> B[Recovery lease selection]
B --> C[Compare bootstrap lease identity]
C -->|Different or absent| D[Hydrate active remote lease]
C -->|Same lease| E[Reuse bootstrap state]
D --> F[Dispatch native benchmark runner]
E --> F
F --> G[Verified artifacts and completion state]
Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Merge the lease-identity check after a maintainer confirms that one-time rehydration of ambiguous legacy recovery manifests is the intended compatibility behavior. Do we have a high-confidence way to reproduce the issue? Yes, from source: a recovery-required manifest with an old bootstrapped_at_utc value and no bootstrapped_lease_id follows the prior timestamp-only reuse path, while the supplied regression test models that exact state. I did not execute the test in this read-only review. Is this the best way to solve the issue? Yes: tying bootstrap reuse to the active lease identity is the narrowest maintainable repair because the remote runner is lease-local and a timestamp cannot establish that a replacement machine was prepared. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 884dd1bb5511. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (3 earlier review cycles) |
What does this PR do?
Rehydrates replacement native-eval leases before dispatch.
Why?
The controller previously treated an old bootstrap timestamp as proof that a
new lease contained the runner. Recovery could then fail before the harness
started, producing a false benchmark failure.
Fixes #55
Changes
bootstrapped_lease_idLive proof
Recovered a legacy OpenClaw run whose manifest had an old bootstrap timestamp
but no
bootstrapped_lease_id.bootstrapped_lease_id4/4completed results0This is the exact recovery state the regression test covers; the controller no
longer trusts timestamp-only bootstrap state.
Tests