Skip to content

fix(payout): allow wallet registration while payout pipeline is disabled (#954) - #955

Merged
Augustas11 merged 4 commits into
mainfrom
fix/954-payout-address-registration-only
Aug 8, 2026
Merged

fix(payout): allow wallet registration while payout pipeline is disabled (#954)#955
Augustas11 merged 4 commits into
mainfrom
fix/954-payout-address-registration-only

Conversation

@Augustas11

@Augustas11 Augustas11 commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Mount SPEC-016 §3.3 payout-address challenge/register (and §6.4.1 pause/resume) whenever payout.security.hot_wallet_address is set, even when payout.enabled=false — closes Malibu Change-wallet HTTP 404 (Malibu "Open browser wallet" fails with HTTP 404 — allow payout-address registration while payout pipeline is disabled #954).
  • Keep the execution pipeline (runner, signer/KEK, RPC, lease, run-now/abandon/funding/orphans, GET /providers/{id}/payouts) behind payout.enabled=true.
  • Amend SPEC-016 to v0.1.26 (registration-only carve-out + pause-before-disable rotation ordering); tighten config/deploy-gate validation; friendlier CLI 404 copy for Malibu.

Test plan

  • go test ./internal/payout/ ./internal/config/
  • go build ./cmd/coordinator/
  • python3 scripts/check_spec_governance.py / gen_spec_index.py --check
  • Pearl: set final hot wallet in overlay with payout.enabled=false, restart, confirm journal payout registration-only enabled and challenge returns 401 (not 404)
  • Malibu Change-wallet opens browser signer against production coordinator

SPEC-GOVERNANCE-DECLARATION-BEGIN
{
"schema_version": "spec-pr-governance-v1",
"behavior_change": "yes",
"contract_change": "yes",
"specs": ["SPEC-016"],
"requirements": ["SPEC-016-R002"],
"authority_domains": ["payout-lifecycle"],
"arbitration": ["CODE_BUG", "SPEC_BUG"],
"tests": ["phase4-coordinator/internal/payout/registration_only_test.go"],
"journeys": ["JOURNEY-SPEC-016-PAYOUT-ADDRESS-REGISTRATION"],
"issue": "#954"
}
SPEC-GOVERNANCE-DECLARATION-END

Augustas11 and others added 3 commits August 8, 2026 19:03
#954)

Decouple wallet registration from the execution pipeline so providers can change payout addresses when the runner is deliberately off. Mount challenge/register plus pause/resume whenever hot_wallet_address is set; keep runner/signer/RPC/lease and execution-only admin routes behind payout.enabled=true. Amend SPEC-016 to v0.1.26 and improve Malibu HTTP 404 copy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…on-only PR

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Aug 8, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Co-authored-by: Cursor <cursoragent@cursor.com>

@antfleet-ops antfleet-ops left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved: registration-only §3.3 mount while payout.enabled=false closes #954; execution pipeline stays gated; audits cleared to 0 CRITICAL/HIGH/MEDIUM.

@Augustas11
Augustas11 merged commit d3f1a13 into main Aug 8, 2026
15 checks passed
@Augustas11
Augustas11 deleted the fix/954-payout-address-registration-only branch August 8, 2026 16:31
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.

2 participants