Users relying on Z23 app-run evidence need malformed observations to fail with the correct explanatory reason, and required roots must be checked across their full 32 bytes.
A mutation campaign against the canonical app-run observation found that the story-graph test remains green when error strings disappear, NULL or schema-version validation returns success, the first required root is skipped, or the final root byte is ignored.
Acceptance:
- the registered story_graph group asserts every public validation error spelling;
- NULL and unsupported schema versions fail with their exact error codes;
- the first required root and byte 31 of every root remain load-bearing;
- the previously surviving mutants are killed without weakening any gate.
Users relying on Z23 app-run evidence need malformed observations to fail with the correct explanatory reason, and required roots must be checked across their full 32 bytes.
A mutation campaign against the canonical app-run observation found that the story-graph test remains green when error strings disappear, NULL or schema-version validation returns success, the first required root is skipped, or the final root byte is ignored.
Acceptance: