currentVerdictOnDisk function

Map<String, String>? currentVerdictOnDisk({
  1. required String workspaceDir,
  2. required String rubric,
  3. required String nodePath,
  4. required int round,
  5. bool requireOwner = false,
})

currentVerdictFromFile widened to the SAME transport reach result() has for on-disk artifacts: the canonical path first, then the round-fresh STRAY walk (gate-integrity #4 — a critic that cdd mid-run and wrote its verdict under a subdir). The route's join reads through THIS (bridge fix, 2026-07-24): a lane whose verdict result() accepted as file-stray still has a current-round artifact ON DISK, and refusing to join it would wedge the round on a lane that can never re-write. Same fence, same round, same single parser — only the search widens.

Implementation

Map<String, String>? currentVerdictOnDisk({
  required String workspaceDir,
  required String rubric,
  required String nodePath,
  required int round,
  bool requireOwner = false,
}) =>
    currentVerdictFromFile(
      workspaceDir: workspaceDir,
      rubric: rubric,
      nodePath: nodePath,
      round: round,
      requireOwner: requireOwner,
    ) ??
    _payloadOrNull(
      _strayVerdict(
        workspaceDir,
        rubric,
        nodePath,
        round,
        requireOwner: requireOwner,
      ),
      rubric: rubric,
    );