Skip to content

Releases: basis-foundation/basis-adapters

basis-adapters v0.2.0

Choose a tag to compare

@basauth basauth released this 09 Aug 21:32
fa0373a

Summary

basis-adapters v0.2.0 is an additive public API and packaging release.

The existing nine-adapter normalization surface remains unchanged. This release adds the basis-adapters-owned portion of the evidence architecture formally adopted by basis-architecture ADR-0007.

Highlights

  • Add governed basis-adapter-evidence-v1 material construction.
  • Add RFC 8785 canonicalization.
  • Add deterministic SHA-256 evidence digest generation.
  • Add deeply immutable retained evidence material and defensive serialization.
  • Add governed evidence projections across REST, BACnet, Modbus, OPC UA, MQTT, DNP3, IEC 61850, KNX, and Niagara.
  • Add evidence-construction models and exceptions.
  • Add rfc8785==0.1.4 as the first runtime dependency.

Public API

The release adds:

  • EVIDENCE_PROFILE
  • CANONICALIZATION_PROFILE
  • DIGEST_ALGORITHM_SHA256
  • AdapterEvidenceMaterial
  • EvidenceDigest
  • ConstructedAdapterEvidence
  • construct_adapter_evidence()
  • evidence-construction exceptions derived from AdapterError

Compatibility

No existing normalization model, serialized normalized-request field, action or resource semantic, mapping schema, supported protocol, or existing normalization behavior changed.

Installing v0.2.0 now includes the runtime dependency rfc8785==0.1.4.

Important Boundaries

This release does not provide:

  • an operation-producer runtime;
  • producer authentication;
  • reference_id minting;
  • adapter_source selection;
  • redaction_classification assignment;
  • final AdapterEvidenceReference assembly;
  • gateway submission;
  • evidence persistence or retrieval;
  • protocol network communication;
  • device execution;
  • execution-result evidence.

A digest proves correspondence with canonical bytes only. It does not prove truthfulness, producer authenticity, authorization, or execution.

Validation

  • 1530 tests passed.
  • Ruff lint and formatting checks passed.
  • Strict mypy validation passed.
  • Wheel and source-distribution builds passed.
  • Clean-install smoke testing passed.
  • Package-content and dependency inspection passed.
  • Final release assets were built from the exact v0.2.0 tagged commit.

basis-adapters v0.1.0-rc.1

Choose a tag to compare

@basauth basauth released this 11 Jun 17:55
2b80d26

basis-adapters v0.1.0-rc.1

Initial release candidate for basis-adapters.

Overview

basis-adapters is the protocol normalization layer of the BASIS ecosystem.

The project demonstrates that diverse operational technology (OT) protocol and platform operations can normalize into a shared authorization request model while preserving protocol evidence for auditability.

The adapter layer is intentionally focused on normalization.

It is not:

  • a protocol gateway
  • a protocol client or server implementation
  • a device controller
  • an identity provider
  • a policy engine
  • a runtime enforcement boundary

The architectural invariant remains:

Adapters normalize.
Gateway enforces.
Kernel evaluates.

Included Adapters

This release includes normalization support for:

  • REST
  • BACnet
  • Modbus
  • OPC UA
  • MQTT
  • DNP3
  • IEC 61850
  • KNX
  • Niagara

These adapters collectively cover:

  • Web APIs
  • Building Automation
  • Industrial Control
  • Utility Infrastructure
  • Messaging Systems
  • Supervisory Building Automation Platforms

Architectural Result

All supported adapters normalize protocol-specific operations into the same canonical authorization request shape while preserving protocol evidence.

Examples include:

  • BACnet object/property operations
  • Modbus register operations
  • OPC UA methods, browsing, and subscriptions
  • MQTT publish and subscribe operations
  • DNP3 control and read operations
  • IEC 61850 control and reporting operations
  • KNX group-address operations
  • Niagara platform operations

No protocol required changes to the canonical authorization model.

Highlights

  • Nine protocol and platform adapters
  • Cross-protocol normalization contract testing
  • Schema validation coverage
  • Fail-closed adapter behavior
  • Protocol evidence preservation
  • Deterministic resource mapping
  • GitHub Actions quality gates
  • Public API documentation
  • Release-readiness review completed

Quality

This release candidate passes:

  • pytest
  • ruff check
  • ruff format --check
  • mypy (strict)

and includes:

  • 1,400+ automated tests
  • schema validation tests
  • cross-protocol parity tests
  • adapter contract tests

Project Status

This release is considered:

Normalization-complete

for the initial planned adapter roadmap.

This release is not:

Wire-protocol complete

No live protocol communication, packet parsing, protocol stacks, broker integrations, device integrations, or runtime gateways are included.

License

Apache License 2.0

Next Steps

Future work will focus on:

  • ecosystem integration
  • runtime integration research
  • release hardening
  • broader BASIS platform capabilities

rather than expansion of the initial adapter roadmap.