Skip to content

feat(api-model[erlang]) Export native compiler documentation - #266

Merged
tony merged 1 commit into
mainfrom
erlang-port
Nov 9, 2026
Merged

tony merged 1 commit into
mainfrom
erlang-port

Conversation

@tony

@tony tony commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Erlang needs a compiler-backed artifact before the shared reference can render its native API. This draft exports the compiled application's documentation and declarations with source provenance.

Summary

  • Add native Erlang documentation, specs, callbacks and record export.
  • Preserve header source locations, supporting types and opaque boundaries.
  • Exercise compiler export and rejection paths with the selected OTP toolchain.

The artifact retains Erlang Markdown references for the forthcoming API-model adapter. Remaining integration includes that adapter, source-bound guide staging, navigation and rendered-link qualification.

Test plan

  • Validate native records, nominal types, opaque names and header locations with the compiler fixture.
  • Verify repeatable exports and reject dirty sources or missing compiler chunks.
  • Run the documented export against the current core application.
  • Run workspace lint and type checking.
  • Complete the full docs outer loop successfully.
  • Qualify the model adapter and rendered reference integration.

Lint passed in 2.63 seconds and standalone type checking passed in 73.16 seconds. The enforced outer run stopped at 60.95 seconds. Completion diagnostics took 75.94 seconds with the new exporter suite excluded and 80.99 seconds with it included; both failed existing prose-audit or resolver timeouts. The new compiler suite passed. These failed runs leave the performance comparison inconclusive and the full outer gate open.

why: The shared reference needs Erlang's compiled documentation and
native declarations before it can render the port's API accurately.

what:
- Build a clean OTP application and export EEP-48 and abstract code
- Preserve header locations, supporting types and native records
- Keep opaque representations private and quote native type names
- Exercise compiler exports and rejection paths through an OTP fixture
- Install the exact Rebar3 version needed by the CI fixture
@tony
tony merged commit 1ab3d31 into main Nov 9, 2026
3 checks passed
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.
@tony
tony temporarily deployed to docs-preview-cleanup November 9, 2026 13:38 — with GitHub Actions Inactive

This branch was previously deployed

2 inactive deployments
docs-preview-cleanup — ca03222e Deployed Nov 9, 2026 by tony via cleanup #224
docs-preview — ca03222e Deployed Nov 8, 2026 by tony via publish-preview / publish #1193
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