Contents

Browser Evidence

How to read the evidence a Browser case captured, and what its gate waits for.

Reading a capture

Read captured evidence with the command the capture already reported under artifact_reads:

yoke qa artifact read \
  --requirement-id <requirement-id> \
  --artifact-id <artifact-id>

It lands the bytes under this machine's temp root and reports that path as path. The printed result omits the presigned download URL. Open that path, not the capture's own artifacts scratch paths. Add --output PATH to choose the destination yourself.

A full-page capture of a long screen is one very tall image, and a viewer that scales it to fit makes every label in it unreadable. Read the part being judged instead:

yoke qa artifact read \
  --requirement-id <requirement-id> \
  --artifact-id <artifact-id> \
  --region 0,900,1440,600 \
  --scale 1.5

--region x,y,w,h is a pixel rectangle measured from the top-left of the capture; --scale multiplies the rendered size and applies after the region, so one panel can be enlarged to read its small text. The stored artifact is never modified — a view is a way of reading evidence — and the response reports the artifact_view it rendered (source size, region, scale, rendered size), so a finding can name the region it was seen in. A region falling outside the image, an unreadable scale, and a non-image artifact each refuse by name and say where the recorded bytes landed.

Artifact reads and yoke qa plan review-begin use the same evidence plane as captures. Local-only universes keep reading local evidence, and remote universes use their own serving connection. An unresolved evidence route refuses with evidence_plane_unresolved and names the connection repair. Configure the named connection or ask its operator to restore it, then retry. An unavailable serving connection refuses; it never falls back to a different store on this machine.

A read checks that stored evidence still exists before handing it out. When the object a capture recorded has been deleted from the store, the read reports evidence_missing with the address it looked for, rather than a link that cannot open; re-run the case to capture it again.

Captures store their screenshots through the build serving the universe, so a hosted reviewer sees the same images through the configured evidence plane. No review request is raised against a screenshot a hosted reviewer cannot open. Evidence already recorded only on the capture machine is moved in place from that machine with yoke qa artifact rehome --requirement-id <id> --artifact-id <id>.

What the gate waits for

The transition remains blocked until every blocking, materialized or explicit requirement has passed or been waived. Capture success alone is not a visual quality verdict: inspection checks both visible defects and consistency with the expected outcome.

Browser passes must record an observed build at or carrying the revision under verification. Before delivery, new lane commits require fresh evidence. At member close-out, the selected completion run's delivered project commit is the authority, including while the run settles its members. Synchronizing the lane with the base branch after delivery does not stale that proof. Re-run a stale case with yoke qa case run --requirement-id <id>.

Browser evidence · Yoke