%% Entity model — the standard's objects and how they relate (EXPLANATORY, not %% normative: the JSON pack instance + the reference validator remain normative). %% Source of truth for the /dev "Entity model" page SVG (app/dev/route.ts). erDiagram PRODUCER ||--o{ PACK : "assembles (the agent proposes)" FUNDER }o--o{ PACK : "consumes — gates dispose" FUNDER ||--o{ DISPOSITION : issues DISPOSITION }o--|| PACK : "references (pack_ref)" PACK_SUMMARY ||--|| PACK : "renders (one page)" PACK ||--|| APPLICANT_ENTITY : entity PACK ||--|{ SECTION_INSTANCE : "sections (repeatable: ':2', ':3', …)" PACK ||--|| READINESS : readiness SECTION_INSTANCE ||--|{ FIELD : fields FIELD ||--|| PROVENANCE : provenance READINESS ||--o| ATTESTATION : attestation SECTION_INSTANCE }|--|| CATALOGUE_SECTION : "conforms to" FIELD }|--|| CATALOGUE_FIELD : "governed by" CATALOGUE_SECTION ||--|{ CATALOGUE_FIELD : contains CATALOGUE_FIELD }o--o| CODE_LIST : "value bound to" CATALOGUE_FIELD }o--o| REGISTRY : "names verify source" PROVENANCE }o--o| REGISTRY : "verified facts cite" FACILITY_TYPE ||--o| REQUIREMENT_PROFILE : selects REQUIREMENT_PROFILE }o--|{ CATALOGUE_FIELD : requires REQUIREMENT_PROFILE ||--o{ READINESS : "determines missing[]" PACK { string schema_version "0.4.0 — required" string catalogue_version "0.7.0 — required" } APPLICANT_ENTITY { enum legal_form "entity gate: ltd/llp/plc for readiness" string jurisdiction "GB default" } SECTION_INSTANCE { string section_id "bare first instance; ':2' onwards" } FIELD { string field_id any value "null = not provided; datatype enforced" } PROVENANCE { enum kind "verified | self-declared | document | not_collected" string source "registry id (verified)" date date "freshness input" } READINESS { enum status "oven-ready | gaps-remaining" enum conformance_level "L1 | L2 | L3" list missing "instance-qualified field ids" } ATTESTATION { string attested_by "name + capacity" date attested_at } CATALOGUE_SECTION { string id "13 sections" bool repeatable "people, guarantor, security_assets" } CATALOGUE_FIELD { enum tag "verify | declare | doc" enum datatype "11-term vocabulary, enforced" enum data_class "personal = UK GDPR" } CODE_LIST { string id "17 versioned lists" } REGISTRY { string id "11 registries (reference-data)" } REQUIREMENT_PROFILE { list required_fields enum readiness_mode "one_shot | continuous" } FACILITY_TYPE { string code "15 products" }