196-yaml-parsing-moves-off-unsafe-libyaml
YAML parsing moves off unsafe-libyaml
Lifecycle approvedImplementation completeVerification unknownQualification unknown
Every YAML read in the engine (spec frontmatter, compaction plans, the delta classifier, the dependency-only waiver, workflow manifests) goes through `serde_yaml` 0.9, which is deprecated and parses with `unsafe-libyaml`, a c2rust translation of libyaml that RUSTSEC-2024-0449 marks unmaintained. `deny.toml` ignores that advisory by id so `cargo-deny` can pass; this spec removes the reason for the ignore. The engine moves to a YAML crate written in safe Rust, the committed registry and index shard trees stay byte-identical, every refusal the current parser produces on authored frontmatter is kept, and the ignore entry is deleted in the same change.
Read the full pinned specification ↗Relationships
depended on by
amended by
Claimed units
- establishes
{ "kind": "file", "path": "crates/spec-spine-types/src/yaml.rs" } - establishes
{ "kind": "file", "path": "crates/spec-spine-types/tests/yaml_parity.rs" } - establishes
{ "kind": "file", "path": "crates/spec-spine-core/tests/yaml_workflow_parity.rs" } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/lib.rs" } } - extends
{ "nature": "corrective", "spec": "012-declared-extra-frontmatter-passthrough", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/frontmatter.rs" } } - extends
{ "nature": "corrective", "spec": "096-compaction-is-a-verb-not-a-session", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/compact.rs" } } - extends
{ "nature": "corrective", "spec": "071-a-change-is-classified-under-the-bases-rules", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/delta.rs" } } - extends
{ "nature": "corrective", "spec": "005-coupling-gate", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/dep_only.rs" } } - extends
{ "nature": "corrective", "spec": "004-codebase-index", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/manifest.rs" } } - extends
{ "nature": "corrective", "spec": "111-a-move-is-a-reviewed-mapping", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/moves.rs" } } - extends
{ "nature": "corrective", "spec": "109-impact-and-conflict-are-declared", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/impact.rs" } } - extends
{ "nature": "corrective", "spec": "013-edge-paths-grammar-sugar", "unit": { "kind": "file", "path": "crates/spec-spine-types/tests/grammar.rs" } } - extends
{ "nature": "corrective", "spec": "094-one-gate-and-the-boundaries-it-holds", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/gate.rs" } } - extends
{ "nature": "corrective", "spec": "091-an-unclassified-review-failure-blocks-the-merge", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/ai_review_policy.rs" } } - extends
{ "spec": "135-the-toolchain-floor-and-dependencies-are-checked", "unit": { "kind": "file", "path": "crates/spec-spine-types/Cargo.toml" } } - extends
{ "spec": "135-the-toolchain-floor-and-dependencies-are-checked", "unit": { "kind": "file", "path": "crates/spec-spine-core/Cargo.toml" } }
Source headings
- 196: YAML parsing moves off unsafe-libyaml
- 1. Purpose
- 1.1 The parser is unmaintained
- 1.2 Where YAML is read
- 2. Territory
- 3. Behavior
- 3.1 The parser
- 3.2 The registry and index do not move
- 3.3 Every refusal is kept
- 3.4 Workflows
- 3.5 The ignore goes
- 4. Out of scope
- 5. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.