Skip to content

Create foundation for public review implementation - v0.8.0 baseline, merged UNTP/BSP vocab mapping, issue triage.

Steve CAPELL requested to merge context-v0.8.0 into main

v0.8.0 foundation: map UNTP to the merged vocabulary + public-review triage

Establishes the artefact and analysis foundation for actioning the v0.7.0 public-review feedback. Two parts: a new v0.8.0 artefact collection re-based onto the merged UN/CEFACT Web Vocabulary, and the public-review working area (issue triage, decisions, work plan, migration records) promoted to a tracked asset.

v0.7.0 is left untouched (released). Nothing in artefacts/**/v0.7.0/ changes.

Part 1 — v0.8.0 artefacts (context-only migration)

A clean copy of v0.7.0 re-pointed from the legacy untp: vocabulary to the merged vocab (unece: = https://test.uncefact.org/vocabulary/).

  • artefacts/contexts/v0.8.0/untp-context.jsonld — term IRIs mapped to unece:, with:
    • a principled prefix split: unece: for real vocabulary terms, untp: kept for UNTP's own structural/ergonomic identifiers (credential type names, CredentialIssuer, render terms), skos:Concept for code-list concept refs. The vocabulary namespace now contains only real vocab terms.
    • renames (producteventProduct, regulationalignmentRegulation, …), countryNameaddressCountry, and software terms reused from schema.org (versionschema:softwareVersion, vendorschema:publisher).
  • artefacts/schema/v0.8.0/ — copied unchanged from v0.7.0 (only the @context version-pin const bumped). Zero schema/structural impact.
  • artefacts/samples/v0.8.0/ — 18 credential instances, @context bumped to the v0.8.0 URL.

Proof (regression gate, .claude/scripts/vocab-expand-test.mjs): all 18 samples validate against the unchanged schema, all 18 expand safe-mode clean with zero dropped terms, and the gap-check residual is 0 — every unece: IRI resolves to a real merged term. So switching UNTP to the merged vocabulary is a context-only change.

Part 2 — public-review foundation (public-review/)

Promotes the former private working area to a tracked, shareable asset:

  • issue-analysis/ — all 128 public-review issues (issues.json) triaged into artefact vs docs vs both (issue-split.md + gen-split.py + classify-overrides.json); the cross-cutting design decisions that resolve the feedback conflicts (feedback-decisions.md); and a sequenced v0.8.0-workplan.md.
  • vocab-migration/ — the full migration record: STATUS.md, rename-table.json, vocab-change-list.md (vocab-side changes for the sibling vocab-bsp repo), mapping.md, expand-report.md, vocab-fixes-needed.md, and the generators.

De-personalised for sharing: scripts derive repo paths from their own location (vocab-bsp via $VOCAB_BSP, default sibling ../vocab-bsp); no personal paths remain; scratch is gitignored.

Key decisions baked in

  • Structure ≠ vocabulary (principle 9): credential/document types stay UNTP-structural, out of the vocab namespace.
  • Low mandatory floor, optional richness: required fields must be achievable by developing-country actors; added fields are optional. Resolves the "add vs reduce" conflict across feedback.
  • DID required (with tooling), mass balance optional, global neutrality beats EU alignment on conflict.

Dependencies & notes

  • The unece: terms resolve once vocab-bsp MR !57 (merged) merges and deploys; the v0.8.0 context is correct ahead of that.
  • public-review/issue-analysis/ includes named third-party feedback — already public on the GitLab issues, republished here for the triage.

Merge request reports

Loading