Problem
On Homeboy v0.299.2, homeboy runner refresh-homeboy homeboy-lab --ref v0.299.2 --reconnect returned success with:
{
"daemon_refreshed": true,
"reconnect_required": false,
"success": true
}
The immediately following runner-pinned Lab bench failed during admission in two successive states:
runner `homeboy-lab` refused Lab admission reservation: daemon lease is not fresh
After the successful refresh/reconnect:
query runner daemon: error sending request for url (http://127.0.0.1:52163/admissions)
The second failure was classified retryable, but the initiating command did not recover it. This is a current-release regression of the recovery contract addressed by #9356 and related generation-rotation work.
Context: browser verification for Automattic/blocks-engine#659.
Expected behavior
refresh-homeboy --reconnect completes only after the selected active daemon has a fresh lease and its admission endpoint passes a bounded readiness probe. An immediately following Lab handoff converges onto that daemon without operator retries.
Acceptance criteria
- Refresh waits for
/admissions readiness before returning success.
- The returned lease/session is the same one used by the next runner-pinned handoff.
- Stale lease and transient admission transport failures trigger bounded self-recovery before acceptance.
- Failure output provides one canonical recovery action only when automatic recovery is exhausted.
- Deterministic coverage reproduces refresh followed immediately by admission reservation.
AI assistance
- AI assistance: Yes
- Tool: OpenCode with OpenAI GPT-5.6 Sol
- Used for: Running the upgrade/reconnect sequence, preserving exact errors, and deduplicating against prior runner-admission issues.
Problem
On Homeboy
v0.299.2,homeboy runner refresh-homeboy homeboy-lab --ref v0.299.2 --reconnectreturned success with:{ "daemon_refreshed": true, "reconnect_required": false, "success": true }The immediately following runner-pinned Lab bench failed during admission in two successive states:
After the successful refresh/reconnect:
The second failure was classified retryable, but the initiating command did not recover it. This is a current-release regression of the recovery contract addressed by #9356 and related generation-rotation work.
Context: browser verification for Automattic/blocks-engine#659.
Expected behavior
refresh-homeboy --reconnectcompletes only after the selected active daemon has a fresh lease and its admission endpoint passes a bounded readiness probe. An immediately following Lab handoff converges onto that daemon without operator retries.Acceptance criteria
/admissionsreadiness before returning success.AI assistance