# Run/start/stop/cancel

**Test family:** `RUN`

- **RUN-001** Start from eligible state with valid inputs; invalid state/input has no side effect.
- **RUN-002** Progress/state/result correspond to durable backend work, including queued and delayed start.
- **RUN-003** Double start/retry/replay obeys idempotency and concurrency limit.
- **RUN-004** Stop/cancel at queued/start/middle/near-complete boundaries defines in-flight and partial outputs.
- **RUN-005** Stop is graceful at a safe point; forced termination cleans locks/temp resources or reports recovery.
- **RUN-006** Resume/retry uses correct checkpoint and does not repeat irreversible steps.
- **RUN-007** Session expiry or page close does not change backend execution unless promised; reopen shows truth.

## Comprehensive per-item coverage

- **RUN-008** Exercise the action with the smallest valid target, an ordinary target, a boundary-size target, and a target whose display text contains emoticons, emoji, RTL, and combining characters.
- **RUN-009** Attempt the action with missing, stale, deleted, archived, locked, invalid, and partially loaded targets; fail specifically without changing adjacent data.
- **RUN-010** Invoke through every exposed surface—detail, list, bulk, keyboard shortcut, API, import, automation, and mobile—using one authoritative business rule.
- **RUN-011** Verify hidden and disabled presentation matches server authorization; direct requests by an unauthorized role or tenant must still fail.
- **RUN-012** Change role, ownership, policy, or target state between rendering and commit; reauthorize and revalidate at the final write.
- **RUN-013** Single-click, double-click, press Enter repeatedly, resend the request, and retry after timeout; create exactly one intended effect.
- **RUN-014** Race two users performing compatible and conflicting actions; define ordering, conflict reporting, and final state.
- **RUN-015** Interrupt before confirmation, during request, after commit but before response, and during downstream work; distinguish canceled, unknown, failed, and complete states.
- **RUN-016** Force validation, dependency, quota, network, and downstream notification failures; preserve atomicity or expose compensating recovery.
- **RUN-017** Verify confirmation text names the exact target and consequence, safely rendering quotes, markup canaries, emoticons, and long values.
- **RUN-018** Use keyboard, screen reader, switch, touch, and zoom/reflow; expose role, name, disabled/pending state, errors, and returned focus.
- **RUN-019** Translate and lengthen action labels and errors; preserve verb meaning, target identity, shortcuts, and layout in RTL locales.
- **RUN-020** Measure latency at normal and supported bulk sizes; show progress, permit safe cancellation, and avoid blocking unrelated work.
- **RUN-021** Check rate limits, quotas, and abuse controls at the UI and API boundary without turning retries into duplicate work.
- **RUN-022** Verify related counts, caches, search indexes, feeds, summaries, and denormalized records converge after the action.
- **RUN-023** Verify notifications and integrations identify the correct actor, target, tenant, old/new state, and do not leak hidden fields.
- **RUN-024** Record one tamper-resistant audit trail with actor, authority, target, time, request/correlation ID, outcome, and reason—without secrets.
- **RUN-025** Repeat from an old client, stale browser tab, expired session, and replayed signed request; reject obsolete or replayed intent safely.
- **RUN-026** Exercise rollback, undo, restore, or compensating action where promised; preserve dependent data and history.
- **RUN-027** Monitor success, failure, latency, retries, deduplication, stuck jobs, and compensation so silent partial completion is detectable.

[Back to Actions and lifecycle transitions index](../../actions-lifecycle.md)
