Skip to content

docs: shared runtime core stage 2 (steps 1-3 built), and a C ABI reference - #91

Merged
Kinflou merged 4 commits into
mainfrom
proposals/shared-core-stage2-docs
Oct 26, 2026
Merged

Kinflou merged 4 commits into
mainfrom
proposals/shared-core-stage2-docs

Conversation

@Kinflou

@Kinflou Kinflou commented Oct 26, 2026

Copy link
Copy Markdown
Member

Documents stage 2, rollout steps 1-3, of the shared runtime core (runtime#49-#53, #55-#57, #59, #60, simulator#29). Documentation only.

Changes

  • proposals/shared-runtime-core/core-interface.md
    • Status is now accepted, with steps 1-3 done. New "What's built" lists the PRs.
    • New "What changed from the proposal", each item checked against origin/main: method names (runtime#45), Call unchanged, COMLINE_ERR_BUSY (23), exact BUFFER_TOO_SMALL sizes, the frame-limit design, one envelope-based encode_reply, one-way by mode and connection framings only, which fields each framing reads, JSON-RPC without std confirmed, and the deferrals (comline_connection_size/init after 1.0, comline@2 before 1.0).
    • Stale lines fixed: the C API sketch is replaced by a pointer to the reference, the crate layout, the "What changes in the core" table (now with status), the toolchain note, the JS glue's panic handling and memory use, the open questions, the rollout.
    • Bindings (stage 4), ABI 1.0 and the release workflow stay as future work.
  • reference/c-abi.md (new, in the nav under Reference): ABI version, status codes, constants, the four structs, every function with its errors, what each framing reads, frame limits, the implementation rules, wasm32 and the JS glue, building, how it is verified, and the measured crossing cost.
  • proposals/shared-runtime-core/verification.md: the FFI vector harnesses, ffi_feed and ffi_vs_core, the differential proptest, stream_split, the FFI benches and the gate over every target; runtime#58 (deferred) and its exemption under "Found along the way".
  • proposals/shared-runtime-core/index.md, proposals/index.md: stage 2's status.

Where numbers come from

  • Crossing cost: the published rust.bench.json on runtime's reports branch, main at cb41d31 (the merge of runtime#60), which has the ffi/abi/* and ffi/core/* ids. The PR Packet dispatch: transitions, replies and two-way request ids decided #60 body's local figures (e.g. encode_request 965 to 742) are cited separately, as local.
  • 65 vector cases: counted from the six vector files the ABI carries (8 + 9 + 8 + 9 + 12 + 19).
  • Nightly fuzz figures: rust.fuzz.json on reports, main at b773057.
  • Everything else is from runtime/ffi/include/comline.h, runtime/ffi/src/lib.rs, runtime/core, the workflows and the PR bodies.

Checked

  • zensical build --strict (as docs.yml runs it, after sync-language-support.py --render-reports): no issues. No unrendered {{ or {% in the built site. Every link and anchor on the changed pages resolves.
  • The CLI, IDL and language-support drift workflows are path-filtered and none of these paths is in them.

Kinflou added 4 commits October 26, 2026 23:23
The core-interface proposal is accepted, with what the build changed
recorded: names, Call unchanged, COMLINE_ERR_BUSY, exact BUFFER_TOO_SMALL
sizes, the frame-limit design, one-way by mode, the jsonrpc feature, and
the deferrals. Stale lines (the API sketch, the toolchain, the JS glue's
panic handling) are fixed.

A new reference page documents the C ABI 0.1: version, status codes,
structs, functions, the rules, wasm32 and the JS glue, how it is
verified, and the measured crossing cost.

The verification page gains the FFI vectors, fuzz targets, differential
proptest, benches and the generalized gate, and the open finding
runtime#58.
@Kinflou
Kinflou merged commit b5b74d4 into main Oct 26, 2026
3 checks passed
@Kinflou
Kinflou deleted the proposals/shared-core-stage2-docs branch October 26, 2026 16:00
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