web/docs/conformance/member-channel-vectors.md

26 lines
1.4 KiB
Markdown

# Conformance Vectors: Member App Channel v1
These vectors verify deterministic member communication behavior.
## Vector Set
1. `MC-001` Register device with active membership -> returns `status=active`.
2. `MC-002` Register device with inactive membership -> returns `membership_inactive`.
3. `MC-003` Poll events with valid cursor -> returns monotonic events + next cursor.
4. `MC-004` Poll events with tampered cursor -> fail closed with validation error.
5. `MC-005` Ack existing event -> returns `status=acknowledged`.
6. `MC-006` Ack same event again -> idempotent success, no duplicate side effects.
7. `MC-007` Membership revoked after registration -> subsequent event poll blocked.
8. `MC-008` Push unavailable -> event still available in poll inbox.
9. `MC-009` Dedupe key collision attempt -> backend rejects duplicate event insertion for same member stream.
10. `MC-010` Wallet mismatch between session and payload -> request rejected.
11. `MC-011` Non-owner support ticket attempt -> denied with `contact_your_org_admin`.
12. `MC-012` Owner support ticket attempt -> accepted with ticket id.
13. `MC-013` Admin-class events are only visible to `org_root_owner` principal role.
## Pass Criteria
1. All vectors pass in CI and staging.
2. Any failure blocks release per `docs/release-gate.md`.
3. Evidence artifact includes vector id, input, output, and correlation id.