Skip to main content

Module conformance

Module conformance 

Source
Expand description

fake-assumptions-conformance (SPEC §17a, §18.12): the fake backend as a second implementation of every docs/assumptions.md entry.

Two halves. The contracts: one check per assumption the fake can hold, against a fresh fake machine. The matrix: each mutating backend call, with each outcome a real backend may give besides success (Partial: the effect landed but the call failed; Unknown: no answer; Fenced: refused before any effect), injected into a catalog entry that makes that call. Every transaction must still end in a terminal state (I12), and the journal must replay (I15; I6 is the ledger’s own guard on replay).

Constants§

MATRIX
The mutating calls, and the catalog entry whose run makes each one. unbind is a failed driver bind’s revert (revert_device); cancel is the kernel cancelling an unanswered activation’s jobs before its drain. (protect and the runtime set are not made by any fake-harness entry: protect by no caller at all.)
OUTCOMES

Functions§

contracts
One check per docs/assumptions.md row the fake can hold. Rows about the world outside the process (the kernel and systemd are correct) have no fake counterpart and are listed as such.
fenced_at 🔒
A fence at epoch for txn, as a lease holder would write it.
fresh 🔒
injected
Run entry with outcome injected into its first call; Ok if every transaction ends terminal, the journal replays, and the call was made.
op 🔒
run
The whole entry: contracts, then the matrix.