DSL Test Corpus
Golden examples для Pulse Policy DSL (см. docs/pulse/dsl-grammar.md).
Layout
dsl/
├── valid/
│ ├── <name>.dsl — DSL expression (UTF-8, без BOM, no trailing whitespace)
│ └── <name>.json — expected parse outcome: { valid: true, smt_satisfiable?: bool }
└── invalid/
├── <name>.dsl
└── <name>.json — { valid: false, errors: [{ code, ... }] }Парсер обязан produce errors[].code точно совпадающий с expected entry. Validator (M1+) запускает корпус как часть PR pipeline.
Naming convention
<category>_<scenario>.dsl— напримерcohort_installed_unpaid.dsl,rule_engaged_free.dsl,null_handling.dsl.- Invalid:
<error_code>_<scenario>.dsl—e004_hard_archetype.dsl,e005_double_amp.dsl.
Used by
pulse-dsl-parserunit tests (M1+)./dsl/validateintegration tests.- SMT compilation snapshot tests (M2+).