Explicit lifecycle
Admission, running, terminal success, failure, refusal, reconnect, duplicate, resume, and capacity outcomes are messages, not timing guesses.
Reframe treats an end-to-end scenario as a versioned contract, not a loose test script or screenshot checklist.
A scenario names prerequisites, actors, typed actions, lifecycle events, terminal predicates, failure states, cleanup, and the boundary of its claim before implementation begins.
Older end-to-end automation often relied on sleeps, polling, private harness commands, and log interpretation. In Reframe, MIDI 2.0 lets a scenario actor participate as a software peer: it invokes typed operations and receives correlated lifecycle events over Universal MIDI Packets. This complements, rather than replaces, BDD/ATDD, contract testing, and CI.
Admission, running, terminal success, failure, refusal, reconnect, duplicate, resume, and capacity outcomes are messages, not timing guesses.
AX proves operability, CoreGraphics/VRT proves appearance, FountainStore proves durable behavior, and telemetry explains conditions.
MIDI2-native execution proves owned software-peer interoperability. Physical hardware interoperability still requires a hardware witness.
FountainScenarioKit is the public Swift/MIDI2 kit for generic lifecycle, UMP encoding, idempotent replay, transport boundaries, and deterministic fixtures. Reframe retains its operation namespace, Store adapter, UI witnesses, scenario corpus, and acceptance evidence.
BDD and ATDD are neighboring practices; Cucumber is an implementation tool, not scientific evidence. The Book cites the BDD systematic mapping study and a controlled TDD study, and reports no universal productivity claim.