Skip to content

Docs/spec polish follow-ups from the facade flatten#151

Merged
milmazz merged 1 commit into
mainfrom
docs-spec-polish-139
Jul 16, 2026
Merged

Docs/spec polish follow-ups from the facade flatten#151
milmazz merged 1 commit into
mainfrom
docs-spec-polish-139

Conversation

@milmazz

@milmazz milmazz commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Fixes #139 — all four polish items that fell out during the 0.7.0 facade flatten (#137, #138). No behavior changes.

  • search/3 / vote/3 doc notes restored: the pre-flatten Hunter.Result.search clause ("if q is a URL Mastodon will attempt to fetch the provided account or status, otherwise it will do a local account and hashtag search") and the Hunter.Poll.vote clause ("multiple choices are only allowed on multiple-choice polls") are back on the facade docs, recovered from e4c0f14~1.
  • Notification-request summary lines restored: accept_notification_request/2 ("…so future notifications from the account are delivered normally") and dismiss_notification_request/2 ("…removing it and its filtered notifications") get their pre-flatten wording back verbatim; dismiss_notification_requests/2 never had a clarifying clause in the entity module, so it gets the parallel plural one ("…removing them and their filtered notifications").
  • @spec blocked_domains/2 tightened from :: list to :: [String.t()] (the endpoint returns bare domain strings), continuing Typespec honesty: string entity ids, true booleans #135/Typespec honesty: entity ids typed non_neg_integer but Mastodon returns strings #116.
  • Dead clause removed: process_request_body(data) when is_binary(data) in lib/hunter/api/request.ex — audited all write-verb Request.request! call sites; every payload is a map, keyword list, or {:form_multipart, parts}, so the raw-binary clause is unreachable since the flatten.

Verification

mix test (2 doctests, 245 tests, 0 failures), mix credo --strict, mix dialyzer, mix docs, and mix format --check-formatted all clean.

🤖 Generated with Claude Code

- Restore the search/3 doc note that a URL query makes Mastodon attempt
  to fetch the account or status, and the vote/3 note that multiple
  choices are only allowed on multiple-choice polls.
- Restore the pre-flatten clarifying summary lines on
  accept_notification_request/2 and dismiss_notification_request/2, and
  give dismiss_notification_requests/2 the parallel clause.
- Tighten @SPEC blocked_domains/2 to :: [String.t()].
- Remove the unreachable process_request_body(data) when is_binary(data)
  clause: no endpoint passes a raw binary body since the flatten.

Fixes #139

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@milmazz
milmazz merged commit be9bda1 into main Jul 16, 2026
5 checks passed
@milmazz
milmazz deleted the docs-spec-polish-139 branch July 16, 2026 06:28
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.

Docs/spec polish follow-ups from the facade flatten (0.7.0)

1 participant