✔ two-outcome example has no structural issues or open teaching decisions (2.580495ms)
✔ round trip preserves synthetic provenance, long text and both outcomes (0.924119ms)
✔ oversized imported field rejects without truncating source (0.509479ms)
✔ shared study conflicts and duplicate IDs reject import (1.412968ms)
✔ masked calculation cannot remove respondent awareness (0.445195ms)
✔ not applicable needs rationale and recorded decisions need fields (0.318648ms)
✔ baseline negative offset is exported as a window and additional visits are linked (1.164573ms)
✔ reserved or repeated extra occasion is flagged (0.250228ms)
✔ legacy import retains window and leaves new decisions open (0.418626ms)
✔ invalid options and unsafe types reject import (0.449261ms)
✔ CSV quotes commas, quotes, newlines and observed zero (0.199985ms)
✔ ZIP export is readable by a standard Python ZIP reader (6.397969ms)
ℹ tests 12
ℹ suites 0
ℹ pass 12
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 110.445401
