Skip to content

fix(cook): bind retry ownership at reservation - #13565

Merged
chubes4 merged 3 commits into
mainfrom
fix/13368-local-runner-pid
Aug 27, 2026
Merged

fix(cook): bind retry ownership at reservation#13565
chubes4 merged 3 commits into
mainfrom
fix/13368-local-runner-pid

Conversation

@chubes4

@chubes4 chubes4 commented Aug 26, 2026

Copy link
Copy Markdown
Member

Closes #13368.

Stacked on #13558 so one candidate can validate both prerequisite runtime repairs before retrying #11858. The focused diff remains the reservation ownership fix below.

Root cause

A local Cook retry published its bounded local_cook_supervisor lease before controller admission, but did not publish the cook_id required by has_live_pending_local_cook_supervisor. While admission waited, daemon reconciliation classified the first visible successor as ownerless and cancelled it as missing_runner_pid; recipe binding added the Cook identity only after cancellation had already won.

Change

  • Publish the Cook identity atomically with the retry supervisor lease.
  • Keep the existing bounded lease and stale-run fail-closed behavior unchanged.
  • Add a deterministic regression proving the first visible reservation satisfies the daemon liveness predicate before recipe binding.

Verification

  • cargo test -p homeboy-agents --lib agent_task_service::execution::tests (7 passed)
  • cargo test -p homeboy-agents --lib agent_task_service::discovery::tests (1 passed)
  • cargo test -p homeboy-agents --lib retryable_pre_provider_retry_concurrently_claims_one_successor (2 passed, including cross-process coverage)
  • Stacked candidate: cargo test -p homeboy-lab-runner --lib execution::daemon::admission_tests (8 passed)
  • cargo fmt --all -- --check
  • git diff --check

AI Assistance

OpenAI GPT-5.6 Sol via OpenCode inspected the durable failed-run record, traced the reservation and reconciliation boundaries, implemented the atomic metadata fix and regression coverage, and ran the focused verification. Chris Huber directed the work and remains responsible.

@chubes4
chubes4 changed the base branch from main to fix/13557-daemon-capability-env August 26, 2026 04:31
@homeboy-ci

homeboy-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Homeboy Results — homeboy

Lint

review lint — passed

ℹ️ Full options: homeboy self docs commands/lint
Deep dive: homeboy review lint homeboy --changed-since 3835fd8

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-review-lint-homeboy-fast-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-review-lint-homeboy-fast-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/33024335481

Audit

review audit — passed

Deep dive: homeboy review audit homeboy --changed-since 3835fd8

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-review-audit-homeboy-fast-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-review-audit-homeboy-fast-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/33024335481
Tooling versions
  • Homeboy CLI: homeboy 0.361.15+31ff7e7e5447
  • Extension: rust from https://github.com/Extra-Chill/homeboy-extensions
  • Extension revision: 9c95310b
  • Action: unknown@unknown

@chubes4
chubes4 changed the base branch from fix/13557-daemon-capability-env to main August 26, 2026 23:36
@chubes4 chubes4 closed this Aug 26, 2026
@chubes4 chubes4 reopened this Aug 26, 2026
@chubes4
chubes4 marked this pull request as ready for review August 27, 2026 00:47
@chubes4
chubes4 merged commit 5c740d5 into main Aug 27, 2026
72 of 87 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Local OpenCode Cook cancels before recording runner PID

1 participant