D081 - Layout checks record bytes and interpret nothing
Status: decided Date: 2026-09-26
130-layout calls a structure-filling function into an
oversized buffer filled with a poison pattern and guarded past its end,
and dumps the bytes as OBS|bytes. A byte counts as written
when it changed from the poison. Fields are named by position, never by
assumed meaning. The verdict is weak on purpose; the dump is the
result.
Why: dumping needs the arity, not the layout, so it reaches the struct-taking surface without breaking D008. Poison separates a field written as zero from one never touched. A guard catches the one fault the method could cause.
Rejected: zeroed buffers - hide written zeros. Named
fields - a reader who later learns the layout cannot correct a field
already called end.