Skip to main content

Module projection

Module projection 

Source
Expand description

What a release lands, read as data rather than compiled in.

A release declares its own projection in instance/projection.toml. The engine reads the declaration of whichever release it was asked about, so a plan toward an older release lands exactly that release’s set. While the projection lived in Rust constants, the only witness of what a release landed was that release’s own binary, and a plan toward an intermediate version could only ever be an approximation.

Parsing lives here, in the domain, rather than on the bundle boundary. The boundary answers with bytes; what those bytes mean is this layer’s business, and a transport that understood the projection would be a second place to change when the projection grows.

Structs§

Declaration
Everything one release declares about what it lands.
ProfileDeclaration
One profile the release offers.
Projection
One payload projection: an embedded source and its instance destination.
SentinelDeclaration
One sentinel: the rule, and the adopted specification that owns it.

Enums§

DeclarationError
A declaration this engine cannot read.

Constants§

DECLARATION_PATH
Where the declaration sits inside a bundle.
OLDEST_PAYLOAD_SCHEMA
The lowest protocol version this engine decodes.
PAYLOAD_SCHEMA
The protocol version this engine writes.