Skip to main content

Module core

Module core 

Source
Expand description

The sealed surface: operations known at build time.

The tapes read API is a published contract, sealed in the tapes repository and attached to releases as an OpenAPI document. Clients do not build against the tapes working tree — they build against a published release asset. This crate vendors that asset once, in contracts/tapes-api.yaml, pinned by fingerprint (see contracts/PROVENANCE.md), and turns it into requests.

  • contract — the vendored document, reduced to an operation table.
  • coverage — the gate that fails a build when a contract bump adds an operation the client neither exposes nor deliberately allow-lists.
  • models — the document’s response and request shapes as Rust types, held to it by a gate of their own (models::coverage).
  • methods — the call surface over a crate::transport::TapesTransport.

This module is one half of a symmetry: crate::cassettes is the same machinery over an operation table discovered at runtime. Both are thin — everything that could drift between them lives in the shared floor (crate::transport, crate::error, crate::decode, crate::page, crate::path), so a sealed call and a discovered call differ only in where their operation table came from.

Re-exports§

pub use contract::CoreSurface;
pub use contract::TAPES_API_YAML;
pub use contract::call_for;
pub use contract::call_for_with_body;
pub use contract::core;
pub use contract::ops;
pub use methods::CoreClient;
pub use models::ContractModel;

Modules§

contract
The vendored core contract, and the surface reduced from it.
coverage
The operation-coverage gate.
methods
Calling the sealed contract’s operations over a transport.
models
The sealed contract’s response and request shapes, as Rust types.