4-tier documentation validation report

    Validator: independent-validator-4-tier Date: 2026-05-28 Worker commits validated: 6328d03, 0c3619d, fbf8d85, 4c16c58

    Check 1 — Source-of-truth discipline

    • H&M / hm.com / semantic-modelling / SDS sanity grep: 0 matches — PASS
    • ODR-body-text leakage probes (Council Session NNN ratified, Pandit's S012, Devil's Advocate, dialectic, expert-panel, 7-vote, Author-only): 0 matches — PASS
    • Legitimate ODR link targets under ## Source ODR / ## Source ODR + ADR are present and expected.

    PASS.

    Check 2 — Cross-tier entity inventory

    Canonical inventory from source TTLs: 41 owl:Class declarations across 7 modules (foundation/property/agent/transaction/claim/governance/descriptive). All 41 classes are present in the three mandatory tiers (Concept entity file, Logical entity file, Physical-Ontology per-class subsection).

    Module Class count Concept Logical Phys-Onto
    foundation 6 6/6 6/6 6/6
    property 7 7/7 7/7 7/7
    agent 7 7/7 7/7 7/7
    transaction 3 3/3 3/3 3/3
    claim 11 11/11 11/11 11/11
    governance 2 2/2 2/2 2/2
    descriptive 5 5/5 5/5 5/5
    TOTAL 41 41 41 41

    Plus 23/23 SKOS schemes (Logical enumerations + Physical-Ontology vocabularies) and 15/15 exemplar pairs (Physical-Ontology exemplars).

    PASS.

    Check 3 — Cross-tier link resolution

    200 cross-tier [<X> tier →] links scanned. 56 broken, 144 OK.

    Broken-link breakdown:

    Category Count Root cause
    [Physical-DB tier →] from physical-ontology/<module>/classes.md to per-entity Physical-DB pages 31 Physical-DB IA spec is organised by consumption concern (named graphs / derived profiles / content-neg / overlay-deployment / CI), NOT per entity. Per-entity Physical-DB pages do not exist by design. The Physical-Ontology worker followed its IA worked-template (line 222 of physical-ontology-ia.md mandates [Physical-DB tier →] cross-tier link) which presupposes per-entity Physical-DB pages that the Physical-DB IA does not provide.
    [Concept tier →] from logical/<module>/enumerations/<scheme>.md to concept/<module>/enumerations/<scheme>.md 23 Concept-tier IA spec does NOT mandate per-enumeration pages; only entity pages. Logical worker invented links to non-existent Concept-tier enumeration pages.
    [Concept tier →] + [Logical tier →] from physical-ontology/foundation/classes.md to has-special-category-data.md 2 opda:hasSpecialCategoryData is an owl:DatatypeProperty (engineering placeholder per ADR-0012), not an owl:Class. Concept / Logical workers correctly emit files only for classes; cross-tier links from the property's P-O block point at non-existent property pages.

    These are IA-spec inter-tier inconsistencies, not silent fabrication: each worker followed its own IA spec faithfully. Remediation is to reconcile the IA specs (downgrade [Physical-DB tier →] to optional / per-entity links to be omitted; clarify that per-enumeration pages do not exist at Concept tier; document property-only entities separately).

    PASS-WITH-FOLLOW-UPS.

    Check 4 — Tier-spec section shape

    Concept tier (5 sampled entity files)

    All 5 sampled files contain the mandatory sections in the mandatory order: # <Entity>, ## Why it matters, ## Hard cases, ## Identity Criterion, ## Related Kinds, ## Source ODR.

    PASS.

    Logical tier (5 sampled entity files)

    All 5 sampled files contain the mandatory sections in the mandatory order: # <Entity>, ## Summary, ## Attributes, ## Relationships, ## Identity key, ## Constraints, ## Derived attributes, ## ER diagram, ## Source ODR + ADR.

    PASS.

    Physical-Ontology tier (7 sampled per-class blocks, 1 per module)

    Module Sampled class Result
    foundation opda:RoleMixin OK
    property opda:LegalEstate FAIL — #### Subclass / equivalent-class relationships omitted (because the class has no rdfs:subClassOf declaration)
    agent opda:Buyer OK
    transaction opda:Milestone OK
    claim opda:Claim OK
    governance opda:DPVMappingRecord FAIL — same omission pattern as LegalEstate
    descriptive opda:EPCCertificate OK

    The two FAILs both omit the empty #### Subclass / equivalent-class relationships subsection. The IA spec wording (line 84) names it as mandatory but the worker omitted it for classes with no parent classes. Defensible behaviour but a deviation from the strict mandate.

    Header-level deviation (all 7 modules): the IA spec mandates H3 (### opda:LocalName) for per-class subsections (line 72), but the worker used H2 (## opda:LocalName). Same deviation in shacl-af-rules.md (10 H2 rule headings, IA mandates H3). The hierarchy is internally consistent within each file (H1 = module title; H2 = per-class) and renders correctly; only the depth level deviates from the IA's worked-template intent.

    PASS-WITH-FOLLOW-UPS.

    Check 5 — Worker-flagged gaps verification

    Concept worker — 4 interpretive Hard cases (Comparable, Search, Valuation, EPCCertificate)

    Confirmed: source TTL rdfs:comment for these 4 classes contains only the S008 Q4 three-criterion test, NOT a "Hard cases:" enumeration. The Concept files inject interpretive hard cases (e.g. "stale comparable", "same search re-ordered", "in-flight regulator pivot"). The disclosure was given in the worker's result message but is not surfaced in the doc itself (no callout, no italics admission). PASS-WITH-FOLLOW-UPS: add an editorial-disclosure callout to each of those 4 files (Comparable, Search, Valuation, EPC-certificate) marking the hard-case items as derived analysis rather than TTL-extracted.

    Concept worker — 3 alias-stub redirects (Document, ElectronicRecord, Vouch)

    Confirmed: concept/claim/document.md, electronic-record.md, vouch.md are short alias-stubs deferring to their *-evidence.md counterparts via OWL equivalence binding. Each disclosure is honestly inline in the doc. PASS.

    Logical worker — 16 entities with no SHACL cardinality shapes

    Spot-check finds 14 entity files with the disclosure phrase No SHACL Violation/Warning shapes emitted at this tier (close to the worker's claim of 16; small discrepancy may be cardinality phrasing variants). The 3 spot-checked files (generator-run.md, special-category-scheme.md, assurance-level.md) all honestly disclose the gap. PASS.

    Physical-DB worker — derived/ directory does not exist

    Confirmed: source/03-standards/ontology/derived/ does not exist. All 3 derived-profile pages (opda-validation.md, opda-ui.md, opda-inference.md) plus the README disclose "spec only; composer activation pending". PASS.

    Physical-Ontology worker — 1 placeholder rule (citing site #11)

    Confirmed: shacl-af-rules.md line 37 marks rule #11 as "(placeholder for future emission) | — | — |". 10 rules are documented with Turtle blocks; the 11th is honestly absent. PASS.

    PASS-WITH-FOLLOW-UPS (Concept-tier interpretive hard cases need inline disclosure).

    Check 6 — 4-tier coverage matrix

    Module Class Concept Logical Phys-Onto
    foundation DiagnosticExemplar ✓ ✓ ✓
    foundation GeneratorRun ✓ ✓ ✓
    foundation Relator ✓ ✓ ✓
    foundation Role ✓ ✓ ✓
    foundation RoleMixin ✓ ✓ ✓
    foundation ValidationContext ✓ ✓ ✓
    property Address ✓ ✓ ✓
    property LeaseExtensionEvent ✓ ✓ ✓
    property LeaseTerm ✓ ✓ ✓
    property LegalEstate ✓ ✓ ✓
    property Property ✓ ✓ ✓
    property RegisteredTitle ✓ ✓ ✓
    property UPRNSuccessionEvent ✓ ✓ ✓
    agent Buyer ✓ ✓ ✓
    agent NameChangeEvent ✓ ✓ ✓
    agent Organisation ✓ ✓ ✓
    agent Person ✓ ✓ ✓
    agent Proprietor ✓ ✓ ✓
    agent Proprietorship ✓ ✓ ✓
    agent Seller ✓ ✓ ✓
    transaction Milestone ✓ ✓ ✓
    transaction Transaction ✓ ✓ ✓
    transaction TransactionChain ✓ ✓ ✓
    claim AssuranceLevel ✓ ✓ ✓
    claim Claim ✓ ✓ ✓
    claim Document ✓ (alias) ✓ ✓
    claim DocumentEvidence ✓ ✓ ✓
    claim ElectronicRecord ✓ (alias) ✓ ✓
    claim ElectronicRecordEvidence ✓ ✓ ✓
    claim Evidence ✓ ✓ ✓
    claim TrustFramework ✓ ✓ ✓
    claim VerificationActivity ✓ ✓ ✓
    claim Vouch ✓ (alias) ✓ ✓
    claim VouchEvidence ✓ ✓ ✓
    governance DPVMappingRecord ✓ ✓ ✓
    governance SpecialCategoryScheme ✓ ✓ ✓
    descriptive Comparable ✓ ✓ ✓
    descriptive EPCCertificate ✓ ✓ ✓
    descriptive Search ✓ ✓ ✓
    descriptive Survey ✓ ✓ ✓
    descriptive Valuation ✓ ✓ ✓

    Totals: 41 classes × 3 mandatory tiers = 123 cells, 123 ✓, 0 ✗.

    Physical-Database tier is organised by consumption concern (named graphs / derived profiles / content-negotiation / overlay deployment / CI operations) per its IA spec — entity-level coverage is not required and not provided. 15 Physical-DB files documented (1 tier README + 1 index + 1 named-graphs + 4 derived-profiles + 3 content-negotiation + 2 overlay-deployment + 3 operations).

    PASS.

    Check 7 — IA spec adherence

    Concept tier — generation discipline

    docs/ontology/odr/ body content NOT cited. Links to ODRs under ## Source ODR are link-only targets. No interpretive overlap with ODR deliberation content. PASS.

    Logical tier — generation discipline

    docs/ontology/odr/ body content NOT cited. ODR links present under ## Source ODR + ADR are link-only. PASS.

    Physical-Database tier — generation discipline

    PDTF JSON Schemas (source/03-standards/schemas/) are referenced in two places:

    • physical-database/README.md line 29 — explicit out-of-scope disclaimer ("They are documented in the nested schemas repo and are deliberately out of scope")
    • physical-database/operations/round-trip-ci.md line 22 — cited as a CI integration target (the round-trip harness checks baspi5Ref resolution against the schemas TTL), not as a content source.

    Both usages are consistent with the IA spec's intent (schemas are out-of-scope as documentation source; legitimate as a CI gate target per ADR-0014 G19). PASS.

    Physical-Ontology tier — generation discipline

    Per-class blocks contain TTL extracts + cross-tier links + ADR/ODR link targets only. No business-language narrative seeped in beyond the §Summary openers and §Validation behaviour narratives that the IA spec explicitly allows. PASS.

    PASS.

    Verdict

    PASS-WITH-FOLLOW-UPS

    The 4-tier documentation is sound (every section traces to a real source TTL or to a legitimately-cited ADR/ODR link target) and complete (every owl:Class from the source TTLs appears in all three mandatory tiers; all 23 SKOS schemes documented; all 15 exemplar pairs documented). No silent fabrication; worker-flagged gaps are honestly disclosed in the docs (one exception: Concept-tier interpretive hard cases need inline editorial disclosure).

    Follow-ups (none blocking; all editorial / IA reconciliation):

    1. 31 broken [Physical-DB tier →] links from Physical-Ontology classes.md → non-existent per-entity Physical-DB pages. Remediation: either omit the [Physical-DB tier →] row from per-class subsections (Physical-DB IA correctly organises by consumption concern, not entity); or extend Physical-DB tier with a per-entity index page that the link can resolve to. The IA spec inter-inconsistency should be reconciled in a small IA amendment.

    2. 23 broken [Concept tier →] links from Logical-tier enumeration pages → non-existent Concept-tier enumeration pages. Remediation: either drop the link (Concept tier is intentionally narrative-only and does not enumerate scheme members), or add per-scheme Concept pages.

    3. 2 broken cross-tier links from physical-ontology/foundation/classes.md for hasSpecialCategoryData (a DatatypeProperty, not an owl:Class). Remediation: drop the cross-tier links for property-level entries, or extend Concept / Logical tiers to cover engineering-placeholder properties.

    4. Concept-tier interpretive hard cases (4 files): comparable.md, search.md, valuation.md, epc-certificate.md carry hard-case enumerations that are not extracted from the source TTL rdfs:comment "Hard cases:" clause (which doesn't exist for these 4 classes). Remediation: add an editorial-disclosure callout at the top of each "Hard cases" section marking it as derived analysis.

    5. Physical-Ontology heading-depth deviation: per-class subsections use H2 (## opda:Name) where the IA spec mandates H3 (### opda:Name); same in shacl-af-rules.md. Remediation: either re-deepen the headings to H3 (cosmetic), or amend the IA spec to permit H2 when the module-level H1 absorbs the module label.

    6. Physical-Ontology empty subsection omission: classes with no rdfs:subClassOf (e.g. LegalEstate, DPVMappingRecord) omit the #### Subclass / equivalent-class relationships subsection entirely rather than emitting it with an empty list. Remediation: either always emit (consistent with IA mandate), or amend the IA spec to mark the subsection optional-when-empty.

    7. Concept tier missing diagrams/ directory. IA spec layout (line 32) includes diagrams/<topic>.mmd; not created by worker. Concept files use inline Mermaid blocks where needed. Remediation: create the dir when authors begin shipping cross-entity diagrams.

    Worker output is otherwise compliant with the IA specs and faithful to the source TTLs.

    Comments

    Loading comments…