docs: record testing tiers (ADR 0009), link from 0008 (task 0003)

Add ADR 0009 defining the unit / integration / e2e tiers by the seam
each exercises, with the value-returning vs process-side-effecting line
as the boundary between in-process and e2e-only. Add one line to ADR
0008 noting the Result seam is what makes error propagation assertable
in-process, cross-linking 0009.
This commit is contained in:
2026-07-28 22:24:42 -04:00
parent 4aec705f2b
commit e16f3f957d
2 changed files with 45 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ It keeps the bin layer consistent with core's total-function stance, so the whol
The possibility of failure becomes visible in a function's signature instead of hidden behind a `throw`.
The success value cannot be read without first handling the error case, which removes a class of mistakes at compile time.
A tagged-union error type gives exhaustive handling: a new failure mode is a new tag that every match must account for.
Because failure is a returned value rather than a side effect, error propagation can be asserted in-process by the integration tier, without spawning the binary (see ADR 0009).
## Consequences