Expand description
The apply: a stored plan executed exactly, or refused because its inputs moved.
An apply that recomputed intent from the tree could act on something
the operator never saw. So it reads the plan that was reviewed, asks
one question first, is the world still the one the plan described,
and refuses naming what moved when it is not. Readiness is enforced
with no override: a gap is honest and is not permission. Every local
operation is staged through the transaction in crate::atomic and
renamed in order, with the record last, and the run lands in the
journal rk runs reads.
Structs§
- Applied
- The machine form of an apply.
- Operation
Result - One operation and what happened to it.
- Postcondition
Result - One postcondition and what it found.
Constants§
- APPLY_
SCHEMA - The version of the apply report’s shape.
Functions§
- gate
- Refuse anything but a ready plan.
- gate_
fresh - Refuse where the world the apply runs against is no longer ready, even though the approved plan was.
- postconditions
- Run every postcondition the plan carries and report each outcome.
- revalidate
- Refuse a stored plan whose semantic inputs no longer match a fresh computation over the same request.
- run
- Execute one gated, revalidated plan: stage every operation, commit the renames in order, run the postconditions, and journal the run.
- run_
locked - The apply whose caller already holds the target.
- verify_
before_ digests - Refuse where a destination no longer holds the digest an operation’s
beforenames, every mismatch collected in one pass. - verify_
blobs - Refuse where a blob the plan names is missing from the store or no longer digests to the name it is filed under.
- verify_
record_ last - Refuse a plan whose operations do not end with exactly one record write.