Skip to content

[Hackathon] Runs return verdict: blocked on verbose/multi-branch assertions even when the page is correct #175

Description

@lxcario

Summary

Frontend runs intermittently finish with verdict: blocked / executionStatus: completed even when the page under test rendered correctly. The trigger is the shape of the plan/assertion, not a product defect: verbose "either A or B … and not broken" OR-assertions, or plans that navigate many items sequentially, exhaust the agent's step/runway budget before it emits a clean pass/fail verdict.

Environment

  • CLI: testsprite (latest)
  • Test type: frontend (--plan-from)

Reproduction pattern

  1. Author a plan whose final assertion is a two-branch OR, e.g. "verify either an interactive graph canvas OR a clear empty-state message, rather than an empty or broken container."
  2. Run against a page that clearly satisfies one branch (heading + empty-state button visible).
  3. The agent re-checks both branches; its own run summary states the page is correct ("PASS"), but the verdict comes back blocked because the budget ran out before a decisive verdict was emitted.

The same failure mode reproduces with plans that walk many nav items in a single run (e.g. 11 sidebar links sequentially — every executed step passed, but the run blocked before finishing).

Expected

  • Verbose / conditional assertions shouldn't consume enough budget to block a verdict on a correct page, or
  • The runner should surface a clearer signal that the block was budget/plan-shape driven (distinct from an infra block), and/or
  • The practical assertion-complexity ceiling should be documented so authors know the limit up front.

Actual

verdict: blocked with no product defect. The only reliable fix we found was to rewrite each assertion to be single and decisive ("verify heading X and button Y") — a plan-authoring workaround rather than a runner behavior.

Impact

Correct pages report as blocked, which is easy to misread as a product failure. Authors have to learn by trial that FE assertions must be minimal — this isn't documented anywhere.

Suggested fix

Either raise (and clearly report) the per-run step budget, distinguish "blocked (budget / plan-shape)" from "blocked (infra)", or document an assertion-complexity guideline for frontend plans.


Filed as part of TestSprite S3 Hackathon dogfooding (project: Norahttps://github.com/lxcario/Nora). Happy to share the exact plan JSON, the test plan put fix, and run IDs for the blocked→green arcs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions