SnagBadgerA little help for every snag.

Configure hooks and isolated attempts#

Hooks prepare fixtures around execution. Browser isolation prevents one attempt's cookies/storage from contaminating another; hooks restore application/backend state that browser isolation cannot reset.

Choose the correct lifecycle#

Hook phaseScopeSuitable use
beforeRun / afterRunRoot section onlyStart/stop a shared disposable environment
beforeSection / afterSectionSelected section entry/exitAllocate/remove section fixtures
beforeEach / afterEachEach attemptAuthenticate its own context and reset test data

Setup proceeds root-to-leaf; cleanup reverses order and is attempted after setup/test errors. Context creation precedes per-test hooks; supported video starts before those hooks. Cleanup must tolerate partial initialization and a null browser when creation failed.

Declare trusted work#

Each hook has a unique ID and exactly one function registry name or instruction. Function names are references, not inline executable YAML. For example:

hooks:
  beforeEach:
    - { id: authenticate, function: authenticateUser }
  afterEach:
    - { id: cleanup, function: removeFixture }

Resolve those names in a trusted project module. It receives run/test/section/session context, shared fixture state, and browser actions when available. Credentials stay in the executing environment. Canonical hook guidance includes bindings, overrides and review-policy configuration.

Verify isolation#

The runtime must create a unique isolated browser context per attempt and target every action/capture to it. New tabs in one profile share cookies/local storage and are insufficient. Probe with disposable same-origin markers and clean them up before claiming support.

A section login does not carry into new per-attempt contexts. Re-authenticate each attempt or install project-owned state through an explicit hook. Release owned pages/contexts honestly; page closure is not always full context disposal.

Current T3 preview tabs share storage. Use them to observe repository implementation, not to assert product-runtime isolation. Runtime mappings explains supported adapter responsibilities and live-tool verification.

See configuration reference for the division between catalog settings, runtime capabilities and report-review policy.