Skip to content

fix(worker): resolve release-authority helpers from the checkout, not the data home - #256

Merged
ruby-dlee merged 1 commit into
mainfrom
fix/worker-authority-helper-root
Aug 19, 2026
Merged

fix(worker): resolve release-authority helpers from the checkout, not the data home#256
ruby-dlee merged 1 commit into
mainfrom
fix/worker-authority-helper-root

Conversation

@ruby-dlee

Copy link
Copy Markdown
Owner

What

fm-worker-authority.py resolved bin/fm-backend.sh and bin/fm-account-directory.sh under --home (FM_HOME). A production FM_HOME is a data home with no bin/, so the subprocess died rc 127 and every authority-receipt refused with 'endpoint authority did not prove the exact task endpoint absent' before any endpoint was probed. The release lane has therefore never produced a receipt on a real deployment; all four pilot workers sit assigned with no release path.

Fix

Resolve both helpers from the checkout that ships the tool (module-level ROOT), matching how fm-worker-lifecycle.py resolves fm-worker-authority.py itself.

Verification

  • New unit endpoint_authority_checkout_helper: real endpoint_evidence through the real fm-backend.sh, binless home, tmux stubbed at the system boundary to answer 'no server running'. Mutating the fix back to home-relative turns it red (verified locally).
  • account_authority_real_helper now passes a binless tmp home instead of $ROOT; passing $ROOT was what hid this defect.
  • Full tests/fm-worker-lifecycle.test.sh green locally (11 units); bin/fm-lint.sh and fm-behavior-shards.sh --check 8 clean.

… the data home

fm-worker-authority.py sourced bin/fm-backend.sh and bin/fm-account-directory.sh
relative to --home, which is FM_HOME - a data home that ships no bin/. Every
authority-receipt therefore died at rc 127 inside the endpoint probe and was
reported as 'endpoint authority did not prove the exact task endpoint absent',
so no release receipt has ever been mintable on a real deployment and all four
pilot workers sat assigned with no release path.

The helpers now resolve from the checkout that ships the tool, the same way
fm-worker-lifecycle.py already resolves the authority tool itself via ROOT.

The new endpoint test drives the real endpoint_evidence through the real
fm-backend.sh against a binless home with a tmux stub at the system boundary;
reverting the helper resolution to the home turns it red. The existing account
authority test passed $ROOT as the home, which hid exactly this defect; it now
passes a binless home too.
@ruby-dlee
ruby-dlee merged commit bc7bd23 into main Aug 19, 2026
13 checks passed
@ruby-dlee
ruby-dlee deleted the fix/worker-authority-helper-root branch August 19, 2026 15:04
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.

1 participant