# $defs.ActStep.description
One browser action.

`selector` is the pinned CSS/text selector (DX7 — user-editable).
`target` is the human description the compiler keeps (e.g. "the
sign-up button"); when the pinned selector fails at run time the
agent loop uses `target` to re-resolve against the live page.
At least one of the two is required.

# $defs.ExpectStep.description
A deterministic verification point. Plain code verifies — the LLM
never judges an expect. A failed required expect halts the run with
the `assertion_failed` failure class.

# $defs.ExtractStep.description
Pull a visible value into a run variable; later steps reference it
as {{name}}. Extracted variables are NOT secrets — they may appear in
summaries; secrets only ever come from the credential vault.

# $defs.FlowAssertion.description
Post-flow check, independent of step order. critical|warning failures
become verified findings; info becomes advisory (spec § Assertions).

# description
A reviewable, executable browser-flow spec. Compiled from constrained-vocabulary natural-language test cases; the user confirms the spec before it runs on a monitor. See https://prufa.dev/docs/specs/flow_spec_v1.html