Skip to content

fix(live-runner): per-signer payment type on the LR path (dual-path sibling to #46)#47

Merged
seanhanca merged 1 commit into
ja/live-runnerfrom
fix/lr-payment-dual-path
Jul 18, 2026
Merged

fix(live-runner): per-signer payment type on the LR path (dual-path sibling to #46)#47
seanhanca merged 1 commit into
ja/live-runnerfrom
fix/lr-payment-dual-path

Conversation

@seanhanca

Copy link
Copy Markdown
Contributor

Sibling to #46. #46 gives the BYOC payment path a per-signer dual-path; this gives the Live Runner payment path the same, so selecting an LR runner doesn't break payment on the default (Daydream) signer.

The bug

_get_runner_payment (live_runner.py) hardcoded type="live" for every non-scope runner. signer.daydream.live only accepts lv2v400 invalid job type → LR payment fails. The lr-gateway lv2v patch only fixed the isolated sidecar; the gateway itself was still broken for LR + Daydream. Without this, the transparent-routing plan's Scenario 1 (Daydream + LR) breaks.

The fix

  • Canonical _payment_type_for_signer moved to remote_signer.py (the module that owns LivePaymentSession) so both payment paths share it and LR does not import the soon-deprecated byoc.py. Legacy Daydream → lv2v; modern signers → byoc.
  • _get_runner_payment: Scope/LV2V stays lv2v; every other runner uses the per-signer switch.

Two files, +28/−2. Both compile.

Verified

Generalizes the exact fix proven on-chain via the lr-gateway lv2v patch: LR single-shot + Daydream signer → Payment tickets processed, totalTickets=1 on Arbitrum.

Follow-up

Once #46 merges, byoc.py's local _payment_type_for_signer copy should import this canonical one (trivial dedup) — the two PRs touch disjoint files so they merge without conflict.

Test

  • py_compile (passes locally)
  • LR + Daydream signer → type:lv2v → ticket redeems (the Scenario-1 gate)
  • LR + modern signer → type:byoc (gated on the pymthouse upstream fix + orch byoc-single-shot verification)

🤖 Generated with Claude Code

)

The dual-path fix in #46 covers the BYOC payment path (byoc.py). The Live Runner
payment path is separate — `_get_runner_payment` in live_runner.py — and it
hardcoded `type="live"` for every non-scope runner. The legacy Daydream signer
(signer.daydream.live) only accepts `lv2v`, so LR + Daydream returned
`400 invalid job type` and payment failed. (The lr-gateway `lv2v` patch only
fixed the isolated sidecar, not the gateway itself.)

- Move the per-signer helper to `remote_signer.py` as the canonical
  `_payment_type_for_signer` (the module that owns LivePaymentSession — shared by
  both payment paths; LR does not depend on the soon-deprecated byoc.py).
- `_get_runner_payment`: Scope/LV2V stays "lv2v"; every other runner uses the
  per-signer dual-path (Daydream → "lv2v", modern → "byoc").

Verified on-chain (via the lr-gateway lv2v patch this generalizes): LR single-shot
+ Daydream signer → ticket redeems on Arbitrum. Once #46 merges, byoc.py's local
copy should import this canonical helper (trivial dedup follow-up).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2d31a4d2-159a-4c4b-bec3-544ab94a1afd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/lr-payment-dual-path

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seanhanca
seanhanca merged commit c74ca1d into ja/live-runner Jul 18, 2026
1 check passed
@seanhanca
seanhanca deleted the fix/lr-payment-dual-path branch July 18, 2026 06:06
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