Skip to content

Native bindings: park feat/native-bindings for a major release #123

Description

@Verdenroz

Tracking issue for feat/native-bindings, so the work is findable rather than sitting on a branch nobody remembers.

Status

Parked deliberately. It targets a major release rather than a patch, so it is not being folded into v0.1.20.

Branch: origin/feat/native-bindings, 9 commits, last touched 2026-08-22. Never opened as a PR.

d04105e fix: gate a newly bound package against an empty base
cfc65d2 ci: build and gate the generated bindings
b99772a feat: dogfood the binding engine on soothfast-demo
35e53f2 docs: document the binding engine
7137d43 fix: build soothfast-measure for musl
9445a52 feat: gate the exported surface in soothfast.lock
512ca3f feat: add bind gen, gate, build and publish
1368121 feat: add the soothfast-bind engine
dbcc4f2 feat: register exports with #[soothfast::export]

Scope

A new soothfast-bind engine (43 files) generating native bindings for a Rust crate, dogfooded on a new soothfast-demo crate (23 files) that emits Python, JS/wasm and C bindings.

  • #[soothfast::export] registers an item's exported surface, in the same linkme pattern the other registries use.
  • bind gen | gate | build | publish in the CLI (10 files under cargo-soothfast).
  • The exported surface becomes a gated claim in soothfast.lock, so a binding's public API cannot drift silently.
  • Supporting edits to soothfast-macros, soothfast-registry, soothfast-measure (perfcnt, runner, plus a musl build fix) and soothfast-docs (lockfile, markdown).
  • A CI job building and gating the generated bindings.

Why it is a major release

It adds a workspace crate, a macro, a CLI noun, and a new gated surface in the lockfile. That is a minor-or-major shaped change, not something to slip into a patch alongside bug fixes.

Before reviving

  • Confirm it builds and tests standalone.
  • Assess the rebase onto current master. The branch predates the gate-accept work, the headroom flag, the spec probe surface and v0.1.19.
  • Decide whether the soothfast-demo dogfood crate ships in the workspace or stays a fixture.
  • Re-check the lockfile interaction: the bind fingerprint format moved to v2 after this branch was written.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions