Skip to content

openbim.geometry capability boundary

Status: authoritative Axiolid-side boundary for the application- and vendor-neutral openbim.geometry Pkl package. The released package URI is package://openbimrs.github.io/pkl/openbim.geometry@0.1.0.

Axiolid implements geometry capabilities. The Pkl package supplies a neutral catalog and schema for declaring which capabilities an implementation claims. It does not define an Axiolid runtime adapter, execution plan, provider order, or product policy.

IMPORTANT

The openbim.geometry 0.1.0 Axiolid manifest pins evidence to Axiolid revision ed07679ee698d960380ec4913f62ffd8c7a653a5. It describes claims for that immutable revision; it is not evidence for newer Axiolid source. A successor manifest must pin a newly reviewed Axiolid revision before claiming current conformance.

Ownership

OwnerOwnsMust not own
openbim.geometrycatalog capability IDs; manifest, claim, requirement, and conformance-report schemasAxiolid provider selection, execution requests, or product policy
AxiolidRust representation and operation contracts; implementations; tests; bounded evidence and typed refusalsPkl runtime/schema types or downstream requirement policy
Consumer or checkerrequirement profiles and matching a manifest to those requirementsrewriting implementation claims or interpreting absence as success

The package remains outside the Rust dependency graph. Axiolid source may be evidence for a Pkl claim, but geometry packages do not import Pkl modules or carry Pkl values through public APIs.

Two distinct capability identities

openbim.geometry uses a closed CapabilityId catalog such as openbim.geometry:tessellation.surface. Axiolid operation contracts use their own versioned IDs such as org.axiolid.geometry.tessellate.v1.

These IDs are intentionally not interchangeable:

  • the Pkl ID names a neutral capability that implementations can claim;
  • the Rust ID versions one concrete Axiolid operation contract;
  • one Pkl claim can require evidence from multiple Rust contracts or representation packages;
  • the external Axiolid manifest owns the mapping and its evidence locators.

String equality, shared prefixes, or a provider name never establish that mapping.

Axiolid operation evidence anchors

Rust contract IDRust contractRequirementsGuarantee / evidence boundary
org.axiolid.geometry.tessellate.v1axiolid_tessellation_contract::Tessellatortyped graph/root and validated TessellationOptionstriangle mesh under explicit request parameters; no exact B-rep claim
org.axiolid.geometry.mesh-boolean.v1axiolid_mesh_boolean_contract::MeshBooleanoriented closed mesh operands, operator, and execution optionsBooleanOutcome and BooleanEvidence; unsupported cases remain explicit
org.axiolid.geometry.mesh-section.v1axiolid_mesh_section_contract::MeshPlaneSectionoriented closed mesh, plane frame, and typed limits/optionsclosed plane-local contours and SectionEvidence; unsupported topology fails closed
org.axiolid.geometry.graph-to-mesh.v1axiolid_mesh_compile_contract::MeshCompilergeometry graph/root and execution optionsexplicitly mesh-valued output; never an implicit exact B-rep result

This table identifies possible evidence anchors; it does not add claims to the Pkl manifest. The released manifest is the source of truth for its own declared catalog capabilities and scope.

Claim-to-evidence mapping

openbim.geometry fieldAxiolid evidence rule
implementation.id and implementation.versionidentify the released implementation; claim evidence must still pin an immutable source revision
capability map keyuse the package's closed catalog ID; map it explicitly to relevant Rust contracts and representations
CapabilityClaim.versionversion the claim itself; do not reuse a crate or wire-format version implicitly
level and exactnessstate only what the cited implementation and tests demonstrate within the declared scope
scopelist dimensions, input/output representations, and supported cases narrowly enough to verify
limitationspreserve unsupported, approximate, bounded, and partial cases explicitly
evidencepoint to stable source, test, documentation, or benchmark locations at the claimed revision

Missing geometry, unsupported representations, unavailable evidence, and provider absence are non-success outcomes. An external conformance evaluator may report satisfied, unsatisfied, or indeterminate; it must not turn missing evidence into a successful claim.

Provider obligations

A provider-backed claim is valid only when all of the following are true:

  1. the claimed neutral capability and scope map to implemented Rust contracts;
  2. requirements are admitted before execution;
  3. unsupported inputs or missing evidence produce an explicit typed refusal or indeterminate result;
  4. evidence identifies immutable source and the relevant suite/vector version;
  5. device, memory, scheduling, retry, fallback, and provider ordering remain execution metadata—not capability semantics.

A provider name, registry entry, package manifest, or benchmark alone is never capability evidence.

Update protocol

When Axiolid capability behavior changes:

  1. land and independently review the Rust contract, implementation, tests, and documentation;
  2. identify the exact Axiolid revision and evidence locations;
  3. update openbim.geometry/conformance/axiolid.pkl in the Pkl repository;
  4. run the Pkl package's tests and release the successor package immutably;
  5. update consumers only after that released package is verifiable.

This keeps Axiolid format-neutral while giving openbim.geometry precise, inspectable implementation evidence.

Released under the Mozilla Public License 2.0.