Flesh out documentation and enrich models from BSP source.
Summary
Rebuilds the documentation site's content and runs a full completeness pass over the UNSCRO ontology — closing the aggressive-cut gaps left by the initial BSP triage, wiring code lists to properties, and
improving the generated domain diagrams. 26 commits; graph grows to 89 classes / 707 properties / 100 code lists, all gated by validate-vocab.
Site & documentation
-
External Vocabularies page is now generated from a machine-readable register (
methodology/vocabulary-register.json+ JSON schema), grouped by relation, with a build-time schema check; register + schema published as resolvable artifacts. - Architecture / Governance / Home pages reworked: Semantic-Web foundation, one-source-many-formats, well-governed-vocabulary criteria, clickable domain-only home map, menu reordering.
Repository structure
- Renamed for clarity:
vocabulary/→diagrams/(it holds diagrams + narrative, not the vocabulary);methodology/references/→methodology/source-analysis/; root download tooling →scripts/acquire/. - README rewritten (authored vs generated split; corrected
site/; documentedout//dist//public/and the two deployments).
Ontology — code-list & property completeness
- Inventoried the 87 orphaned code lists; wired kept-but-string properties to their scheme; re-added dropped BSP properties across three rounds; retired 13 genuinely-empty / out-of-scope schemes to
retired/. - Reframed the BSP drop policy to default-keep for cheap terms, default-drop-pending-review for class-coupled terms (recorded in
alignment-strategy§6); restored ~130 review-bucket properties and added 17 new classes (DangerousGoods, TradePrice, Service, PaymentMeans, ProductBatch, …). - Per-property assessment of 18 previously under-assessed classes (+224 properties), each with a
<class>-property-triage.csvverdict record; collapsed overloaded variant families to one-relationship-plus-type-code where a code list already served; simplified 15 redundant/overloaded property names (provenance kept in-band viadcterms:source).
Diagrams
- Per-domain layout direction, then a full restructure: a relationship-only overview map plus per-big-class zoom diagrams, with full property detail in text tables — replacing the unreadable attribute-crammed diagrams; auto-balance flips layout for any diagram that renders as a thin strip.
Governance & manifests
- New CI gate: code-list ledger drift (a bound scheme must be recorded as bound) — caught and reconciled ~30 drifts during this work.
- Added
scripts/build-migration-ledger.pyto reconcile the §6 migration ledger from the graph + drops lists (re-runnable); regenerated to complete per-term coverage (140 → 2,023 rows, 0 curated rows lost).
Verification
-
validate-vocab.pypasses all 7 gates;npm run buildandbuild-vocab-site.pyboth export cleanly.