Skip to main content

Module engine

Module engine 

Source
Expand description

The interface an accounting engine implements to be checked against bookspec (plan/served.md P13, D-34).

bookspec is a specification first: its examples are the concrete cases (bookspec/examples/*.toml), its rule identifiers the normative rules (BS-<area>-<n>), and this trait the only thing an engine has to provide for the runner to check it. The engine’s answers are compared with the examples’ expected values by the runner; an engine is never asked whether it agrees with itself.

Structs§

Claims
What an engine declares about itself: the rules it takes the conformance test on, and the option it picks for each of the specification’s choices (CHOICE: the specification names the options, an engine declares its pick; plan/served.md P13 step 3).
Refusal
An engine’s refusal: the rule that refuses, and why in the example’s words (bookspec/README.md’s refusal vocabulary, never an engine’s own message).
RuleId
A bookspec rule identifier: BS-<area>-<n> (e.g. BS-entry-1).
RuleIdError
Why a string is not a bookspec rule identifier.

Traits§

Engine
An accounting engine, as bookspec checks it.

Functions§

fallback_refusal
The refusal an engine reports for an error it has no example-word reason for: the reason as given, under fallback.