Skip to main content

carry

Function carry 

Source
pub fn carry(
    map: &AssertionMap,
    state: &State,
    old: &InputManifest,
    new: &Inputs,
    evidence_digest: &str,
    context_changed: bool,
) -> Result<(AssertionMap, State), String>
Expand description

Carries explanations, never execution events. Uncertain matches are retained as retired suggestions; no nearest-line heuristic assigns semantic meaning.

A flow goes stale for a change to what its claim rests on and for nothing else: the declarations holding its nodes and the top level of their files, the test it applies to, a file it watches, its assertion, the run’s context. A change elsewhere in a node’s file is a notice. A change to comments or blank lines is nothing.

What each flow’s test executed does not make the flow stale – a claim does not pass through every function its test happened to run, and an acknowledgement demanded for all of them at once stops being read. It goes on the change record instead: a changed file names the flows whose tests ran the changed code, so the one assessment the change asks for is asked of the right people, and a change nobody ran asks for none.