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.
unbindis a failed driver bind’s revert (revert_device);cancelis the kernel cancelling an unanswered activation’s jobs before its drain. (protectand the runtimesetare not made by any fake-harness entry:protectby 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
epochfortxn, as a lease holder would write it. - fresh 🔒
- injected
- Run
entrywithoutcomeinjected into its firstcall; Ok if every transaction ends terminal, the journal replays, and the call was made. - op 🔒
- run
- The whole entry: contracts, then the matrix.