@@ -5,14 +5,100 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 0.5.1] - 2026-05-10
9+
10+ Documentation-only patch. No runtime behaviour changed; no API,
11+ schema, validator, or CLI surface was touched. The release executes
12+ the [ Docs Coherence Plan] ( https://github.com/artiso-ai/dppvalidator/blob/main/docs/plans/DOCS_COHERENCE_PLAN.md )
13+ end-to-end: every public source now agrees on the active default
14+ version, the canonical seven-layer taxonomy, and the error-code
15+ prefix table.
16+
17+ ### Added
18+
19+ - [ ADR 0006] ( https://github.com/artiso-ai/dppvalidator/blob/main/docs/adr/0006-validation-layer-taxonomy.md )
20+ pinning the canonical "seven layers + Layer 0 detection" taxonomy
21+ and the non-layer error-code prefix list (` PRS ` , ` DET ` , ` VER ` ,
22+ ` UPG ` , ` MAP ` , ` PRT ` ).
23+ - New error-page coverage for codes that ship in 0.5.0 but had no
24+ reference page: ` DET001 ` (family mismatch), ` MAP001 ` –` MAP005 `
25+ (cross-family migration warnings).
26+ - ` tools/check_doc_default_version.py ` — CI guard that walks the
27+ user-facing docs surface and asserts every "default UNTP version"
28+ claim matches ` DEFAULT_VERSIONS[SchemaFamily.UNTP] ` . Wired into
29+ pre-commit and ` ci.yml ` lint.
30+ - ` tests/unit/test_doc_error_code_coverage.py ` — asserts every error
31+ code emitted by ` src/ ` has a ` docs/errors/<CODE>.md ` page and an
32+ ` mkdocs.yml ` nav entry, and the prefix allow-list agrees with
33+ ADR 0006.
34+ - ` mkdocs build --strict ` is now a hard gate in
35+ [ ` .github/workflows/docs.yml ` ] ( .github/workflows/docs.yml ) .
36+
37+ ### Changed
38+
39+ - Default UNTP version flipped ` 0.6.1 ` → ` 0.7.0 ` across every
40+ user-facing surface (README, mkdocs index/concepts/guides/FAQ,
41+ AGENTS.md, both ` llms*.txt ` ). The runtime default already lived at
42+ ` 0.7.0 ` in [ ` schemas/registry.py ` ] ( https://github.com/artiso-ai/dppvalidator/blob/main/src/dppvalidator/schemas/registry.py )
43+ since 0.5.0; the docs caught up.
44+ - Error-code prefix ` MOD ` → ` MDL ` in every doc that referenced it
45+ (the source code has emitted ` MDL001 ` –` MDL099 ` since 0.5.0; only
46+ the docs lagged).
47+ - The README + concept-page mermaid diagrams now render the full
48+ seven-layer flow (Detection → Schema → Model → JSON-LD →
49+ Semantic → Vocabulary → Plugin → Signature) instead of the older
50+ five-layer dispatch path.
51+ - ` SIG001 ` –` SIG099 ` is documented as ** reserved** : the verifier
52+ currently surfaces untyped error strings via
53+ ` VerificationResult.errors ` ; the ` SIG ` prefix is held for the
54+ future structured-code migration.
55+ - README hero, ` mkdocs.yml site_description ` , and both ` llms*.txt `
56+ framings now name ** CIRPASS DPP reference structure 1.3.0**
57+ alongside UNTP 0.6.x / 0.7.0; previous wording mentioned only
58+ UNTP.
59+ - ` docs/changelog.md ` is now a one-line ` pymdownx.snippets ` include
60+ of the root ` CHANGELOG.md ` — single source of truth, both
61+ surfaces stay in sync at build time.
62+ - Root ` llms.txt ` and ` llms-ctx.txt ` are symlinks into ` docs/ ` ; the
63+ two copies can no longer drift.
64+ - FAQ error-prefix table extended from 7 rows to 12 (adds ` DET ` ,
65+ ` VER ` , ` UPG ` , ` MAP ` , ` PRT ` ; clarifies ` SIG ` reservation).
66+ - ` AGENTS.md ` directory tree adds ` models/cirpass/v1_3/ ` and
67+ ` validators/rules/cirpass_v1_3/ ` ; "UNTP version handling" section
68+ renamed to "Schema family + version handling" and now names
69+ ` SchemaFamily.CIRPASS ` ; ` [rdf] ` / ` [cli] ` / ` [all] ` extras called
70+ out.
71+
72+ ### Removed
73+
74+ - Scratch artefacts that had drifted into ` docs/ ` : ` docs/dpp/*.json `
75+ (raw schema fixtures duplicated under ` tests/fixtures/ ` ),
76+ ` docs/uv/uv.md ` and ` docs/windsurf/cascade-reference.md `
77+ (third-party docs copies),
78+ ` docs/dpp_validator_description.md ` (early marketing draft).
79+ - Internal planning documents moved out of the published docs site
80+ into ` docs/plans/ ` (already in ` exclude_docs: ` ):
81+ ` IMPLEMENTATION_PLAN.md ` , ` IMPROVEMENT_ROADMAP.md ` ,
82+ ` REFACTORING_PLAN.md ` , ` STRATEGIC_ROADMAP.md ` ,
83+ ` UNTTP_PLUGIN_PLAN.md ` , ` VC_WALLET_ROADMAP.md ` . Their content is
84+ unchanged; the relocation closes the mkdocs ` --strict ` orphan
85+ gap.
86+
87+ ### Maintenance
88+
89+ - All cross-document references in this ` CHANGELOG.md ` rewritten as
90+ GitHub-absolute URLs so the snippet-included copy at
91+ [ ` docs/changelog.md ` ] ( https://artiso-ai.github.io/dppvalidator/changelog/ )
92+ resolves cleanly under ` mkdocs build --strict ` .
93+
894## [ 0.5.0] - 2026-05-09 (Preview)
995
1096This release adds ** end-to-end CIRPASS-2 reference structure v1.3.0**
1197support alongside UNTP DPP 0.6.x / 0.7.0 and ships the cross-family
1298forward / reverse shims, the EUDPP v1.9.x ontology rebase, two pilot
1399profiles (Textile v2 built-in, Tyres GPL plugin), and a six-code CLI
14100exit surface. The migration plan is at
15- [ ` docs/plans/CIRPASS_2_MIGRATION.md ` ] ( docs/plans/CIRPASS_2_MIGRATION.md ) ;
101+ [ ` docs/plans/CIRPASS_2_MIGRATION.md ` ] ( https://github.com/artiso-ai/dppvalidator/blob/main/ docs/plans/CIRPASS_2_MIGRATION.md) ;
16102each phase has its own implementation log there.
17103
18104** Status: Preview / unstable.** The Pydantic v0.7 model layer has
@@ -39,7 +125,7 @@ correctness check.
39125 ` src/dppvalidator/vocabularies/data/ontologies/ ` ; 6 fresh
40126 manifest entries, every IRI rebased onto the canonical
41127 ` https://w3id.org/eudpp# ` fragment namespace per
42- [ ADR 0002] ( docs/adr/0002-canonical-eudpp-iri.md ) .
128+ [ ADR 0002] ( https://github.com/artiso-ai/dppvalidator/blob/main/ docs/adr/0002-canonical-eudpp-iri.md) .
43129- ** CIRPASS reference Pydantic models** at
44130 ` dppvalidator.models.cirpass.v1_3.* ` (20 classes — Actor,
45131 ActorRoleAssignment, ConnectorRelation, Material, LifeCycleAssessment,
@@ -140,7 +226,7 @@ correctness check.
140226
141227The Pydantic v0.7 model layer has documented drift from the upstream
142228JSON Schema, catalogued as drift items D3–D27 in
143- [ Phase 8.9 of the migration plan] ( docs/plans/CIRPASS_2_MIGRATION.md ) .
229+ [ Phase 8.9 of the migration plan] ( https://github.com/artiso-ai/dppvalidator/blob/main/ docs/plans/CIRPASS_2_MIGRATION.md) .
144230Schema validation (Layer 1) catches every contract violation; the
145231drift is confined to the Python API ergonomics layer and will be
146232fully reconciled in 0.6.0 (Phase 10 tasks 10.9–10.15). Specifically:
@@ -198,7 +284,7 @@ fully reconciled in 0.6.0 (Phase 10 tasks 10.9–10.15). Specifically:
198284This release adds first-class support for ** UNTP DPP 0.7.0** alongside
199285the existing 0.6.x. Both wire formats coexist and are auto-detected
200286from ` @context ` / ` $schema ` URLs. The plan is captured in
201- [ ` docs/plans/UNTP_0.7.0_MIGRATION.md ` ] ( docs/plans/UNTP_0.7.0_MIGRATION.md ) ;
287+ [ ` docs/plans/UNTP_0.7.0_MIGRATION.md ` ] ( https://github.com/artiso-ai/dppvalidator/blob/main/ docs/plans/UNTP_0.7.0_MIGRATION.md) ;
202288each phase has its own implementation log there.
203289
204290### Added
@@ -249,8 +335,8 @@ each phase has its own implementation log there.
249335 ` MANIFEST.json ` now carry both an SHA-pinned ` source_url ` and a
250336 human-friendly ` production_url ` (e.g. ` untp.unece.org ` ).
251337- ** Documentation** . New
252- [ ` docs/concepts/untp-versions.md ` ] ( docs/concepts/untp-versions.md )
253- and [ ` docs/guides/migration-0-6-to-0-7.md ` ] ( docs/guides/migration-0-6-to-0-7.md ) ;
338+ [ ` docs/concepts/untp-versions.md ` ] ( https://github.com/artiso-ai/dppvalidator/blob/main/ docs/concepts/untp-versions.md)
339+ and [ ` docs/guides/migration-0-6-to-0-7.md ` ] ( https://github.com/artiso-ai/dppvalidator/blob/main/ docs/guides/migration-0-6-to-0-7.md) ;
254340 refreshed schema, JSON-LD, validation, CLI, FAQ, and index pages
255341 with both v0.6 and v0.7 examples.
256342
0 commit comments