Skip to content

fix(client)!: bind the organizations.* family to the wire shapes better-auth sends #22302

fix(client)!: bind the organizations.* family to the wire shapes better-auth sends

fix(client)!: bind the organizations.* family to the wire shapes better-auth sends #22302

Triggered via pull request September 7, 2026 11:23
Status Success
Total duration 51s
Artifacts

pr-automation.yml

on: pull_request
Check PR Size
Check PR Size
Check Changeset
48s
Check Changeset
Auto Label
Auto Label
Fit to window
Zoom out
Zoom in

Annotations

1 notice
Check Changeset: .changeset/client-organizations-family-wire-shape-binding.md#L0
ADR-0087 exemption (type-surface-only): A published TYPE-SURFACE narrowing. Each of the nineteen members was UNANNOTATED at the merge base, so lib.dom's `Response.json()` published it as an erased `any`; each now declares the shape its route already answered, read off the wire against a real server. The fourteen refs above are the ones the dotted-path walker can resolve. The other FIVE members narrowed by this same change — organizations.create, organizations.update, organizations.listMembers, organizations.delete and organizations.removeMember — are direct members of `organizations` whose names recur inside its nested `teams` / `invitations` literals, and the walker counts nested same-named definitions inside the region, so they have no resolvable spelling today (filed as #16571); they carry the same annotation change, are pinned by the same type-level test and are judged by check:exported-any-returns on the built dist. No method body changed, so no request or response byte moves, and the diff touches no `packages/spec` path and no ADR-0087 shape surface. The affected party is a TypeScript consumer and the compiler delivers the break at their own call site; `objectstack migrate meta`, `spec-changes.json` and the upgrade guide have nothing to rewrite, so a ledger entry would be false data in the one ledger this gate keeps true. The twentieth ledger entry, `organizations.invitations.resend`, carries no annotation of its own and closes because it delegates to the now-bound `invite`; it is not named here because its site is unchanged.