
== Q1 runs/ linked out of the data root to nothing: list
  base: exit 0
  cand: exit 0

== Q1 same: show
  base: exit 4
    err| mosaic-task: run not found: r-20260101T000000Z-aaaaaa (under /home/jwoltje/darkwing-scratch/r56b/probes/q1/data/runs)
  cand: exit 4
    err| mosaic-task: run not found: r-20260101T000000Z-aaaaaa (under /home/jwoltje/darkwing-scratch/r56b/probes/q1/data/runs)

== Q2 runs/ linked out to an empty directory that exists: list
  base: exit 0
  cand: exit 4
    err| mosaic-task: /home/jwoltje/darkwing-scratch/r56b/probes/q2/data/runs resolves outside the data root (/home/jwoltje/darkwing-scratch/r56b/probes/q2/data)

== Q3 state/ linked out to nothing (candidate module)
  readActivePointer: null
  readActivationLog: {"entries":[],"malformed":0}

== Q4 state/ linked out to an empty directory that exists (round 1 P5)
  readActivePointer: null
  readActivationLog: {"entries":[],"malformed":0}

== Q4b same, with active.json there
  readActivePointer: RunsError 4 /home/jwoltje/darkwing-scratch/r56b/probes/q4/data/state/active.json resolves outside the data root (/home/jwoltje/darkwing-scratch/r56b/probes/q4/data)
  readActivationLog: {"entries":[],"malformed":0}
