Skip to content

docs: fix stale receiver references in README and CLAUDE.md - #20

Merged
ericviana merged 1 commit into
mainfrom
eric/customers-webhooks-and-shims
Jul 27, 2026
Merged

docs: fix stale receiver references in README and CLAUDE.md#20
ericviana merged 1 commit into
mainfrom
eric/customers-webhooks-and-shims

Conversation

@ericviana

Copy link
Copy Markdown
Member

Summary

This CLI's command surface was already fully migrated from receivers to customers in code and tests (customers list/get/create/update/delete/limits/limits_increase_requests/create_limit_increase/rfi_get/rfi_submit, --customer-id flags, /customers paths). README.md and this repo's CLAUDE.md had not been updated to match and still documented the old receivers commands, --receiver-id flags, and /receivers paths.

This matters beyond cosmetics because CLAUDE.md is fed directly to the automated .github/workflows/api-sync.yml Claude-driven sync job as its pattern reference. The stale submitReceiverRfi/receivers/${receiverId}/rfi worked example risked teaching that job the wrong naming convention on its next run.

What changed

  • README.md: renamed the "Receivers" section to "Customers" with the accurate command list (including limits, limits_increase_requests, create_limit_increase, rfi_get, rfi_submit, none of which were documented before at all), and fixed --receiver-id -> --customer-id in the Bank Accounts, Blockchain Wallets, Virtual Accounts and Offramp Wallets sections.
  • CLAUDE.md: fixed the naming-convention example, the path-params guidance, the API-path-to-command naming table, the worked "dynamic request body" example (submitCustomerRfi/customerId//customers/${customerId}/rfi), and the test-placement example, all of which referenced receivers/receiverId instead of the shipped customers/customerId.
  • package.json: version bump 0.4.0 -> 0.5.0 (minor, since this is an additive/non-breaking docs fix).

Why this is safe today

Every change in this PR is documentation only, no source or test files changed. It does not touch any of the still-in-progress wave-2 renames:

  • transfer_quotes create (--receiver-wallet-address/--receiver-token/--receiver-network) and tos initiate (--receiver-id) still send receiver_wallet_address/receiver_token/receiver_network/receiver_id on the wire, deliberately unchanged, because the currently deployed API has no customer_* equivalent for those fields yet (only PR #1799 in blindpay-v2, not yet deployed, adds them).
  • receiver_amount/sender_amount on quotes and transfers are untouched, confirmed present at src/commands/resources.ts:500,528,531,1032 and src/__tests__/resources.test.ts:461. That field is intentionally never renamed (it means "amount the receiving side gets," not a reference to the customer resource).

This CLI has no webhook event enum/constant anywhere in source (createWebhookEndpoint only ever posts {url, description}, no --events flag exists), so there was nothing to add customer.new/customer.update/customer.delete to and nothing receiver.* to deprecate. Likewise there is no legacy receivers resource, no RECEIVERS_* error codes, and no receiver_id/customer_id translation shim in this repo to remove. Confirmed by full-repo grep before making any change.

Build output

$ bun install --frozen-lockfile
12 packages installed [33.00ms]

$ bun run typecheck
$ tsc --noEmit
(clean)

$ bun run lint
$ oxlint -c oxlint.json src/
Found 0 warnings and 0 errors.
Finished in 7ms on 7 files with 100 rules using 10 threads.

$ bun test
108 pass
0 fail
196 expect() calls
Ran 108 tests across 4 files. [179.00ms]

$ bun run build
Bundled 20 modules in 9ms
  index.js  122.95 KB  (entry point)

Test plan

  • bun install --frozen-lockfile && bun run typecheck && bun run lint && bun test && bun run build all pass
  • Verified every receiver_amount/sender_amount exempt occurrence is untouched
  • Verified the wave-2 receiver_* wire fields in transfer_quotes create and tos initiate are untouched

https://claude.ai/code/session_01F1stiNzuNtJXoXtiW9ZCbs

The receivers-to-customers command rename shipped a while ago (customers
list/get/create/update/delete/limits/rfi_get/rfi_submit, --customer-id
flags, /customers paths) but README.md and CLAUDE.md still documented the
old receivers commands and flags. CLAUDE.md is fed directly to the
automated api-sync Claude workflow as its pattern reference, so the stale
receiver_* worked example risked teaching the sync job the wrong naming
convention.

No source changes: the CLI has been customers-only in code and tests for
a while. The remaining receiver_* wire fields (transfer_quotes create,
tos initiate) and receiver_amount/sender_amount stay untouched since the
deployed API does not accept their customer_* equivalents yet.

Version bump to 0.5.0 since this closes out the customers migration
documentation gap.

Claude-Session: https://claude.ai/code/session_01F1stiNzuNtJXoXtiW9ZCbs
@ericviana
ericviana merged commit 8734824 into main Jul 27, 2026
1 check passed
@ericviana
ericviana deleted the eric/customers-webhooks-and-shims branch July 27, 2026 16: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