Skip to content

feat(api-model[erlang]) Add native API symbols - #278

Draft
tony wants to merge 1 commit into
erlang-portfrom
erlang-api-model
Draft

tony wants to merge 1 commit into
erlang-portfrom
erlang-api-model

Conversation

@tony

@tony tony commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add compiler-backed Erlang modules, functions, types, callbacks and native records to the API model.
  • Preserve native arities, overloads, supporting types and opaque declaration boundaries.
  • Resolve Erlang documentation references with distinct module, type and callback identities.
  • Validate source provenance and callable signatures before model conversion.

Stacked on the compiler exporter in #266. This draft prepares Erlang API data for the shared reference without registering site routes or package destinations. Signature type links, rendered navigation and delivery remain separate integration gates.

Test plan

  • API-model unit suites cover native identities, references and malformed artifacts.
  • API-model lint and type checks pass.
  • Real OTP compiler fixtures cover declarations, hiding, source headers and relative-path exports.
  • The selected Erlang core revision exports and converts with matching source and exporter identities.
  • Full local test loops meet their documented budgets.
  • Hosted publication audit and automated preview jobs pass at d5c01521448539e2b0b8909171a35e9ccbbfc827.

Local budget gates remain open. The latest repeat at this unchanged revision fails inner at 2.55 seconds and outer at 60.67 seconds. Outer completes the API-model suite (1,338 passed, one skipped) and theme suite (36 passed), while site tests remain unfinished. An earlier outer run reports a resolver corpus failure before cancellation; an earlier inner command takes 2.08 seconds despite its runner reporting success. Those observations remain recorded in #271; no isolated Erlang regression or replacement budget has been established.

Hosted run 42444598807 completed all three checks: test in 2h 15m 43s, check-publish-preview in 1m 55s and publish-preview / publish in 35m 48s. These broader workloads do not establish compliance with the local loop budgets. The preview workflow passed; Erlang site routes and their rendered content are not part of this draft.

why: Erlang reference pages need compiler-derived declarations and native
identities before they can join the shared API catalog.

what:
- Export structured typespec clauses, quoted names and exporter identity
- Map native declarations with checked provenance and opaque boundaries
- Resolve module, arity, type and callback documentation references
- Exercise compiler fixtures, validation failures and native name collisions
tony added a commit that referenced this pull request Nov 9, 2026
…ts (#291)

why: Six ports had docs branches ready but no published site, and
three shared fixes were waiting behind them. Releasing them together
gives one docs commit to trust for deployment and one set of caller
pins to move, instead of six separate waves.

what:
- Add OCaml (#264), Haskell (#265), Erlang (#266, #278, #279, #280,
  #284, #292), Common Lisp (#268), Perl (#274) and Clojure (#276):
  native API pages, tested guides, navigation, landing and switcher
  entries, and cross-reference data for each
- Keep browser checks from loading third-party resources, and pass
  the check origin to the three scripts that named an undefined base
  (#287)
- Render guide badges at build time instead of hotlinking shields
  (#288)
- Size the reference sidebar and member bars from the viewport, so
  the Chrome iOS keyboard no longer shrinks them (#290)
- Make the OCaml model producer verify its native build inputs in
  their checkout and reject stale ones, with controls run in CI
- Offer one switcher page per port, and title Perl's workspace guide
  "Workspace guide"
- Regenerate the registry, mention index and cross-reference counts
  for the combined port set

Base main 2593131, head dabe59b. Port heads: #264 7d4f88f
and 73fb1ad, #265 dc024e3, #268 947da1f, #274 818fa2e,
#276 a134503, #287 a437e97, #292 e7740d9.

This branch was previously deployed

1 inactive deployment
docs-preview — d5c01521 Deployed Nov 8, 2026 by tony via publish-preview / publish #1249
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