What
Specify the supported integration profiles for Rust leaf-crate consumers, Rust facade consumers, and native C/C++ consumers. Define how a caller discovers API/ABI version, enabled capabilities and providers, tolerance expectations, thread-safety, representation guarantees, and typed refusal without depending on implementation crate names.
Why now
The workspace has strong internal contracts, but a downstream application still has to infer which crate closure and provider combination forms a supported product surface. The C ABI, packaging, examples, and compatibility tests need one normative contract before they can converge.
Definition of done
Non-goals
This does not declare every geometry operation implemented or freeze the eventual 1.0 API.
Area
architecture
Effort
Medium
What
Specify the supported integration profiles for Rust leaf-crate consumers, Rust facade consumers, and native C/C++ consumers. Define how a caller discovers API/ABI version, enabled capabilities and providers, tolerance expectations, thread-safety, representation guarantees, and typed refusal without depending on implementation crate names.
Why now
The workspace has strong internal contracts, but a downstream application still has to infer which crate closure and provider combination forms a supported product surface. The C ABI, packaging, examples, and compatibility tests need one normative contract before they can converge.
Definition of done
Non-goals
This does not declare every geometry operation implemented or freeze the eventual 1.0 API.
Area
architecture
Effort
Medium