Design decisions
description: "Index of Sendra design decisions: unasserted statuses under test, how exit codes are split, script sandboxing and the precedence chain."
Design decisions
The rationale behind the design choices in Sendra's schema and CLI that could reasonably have gone another way - an ADR-style collection, one file per decision. For the shape of a feature (what a field is called, what it does), see docs/reference.md; these are the "why", not the "what".
- Why
testignores an unasserted status — why a404nobody wrote an assertion against does not fail asendra testrun, and why apost_requestscript counts as a check the same way an assertion does. - Exit codes: why the numbers are split the way they are —
why
4is a separate number from3, why an unsendable request undertestexits1rather than4, and how these codes rank against each other for a whole collection. - Sandboxing — the guarantees behind
pre_request/post_request: no filesystem, no network, nothing registered into the script interpreter beyond the request/response themselves. - Precedence, start to finish — every layer that can
decide a value for a request — defaults, config, environment, captures, CLI
overrides,
pre_request— stated as one chain.