test(r2): commit the round's falsifiers as a mutation table; one flag predicate
tests/mutations/r2_flow.toml: 18 falsifiers, each proved RED under its change by scripts/mutation_check.py (18/18). Its first run found three vacuous proofs, now resolved: - landed_at's per-entry skip: the symlink-loop fixture stopped raising once the clock moved to lstat. New fixture: a folder that lists but cannot be searched. - the Desk's bench URL guard: the test covered bookmarks only. A hand-edited registry bench now rides with it. - flagged_targets' `error is None`: defence in depth (hydration already strips a damaged mark's target), so no single-guard row; named in the table header instead. The rail's flagged filter and the orphan-flag list read flagged_targets rather than restating it; no reachable behaviour changes.
This commit is contained in:
+4
-3
@@ -1206,8 +1206,8 @@ def create_app(
|
||||
# no tray slot, so it is listed apart with its withdraw control
|
||||
# rather than vanishing from the page while staying in the file.
|
||||
"orphan_flags": [m for m in marks
|
||||
if m.shape == "flag" and m.error is None and m.target
|
||||
and m.target not in {it["name"] for it in gallery}],
|
||||
if m.shape == "flag" and m.target in
|
||||
flagged_targets(marks) - {it["name"] for it in gallery}],
|
||||
"ord_width": len(str(len(gallery))),
|
||||
"uploaded": (booth / UPLOAD_MARKER).exists(),
|
||||
# The same provenance line the index card carries. Deliberate:
|
||||
@@ -1238,11 +1238,12 @@ def create_app(
|
||||
"""
|
||||
active = requested if requested in FILTERS else "all"
|
||||
open_ids = {m.id for m in open_marks(marks)}
|
||||
flagged = flagged_targets(marks) # THE flag predicate (R2)
|
||||
buckets: dict[str, list[dict]] = {f: [] for f in FILTERS}
|
||||
for it in gallery:
|
||||
mine = marks_for_target(marks, it["name"])
|
||||
buckets["all"].append(it)
|
||||
if any(m.shape == "flag" and m.flagged for m in mine):
|
||||
if it["name"] in flagged:
|
||||
buckets["flagged"].append(it)
|
||||
if any(m.shape == "note" for m in mine):
|
||||
buckets["annotated"].append(it)
|
||||
|
||||
Reference in New Issue
Block a user