Commit Graph

57 Commits

Author SHA1 Message Date
938ad85d9e ci: run the workflows on git.aleahim.com, and point the CI links to it
Some checks failed
rules-freshness / rules (push) Failing after 3s
2026-11-04 21:14:08 +01:00
a11858380b docs: point the links of this repository to git.aleahim.com
Some checks failed
Conformance / Conformance (push) Successful in 23s
Gates / Gates (push) Failing after 25s
Linux / Linux (push) Failing after 2s
macOS / macOS (push) Successful in 1m34s
No Cursor attribution / Scan commits (push) Successful in 3s
WASM / WASM (push) Failing after 1m2s
Windows / Windows (push) Has been cancelled
2026-11-04 20:50:07 +01:00
1dc986f146 docs(readme): retire the stale Mermaid roadmap and its dead CI gate
The roadmap diagrams referenced issue numbers (#1, #8-#13, #43-#55) that no
longer exist on Codeberg: the GitHub to Codeberg migration reset this repo's
issue tracker, and those numbers were never re-created. scripts/check-roadmap.sh
existed only to keep that roadmap in sync with GitHub epic-labeled issues via
gh, which can't resolve a Codeberg/Forgejo repo anyway, so the gate had been a
silent no-op since the move. Removed the roadmap section, the gate script, its
two call sites, and its now-pointless rule doc, and pointed the remaining
work at the real, live issues (#4, #5, #6, #7, tracked under epic #8). Also
fixed two leftover Mihaela/PureYAML references in docs/RELEASE.md.
2026-07-09 23:38:23 +02:00
8031568858 docs(codeberg): update links for NodetteHQ 2026-07-05 12:59:00 +02:00
630849e67a chore(release): stamp 0.2.0
Section the changelog, add the release notes with the Windows
verification disclosure, update the current-release stamps, and repoint
the release process from the retired GitHub commands to Codeberg.
2026-07-05 00:41:02 +02:00
a8950e118c Merge conformance/yaml-test-suite-gaps: the libyaml port becomes the engine on main
The ported engine wins every conflict: main's post-fork patches to the
hand-rolled Scanner and TokenEventParser land on deleted files and are
dropped; their behaviors are carried by the port and guarded by the
whole-suite conformance gate (402/402 passing).

Merge adaptations, all gates green (style, namespacing, forbidden
patterns, changelog, roadmap, swiftformat, swiftlint strict, build,
full test suite, whole-suite conformance sweep):

- PureYAMLJSON representability rules move onto the Check algebra,
  replacing the retired legacy Rule type.
- The permissive tag-handle pre-pass is removed; the port rejects an
  undefined handle at parse time (suite case QLJ7) and the validation
  report carries it as a parse diagnostic.
- EventStreamComposer's nested types split one-per-file per the
  namespacing gate.
- Tests pinned to old-engine behavior were re-verified against the
  reference and updated: libyaml rejects an explicit-key continuation
  ending at a value colon, and suite case QB6E requires rejecting a
  quoted continuation at column 0.
- CHANGELOG unreleased entries from both lines are preserved in two
  groups with a provenance note.

Closes #1, closes #3
2026-07-05 00:23:48 +02:00
9b60f415ac chore: repoint github.com/mihaelamj references to codeberg.org/Mihaela
Swap issue-template, usage, and release-note links to Codeberg and
replace the four shields.io GitHub badges with a single Forgejo
Actions badge for ci.yml.
2026-07-04 23:02:59 +02:00
c1bb5aa8d6 ci: gate conformance on every push, fetching the test-suite
The parse, value, and canonical event-stream conformance suites were opt-in
(PUREYAML_RUN_YAML_TEST_SUITE=1) and so never ran in CI: an oracle that only
runs when asked is not a gate. Add a Conformance workflow that fetches the
canonical yaml-test-suite and runs all three suites, so the event gate's
recorded-gap set fails the build on any regression or silently-closed gap, and
add its README badge alongside the other quality gates.
2026-06-29 12:06:58 +02:00
ea31bb5864 chore(ci): split CI into per-workflow files with truthful badges
Rule 8.1 forbids one multi-job workflow fronted by several cosmetically
labeled badges that all resolve to the same whole-workflow status. Split
ci.yml into one workflow per concern (gates, macOS, Linux, Windows,
WASM, corpus), each with a unique name, and point each README badge at
its own workflow through the native per-workflow badge. The WASM
workflow notes in a header that it is a build gate, not a test gate
(Rule 8.3). Add a static MIT license badge linking to LICENSE
(Rule 8.2). Step contents are unchanged from the previous jobs.
2026-06-26 05:48:11 +02:00
208b892019 feat(parser): harden diagnostics and streaming
Add structured validation diagnostics, JSON and Yams comparison gates, and lazy token/event parsing so production behavior is measured without retaining full intermediate parser arrays.
2026-06-06 07:57:48 +02:00
9f68671c16 docs(corpus): document real seed gates 2026-06-06 01:07:45 +02:00
0a649c4d55 docs(release): prepare 0.1.1 2026-06-06 00:28:38 +02:00
36364cfcac docs(readme): add production hardening epic 2026-06-06 00:02:29 +02:00
4bc772d807 docs: add platform CI badges 2026-06-05 22:30:41 +02:00
3a90df095d fix(ci): prepare 0.1.0 release 2026-06-05 21:20:20 +02:00
68883f2104 feat(validation): add diagnostic report errors 2026-06-05 21:06:42 +02:00
13183a4353 Add machine-readable validation reports 2026-06-05 20:39:32 +02:00
0e92e31d89 Add production validation reports 2026-06-05 20:23:20 +02:00
906f0c454d feat(emitting): dump YAML streams 2026-06-05 17:14:41 +02:00
91a2c24901 feat(tagged): add typed constructor policy 2026-06-05 16:24:11 +02:00
697b9cc519 feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
9c45419496 feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
e1f8acb3a0 feat(parser): expand YAML merge keys 2026-06-05 15:12:55 +02:00
8be6e68a23 feat(parser): add multi-document stream parsing 2026-06-05 14:55:54 +02:00
ad73413e68 docs(readme): collapse completed roadmap 2026-06-05 14:20:08 +02:00
03a149184d docs(readme): mark release readiness complete 2026-06-05 14:15:33 +02:00
6dab60e4bb docs(release): prepare 0.1.0 notes 2026-06-05 14:11:27 +02:00
bb3533ff18 docs(release): align package metadata 2026-06-05 14:06:51 +02:00
398df87f28 docs(migration): document support boundaries 2026-06-05 13:57:42 +02:00
f3f6f15b32 test(docs): cover README usage examples 2026-06-05 13:52:40 +02:00
d42da7fb67 test(compatibility): add downstream document fixtures 2026-06-05 13:45:23 +02:00
92b0d7c92d feat(emitting): broaden literal block fixtures 2026-06-05 13:37:33 +02:00
84a2de9ea1 test(compatibility): document unsupported yaml gaps 2026-06-05 13:29:22 +02:00
ec457d61e8 test(compatibility): add collection fixture corpus 2026-06-05 13:16:30 +02:00
efdce11a9a Add scalar compatibility corpus 2026-06-05 13:07:04 +02:00
29ecce451a feat(codable): broaden compatibility coverage 2026-06-05 12:49:20 +02:00
351af24731 docs(readme): update typed conversion roadmap 2026-06-05 12:36:53 +02:00
5c3de786bf feat(coding): add unkeyed typed conversion 2026-06-05 12:23:52 +02:00
f80d7460ea feat(coding): add keyed typed conversion 2026-06-05 12:11:53 +02:00
8662de5403 feat(coding): add scalar typed conversion 2026-06-05 11:45:00 +02:00
3715a16f5e docs(readme): clarify validation status 2026-06-05 11:15:03 +02:00
d06a00c9a6 test(emitting): add emitter corpus evidence 2026-06-05 11:13:29 +02:00
b61ed10fb2 docs(roadmap): collapse completed epic diagrams 2026-06-05 10:50:13 +02:00
35fb919b74 feat(emitting): add scalar output options 2026-06-05 10:40:28 +02:00
6df00c4066 docs(readme): add parser roadmap epics 2026-06-05 10:31:06 +02:00
c25c35f82c ci(gates): add full local verification script 2026-06-05 10:24:04 +02:00
7a71110bb4 feat(parsing): support directives and scalar tags 2026-06-05 10:16:34 +02:00
bc04c4815e feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
bee7683ee2 feat(parsing): parse token stream into events 2026-06-05 09:56:18 +02:00
11e7382ab1 feat(parsing): add reader scanner core 2026-06-05 07:40:23 +02:00