# rlsp-yaml-parser
Spec-faithful streaming YAML 1.2.2 parser. Exposes two independently
conformance-tested APIs: a flat event stream (`parse_events()`) and an AST
loader (`load()`). See `README.md` for usage and `docs/conformance/README.md`
for full conformance status.
## Conventions
- Public `pub struct` and `pub enum` types must be `#[non_exhaustive]` — internal evolution stays semver-compatible for external consumers; mark individual variants `#[non_exhaustive]` when they gain new fields.
## Conformance Sync
The parser enforces YAML 1.2.2 BNF productions and normative prose. When
adding or changing enforcement, keep the following locations in sync:
| Enforcement site in source (e.g., `chars.rs`, `directive_scope.rs`) | `docs/conformance/bnf-§N.md` entry for the affected production | Any change to character-set predicates, tag validation, schema matchers, or indent enforcement |
| `docs/conformance/design-decisions.md` | Feature log (`docs/feature-log.md`) user-facing entries | Stricter-than-spec or formally-accepted-lenient decision added or changed |
| `docs/conformance/README.md` pass-rate table | README.md conformance section | Conformance pass rate changes |