Production hardening and validation readiness #8

Closed
opened 2026-07-09 21:04:26 +00:00 by Mihaela · 1 comment
Mihaela commented 2026-07-09 21:04:26 +00:00 (Migrated from codeberg.org)

Umbrella tracking issue for PureYAML's post-conformance hardening work, reconstructed after the GitHub to Codeberg migration reset this repo's issue numbering. This repo's README roadmap (removed; see PR history) referenced this work as epic #54 with children #43-#55, none of which existed in this tracker post-migration.

Shipped (verified in main / CHANGELOG.md, not re-tracked here since they are already done):

  • Checked-corpus Yams parse-success parity (110/111 on the real-world corpus, 0 parser disagreements)
  • Structured diagnostics and validation (path-aware issues, Markdown/YAML/JSON reports)
  • JSON compatibility proof gates
  • Internal token/event streaming
  • Real-corpus property tests
  • Repeatable performance comparison artifacts (PureYAMLYamsComparison)
  • Full yaml-test-suite conformance (402/402, gate-enforced)
  • Bad-YAML mutation suite (#6, closed)
  • Parser throughput toward libyaml parity (#5, closed; see PureYAMLYamsComparison for the latest 504-file comparison run)
  • OpenAPIDoctor integration dry run (#7, closed)
  • True chunked input streaming in core (#4, closed): resumable token scanner (scanStep(), persisted mid-token suspension) proven against whole-suite conformance and exposed as public API (PureYAML.Streaming.Scanner). Wiring PureYAMLStreaming's own document-boundary scanner onto it is separate, cross-repo work: NodetteHQ/PureYAMLStreaming#3.

Open, tracked individually:

  • #9 No Node-equivalent type: anchors, aliases, and per-node style don't round-trip
  • #10 Emitter has no width, indent, sortKeys, or canonical-mode controls
  • #11 No built-in tag constructors: Date, binary Data, and Set don't auto-decode

#9, #10, and #11 all come from the same source: a public-API feature-parity
audit against Yams in NodetteHQ/PureYAMLYamsComparison
(Reports/macos-2026-07-10-apisguru-sample-504/FEATURE-PARITY.md), not a
corpus parse-success run. They are capability gaps, not correctness bugs.

Umbrella tracking issue for PureYAML's post-conformance hardening work, reconstructed after the GitHub to Codeberg migration reset this repo's issue numbering. This repo's README roadmap (removed; see PR history) referenced this work as epic #54 with children #43-#55, none of which existed in this tracker post-migration. Shipped (verified in main / CHANGELOG.md, not re-tracked here since they are already done): - Checked-corpus Yams parse-success parity (110/111 on the real-world corpus, 0 parser disagreements) - Structured diagnostics and validation (path-aware issues, Markdown/YAML/JSON reports) - JSON compatibility proof gates - Internal token/event streaming - Real-corpus property tests - Repeatable performance comparison artifacts (PureYAMLYamsComparison) - Full yaml-test-suite conformance (402/402, gate-enforced) - Bad-YAML mutation suite (#6, closed) - Parser throughput toward libyaml parity (#5, closed; see PureYAMLYamsComparison for the latest 504-file comparison run) - OpenAPIDoctor integration dry run (#7, closed) - True chunked input streaming in core (#4, closed): resumable token scanner (`scanStep()`, persisted mid-token suspension) proven against whole-suite conformance and exposed as public API (`PureYAML.Streaming.Scanner`). Wiring PureYAMLStreaming's own document-boundary scanner onto it is separate, cross-repo work: NodetteHQ/PureYAMLStreaming#3. Open, tracked individually: - #9 No Node-equivalent type: anchors, aliases, and per-node style don't round-trip - #10 Emitter has no width, indent, sortKeys, or canonical-mode controls - #11 No built-in tag constructors: Date, binary Data, and Set don't auto-decode #9, #10, and #11 all come from the same source: a public-API feature-parity audit against Yams in NodetteHQ/PureYAMLYamsComparison (`Reports/macos-2026-07-10-apisguru-sample-504/FEATURE-PARITY.md`), not a corpus parse-success run. They are capability gaps, not correctness bugs.
Mihaela commented 2026-07-16 14:31:48 +00:00 (Migrated from codeberg.org)

All children of this umbrella are closed with evidence: #9 (anchors/aliases/styles, corpus round-trip law over all 114 real-world fixtures), #10 (canonical mode, document markers, lineWidth), #11 (timestamp/binary typed accessors, epoch math measured against an independent implementation), #12/#13 (key nodes: alias keys, key anchors, key styles). A final adversarial fresh-context review of the whole 2a84d66..e51df57 range reproduced 6 additional bugs (stream marker doubling, flow-key safety, trailing-colon plain scalars, alias-key error identity, duplicate-key identity by spelling, deep-tree dump stack overflow) plus 2 minors (leap second, sortKeys on Tagged paths); all fixed at root cause in 2fcf546 with 15 regression tests. Suite: 672 tests in 148 suites, all gates green. Closing: the post-conformance hardening this issue tracked is done; new work gets new issues.

All children of this umbrella are closed with evidence: #9 (anchors/aliases/styles, corpus round-trip law over all 114 real-world fixtures), #10 (canonical mode, document markers, lineWidth), #11 (timestamp/binary typed accessors, epoch math measured against an independent implementation), #12/#13 (key nodes: alias keys, key anchors, key styles). A final adversarial fresh-context review of the whole 2a84d66..e51df57 range reproduced 6 additional bugs (stream marker doubling, flow-key safety, trailing-colon plain scalars, alias-key error identity, duplicate-key identity by spelling, deep-tree dump stack overflow) plus 2 minors (leap second, sortKeys on Tagged paths); all fixed at root cause in 2fcf546 with 15 regression tests. Suite: 672 tests in 148 suites, all gates green. Closing: the post-conformance hardening this issue tracked is done; new work gets new issues.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: NodetteHQ/PureYAML#8
No description provided.