Tag the judgement dispatch R7 and record which half of FR-CULL-13 is met

apply_judgement and apply_label carry TRACES: R7, the burst
representative callback FR-CULL-13 with a note that choosing it writes
the grouping and no verdict. The register's status for FR-CULL-13 says
the write-path test is met and the evidence chips are outstanding.
Traceability matrix regenerated.
This commit is contained in:
2026-09-27 07:20:41 -04:00
parent 2cde287440
commit adbb9ac9e6
3 changed files with 46 additions and 21 deletions
+12 -2
View File
@@ -115,7 +115,7 @@ impl LabelGesture {
}
}
/// TRACES: FR-CAT-5 | FR-CAT-13
/// TRACES: FR-CAT-5 | FR-CAT-13 | R7
/// Label a set of images: catalog first, in one transaction, then the grid,
/// the chips and both sidecars — the order and the reasons of
/// [`apply_judgement`].
@@ -376,8 +376,15 @@ fn keyword_summary(word: &str, changed: usize, selected: usize, assigning: bool)
format!("{verb} “{word}” {preposition} {changed} of {selected}")
}
/// TRACES: R7 | FR-CULL-13
/// Apply a judgement to a set of images: catalog first, then sidecars.
///
/// The judgement dispatch: every rating and flag a person gives passes
/// through here, from an `on_*` callback below, and nothing else calls it.
/// `tools/traceability/src/verdicts.rs` holds that to a list — a call from
/// anywhere else, and in particular from anything that computes evidence
/// about a frame, fails `cargo test -p traceability`.
///
/// # Order matters
///
/// The catalog is written **synchronously and first**, so the star appears
@@ -1075,10 +1082,13 @@ pub(super) fn wire_ratings_and_flags(
});
}
// TRACES: FR-CULL-5 | FR-CULL-13
// Name the frame an open burst folds to (FR-CULL-5). The default is the
// earliest of them, chosen because it is a fact about the clock and not a
// judgement about the photograph; this is the photographer, who is the only
// one who knows which of the twelve is the keeper, saying otherwise.
// one who knows which of the twelve is the keeper, saying otherwise. The
// choice is a grouping, not a verdict: `bursts::choose` moves the badge
// and writes no rating, flag or label (FR-CULL-13).
//
// A repaint of the badges rather than a reload, which is what separates it
// from folding a burst up: the grid's query returns the same rows either