Skip to content

build: @NullMarked the aauth module (NullAway-clean) - #19

Merged
marcofanti merged 1 commit into
mainfrom
nullmark-aauth-module
Aug 7, 2026
Merged

build: @NullMarked the aauth module (NullAway-clean)#19
marcofanti merged 1 commit into
mainfrom
nullmark-aauth-module

Conversation

@marcofanti

Copy link
Copy Markdown
Owner

Closes the last documented hygiene deferral: the aauth module is now fully @NullMarked (JSpecify), matching aauth-signing. NullAway runs clean on its main sources.

  • @NullMarked package-info added to all 8 aauth packages.
  • ~100 findings burned down with @Nullable on optional record components, builder fields, exception constructor params/accessors, and nullable helper returns (case-insensitive header lookups, getKeyByKid, cache get, parse helpers) — mirroring the patterns already in aauth-signing.
  • Three behavior-preserving adjustments: AuthTokens.Spec.Builder.build() validates required fields before constructing (validate-then-construct, like SignRequest); TokenExchange/Poller builders normalize default httpClient/sleeper; DeferredResponses.parsePendingResponse rewrites the status normalization to an equivalent form NullAway can prove.

No runtime behavior change; no wire change — pure internal null-safety, so no downstream sync needed (consumers stay on 0.2.3). 214 tests green, coverage + Spotless gates met.

🤖 Generated with Claude Code

@marcofanti
marcofanti merged commit 253f7a7 into main Aug 7, 2026
1 check passed
@marcofanti
marcofanti deleted the nullmark-aauth-module branch August 7, 2026 13:39
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