ADR-0007 and ARCHITECTURE.md both name the adversarial test corpus as 'the single most-needed contribution.' A community-built corpus of adversarial inputs that exercises every veto reason code across all 9 patterns hardens v0.2 into v0.3.
How to contribute (per CONTRIBUTING.md):
- Pick one veto reason code (e.g., FHA-VOUCHER, PROV-HASH-MISMATCH, RESIDENCY-CROSS-JURISDICTION-UNTAGGED)
- Construct an adversarial input that exercises an edge case
- Add it to
tests/adversarial_corpus/<reason_code>.py
- PR with the new test passing
Acceptance for issue close:
- At least 3 adversarial cases per reason code (≈45 cases total)
- All cases live in
tests/adversarial_corpus/
- CI runs the corpus as a separate test selection (
pytest tests/adversarial_corpus/)
Priority: P1. Composite 19/27. Community contribution magnet.
ADR-0007 and ARCHITECTURE.md both name the adversarial test corpus as 'the single most-needed contribution.' A community-built corpus of adversarial inputs that exercises every veto reason code across all 9 patterns hardens v0.2 into v0.3.
How to contribute (per CONTRIBUTING.md):
tests/adversarial_corpus/<reason_code>.pyAcceptance for issue close:
tests/adversarial_corpus/pytest tests/adversarial_corpus/)Priority: P1. Composite 19/27. Community contribution magnet.