Context
The spec README targets fixtures/policies/ covering all rule patterns — "10 example policies" (coming). Today there are 5:
01-block-external-email.json
02-block-pii-outbound.json
03-log-database-writes.json
04-vendor-allowlist.json
05-multi-rule-composite.json
Goal
Expand fixtures/policies/ to cover the remaining canonical rule patterns the policy DSL supports, plus matching test-vector entries in test-vectors/v0.1-policy-decisions.json so the SDKs' policy evaluators (both already shipped Phase β) stay byte-aligned.
Scope (checklist)
Rule-pattern combinations still uncovered (audit the DSL surface — the list below is best-effort):
Each fixture should:
- Validate against
schemas/policy.json.
- Have a matching entry in
test-vectors/v0.1-policy-decisions.json — input event + expected decision.
- Pass through both SDKs' policy evaluators with byte-identical results.
Pointers
🚀 Start here
What: add policy fixtures covering rule patterns/matchers not yet exercised. See the matcher set used by the reference evaluator (equals, in/not_in, starts_with/ends_with, contains_pattern, domain_in/domain_not_in, fallback) and the existing files in fixtures/policies/.
Files: add fixtures/policies/NN-<pattern>.json.
How to test locally:
python -m jsonschema -i fixtures/policies/NN-your-policy.json schemas/policy.json
Acceptance criteria:
Context
The spec README targets
fixtures/policies/covering all rule patterns — "10 example policies" (coming). Today there are 5:01-block-external-email.json02-block-pii-outbound.json03-log-database-writes.json04-vendor-allowlist.json05-multi-rule-composite.jsonGoal
Expand
fixtures/policies/to cover the remaining canonical rule patterns the policy DSL supports, plus matching test-vector entries intest-vectors/v0.1-policy-decisions.jsonso the SDKs' policy evaluators (both already shipped Phase β) stay byte-aligned.Scope (checklist)
Rule-pattern combinations still uncovered (audit the DSL surface — the list below is best-effort):
Each fixture should:
schemas/policy.json.test-vectors/v0.1-policy-decisions.json— input event + expected decision.Pointers
🚀 Start here
What: add policy fixtures covering rule patterns/matchers not yet exercised. See the matcher set used by the reference evaluator (
equals,in/not_in,starts_with/ends_with,contains_pattern,domain_in/domain_not_in,fallback) and the existing files infixtures/policies/.Files: add
fixtures/policies/NN-<pattern>.json.How to test locally:
Acceptance criteria:
schemas/policy.json.