# Vercy AI instruction - YAML 1.2 (JSON-compatible) { "vercy": "1.0-draft", "publication": { "status": "research-draft", "adjudicationStatus": "reviewable-draft", "publishableCanonical": false, "generatedAt": "2026-08-23T23:43:44Z", "synthesisSha256": "a991fb7774ae1b611787fe093e9d9e380499bf42c9fbe69fcb91af147be90812", "providers": [ "Claude", "Grok" ] }, "metaModel": { "id": "WM-ORG-002", "registryId": "vr.wm-org-002", "name": "Organizational Unit", "version": "0.3.0-research.1", "previousVersions": [], "entryKind": "entity", "family": "World Models", "category": "Society, people and institutions", "industry": [ "Cross-industry" ], "domain": [ "SOC.ORG.UNT" ], "tags": [ "organizational", "unit", "soc.org.unt" ], "status": "research draft" }, "canonicalUrl": "https://ver.cy/models/wm-org-002-organizational-unit/", "sourceUrl": "https://github.com/ver-cy/world-models/tree/feat/mega-model-registry/research/runs/wm-org-002", "model": { "registry_id": "vr.wm-org-002", "model_id": "WM-ORG-002", "name": "Organizational Unit", "entry_kind": "entity", "purpose": "Provide the format-neutral context an agent needs to understand, create, inspect and operate the internal structure of an organization: which units exist, how they nest and report, what each is mandated to do, what establishment and staffing they carry, and how that structure is changed, dated, evidenced and disclosed over time.", "scope_statement": "This model covers an organizational unit as a subdivision that, in the words of the W3C Organization Ontology, 'only has full recognition within the context of that Organization'. It governs unit identity, classification, containment and reporting relationships, delegated mandate and decision rights, authorized establishment and measured staffing, structural change acts and their temporal validity, plus the provenance, retention, disclosure and interoperability rules that make the structure record operable. It deliberately stops at the boundaries of legal organizational identity, of the post/position as an object in its own right, of employment relationships, of physical sites, and of statistical or financial reporting units that are derived from - but not identical to - internal structure.", "in_scope": [ "Unit identity, naming, aliases and parent-scoped or ISO/IEC 6523 organization-part identification", "Unit kind classification against governed code lists and unit existence status", "Containment hierarchies, including multiple concurrent hierarchies (managerial, legal, cost, functional)", "Reporting and coordination lines, including non-containment and dotted-line relationships", "Delegated mandate, decision rights, authority limits and segregation-of-duties constraints attached to a unit", "Authorized establishment (post complement) seated in a unit and its occupancy state at unit granularity", "Dated headcount and full-time-equivalent measurement of a unit, with basis and aggregation thresholds", "Reorganization acts (create, rename, reparent, merge, split, transfer, disband) and unit lineage", "Effective dating, bitemporality and as-of reconstruction of the structure graph", "Record authority, approval evidence, retention/disposition and disclosure control for structure data", "Crosswalks to W3C ORG, CPOV, FHIR, LDAP, SCIM, schema.org and ISO/IEC 6523 projections" ], "out_of_scope": [ "Legal personality, incorporation, registration, LEI and regulatory identity of the whole organization (WM-ORG-001)", "The post/position as an object with its own title, grade, job description and occupational classification (WM-ORG-004)", "Employment contracts, appointments, persons and their occupancy of posts", "Constitutive charter powers of the organization as a legal entity (charter model)", "Physical premises, addresses, geometry and site operations (site/location model)", "Statistical units such as enterprise, local unit and kind-of-activity unit used for economic observation", "Financial segment reporting, general ledger and cost accounting mechanics", "Stewardship policy machinery and access-grant issuance (S1/S2 service models)", "Business capability, process and value-stream modelling", "Identity-provider group membership and directory synchronisation state as a system of record" ], "boundary_notes": [ { "neighbor": "WM-ORG-001 Organization", "distinction": "W3C ORG separates org:FormalOrganization (recognized in a legal jurisdiction, with rights and responsibilities) from org:OrganizationalUnit, which has full recognition only inside its parent. Legal identity, registration and LEI stay in WM-ORG-001. A branch that is separately registered is dual-classified: it is a unit here and a legal entity there, and GLEIF only issues an LEI to the legally registered entity, not to an internal division.", "source_refs": [ "SRC-001", "SRC-013" ] }, { "neighbor": "WM-ORG-004 Position", "distinction": "org:Post represents a position that exists independently of who fills it. This model records only the unit-side facts: how many posts are established in the unit, which posts are seated there, and the aggregate occupancy state. Post title, grade, competency profile and occupational classification belong to WM-ORG-004, which this model CONTAINS by reference rather than by copy.", "source_refs": [ "SRC-001" ] }, { "neighbor": "Site / Location model", "distinction": "FHIR states that Location records where a service occurs while Organization records who performed it; Eurostat's 'local unit' is 'an enterprise or part thereof ... situated in a geographically identified place'. A unit may be associated with one or more sites, but premises, addresses and geometry are not unit attributes and are not modelled here.", "source_refs": [ "SRC-002", "SRC-010" ] }, { "neighbor": "Statistical units model", "distinction": "Council Regulation (EEC) No 696/93 defines enterprise, kind-of-activity unit and local unit as observation units for economic statistics. These are derived by statistical rules from operational reality, not asserted by the organization, and their boundaries routinely differ from internal units. Treated as an ALIGN target, never as a source of internal unit identity.", "source_refs": [ "SRC-010" ] }, { "neighbor": "Financial segment reporting", "distinction": "IFRS 8 identifies operating segments through a management approach based on how the chief operating decision maker reviews internal reports, and permits aggregation of segments with similar economic characteristics. A reportable segment is therefore a derived view over internal units, not a unit; this model supplies the inputs and the change signal, not the segment determination.", "source_refs": [ "SRC-009" ] }, { "neighbor": "Directory and identity systems", "distinction": "RFC 4519 defines 'ou' as a multi-valued name attribute and RFC 7643 defines SCIM 'department', 'division' and 'organization' as free-text names. These carry no identifier, no validity period and no hierarchy semantics, so directory content is a lossy projection of this model and never its system of record.", "source_refs": [ "SRC-004", "SRC-005" ] }, { "neighbor": "Global organization registries", "distinction": "ROR states it 'is not focused on capturing all subdivisions of a given organization such as a university's schools or departments' because departments 'often emerge, close, combine, and change'. No general governed global identifier exists for internal units, so unit identity is parent-scoped by default.", "source_refs": [ "SRC-011", "SRC-012" ] } ] }, "sources": [ { "id": "SRC-001", "title": "The Organization Ontology", "organization": "World Wide Web Consortium (W3C)", "url": "https://www.w3.org/TR/vocab-org/", "version_or_date": "W3C Recommendation, 16 January 2014", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:10:00Z", "relevance": "Normative definitions of org:OrganizationalUnit, org:hasUnit/org:unitOf, org:subOrganizationOf, org:Post, org:reportsTo, org:Membership, org:Role, org:Site, org:purpose, org:classification, org:identifier and org:ChangeEvent with org:originalOrganization/org:resultingOrganization. Primary structural anchor for this model." }, { "id": "SRC-002", "title": "FHIR R5 Resource Organization", "organization": "HL7 International", "url": "https://hl7.org/fhir/R5/organization.html", "version_or_date": "FHIR v5.0.0 (R5), 26 March 2023, Maturity Level 5 / Trial Use", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:11:00Z", "relevance": "Counter-model in which departments are Organization instances chained by partOf rather than a distinct unit class; supplies identifier/active/type/name/alias/qualification elements, the 'at least one name or identifier' constraint, the Organization-vs-Location boundary, and OrganizationAffiliation for non-hierarchical relationships." }, { "id": "SRC-003", "title": "Core Public Organisation Vocabulary (CPOV)", "organization": "European Commission - SEMIC / Interoperable Europe", "url": "https://semiceu.github.io/CPOV/releases/2.1.2/", "version_or_date": "v2.1.2, SEMIC Recommendation, released 2026-05-12; namespace http://data.europa.eu/m8g/", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:12:00Z", "relevance": "Public-sector profile reusing org:Organization and org:OrganizationalUnit ('a subdivision of Organization which is part of this Organization'), with hasUnit, hasSubOrganization, purpose (COFOG-coded), classification and spatial. Evidence that unit purpose/classification are code-valued and scheme-bound in the public sector." }, { "id": "SRC-004", "title": "RFC 4519: Lightweight Directory Access Protocol (LDAP): Schema for User Applications", "organization": "Internet Engineering Task Force (IETF)", "url": "https://www.rfc-editor.org/rfc/rfc4519", "version_or_date": "June 2006, Proposed Standard", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:13:00Z", "relevance": "Defines the 'organizationalUnit' object class as 'the basis of an entry that represents a piece of an organization' and 'ou' as a multi-valued name attribute. Establishes the directory projection and its loss of identifier, validity and typed-edge semantics." }, { "id": "SRC-005", "title": "RFC 7643: System for Cross-domain Identity Management: Core Schema", "organization": "Internet Engineering Task Force (IETF)", "url": "https://www.rfc-editor.org/rfc/rfc7643", "version_or_date": "September 2015, Proposed Standard", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:14:00Z", "relevance": "Enterprise User extension defines 'department', 'division', 'organization' and 'costCenter' purely as names, and 'manager' as the only typed reference. Primary evidence that HR/IdP interchange formats are name-valued and cannot round-trip unit identity or hierarchy." }, { "id": "SRC-006", "title": "RFC 3339: Date and Time on the Internet: Timestamps", "organization": "Internet Engineering Task Force (IETF)", "url": "https://www.rfc-editor.org/rfc/rfc3339", "version_or_date": "July 2002, Proposed Standard", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:14:30Z", "relevance": "Normative timestamp format: date-time requires a time-offset of 'Z' or a numeric offset; '-00:00' signals a known UTC instant with unknown local offset. Governs decision date, effective date and observation/ingestion time recording throughout this model." }, { "id": "SRC-007", "title": "Peppol BIS Billing 3.0 - ISO 6523 ICD code list", "organization": "OpenPEPPOL AISBL", "url": "https://docs.peppol.eu/poacc/billing/3.0/codelist/ICD/", "version_or_date": "Peppol BIS Billing 3.0, May 2026 release", "source_type": "registry", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T09:15:00Z", "relevance": "Operational registry of ISO/IEC 6523 International Code Designators (e.g. 0060 D-U-N-S, 0088 GLN, 0192 Norwegian organisasjonsnummer, 0208 Belgian enterprise number) used as schemeID for party identification, including delivery-location and payee parties. Anchors the ICD + organization identifier + organization part identifier addressing pattern for units." }, { "id": "SRC-008", "title": "schema.org Organization", "organization": "Schema.org Community Group", "url": "https://schema.org/Organization", "version_or_date": "Schema.org v30.0, released 19 March 2026", "source_type": "schema", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T09:16:00Z", "relevance": "Defines department ('a relationship between an organization and a department of that organization'), parentOrganization (superseding branchOf), subOrganization, numberOfEmployees, and identifier properties iso6523Code (XXXX:YYYYYY:ZZZ), leiCode, duns and naics. Shows publication-facing conflation of department and subsidiary." }, { "id": "SRC-009", "title": "IFRS 8 Operating Segments", "organization": "IFRS Foundation / International Accounting Standards Board", "url": "https://www.ifrs.org/issued-standards/list-of-standards/ifrs-8-operating-segments/", "version_or_date": "Issued November 2006, in force", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:17:00Z", "relevance": "Management approach: segments follow how management internally organizes the entity and how the chief operating decision maker reviews internal reports; aggregation criteria and quantitative thresholds apply, and when internal structure changes prior-period segment information must be restated or the change disclosed. Establishes downstream obligations triggered by reorganization." }, { "id": "SRC-010", "title": "Glossary: Local unit (Statistics Explained)", "organization": "Eurostat, European Commission", "url": "https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Glossary:Local_unit", "version_or_date": "Eurostat glossary entry citing Council Regulation (EEC) No 696/1993 of 15 March 1993", "source_type": "public-authority", "primary_source": false, "authority_tier": 2, "accessed_at": "2026-08-24T09:18:00Z", "relevance": "Definition of a local unit as 'an enterprise or part thereof (e.g. a workshop, factory, warehouse, office, mine or depot) situated in a geographically identified place', with kind-of-activity unit as the activity-based counterpart. Used to keep statistical observation units outside this model's boundary." }, { "id": "SRC-011", "title": "ROR Data Structure (schema 2.1)", "organization": "Research Organization Registry (ROR)", "url": "https://ror.readme.io/docs/ror-data-structure", "version_or_date": "Schema 2.1, launched December 2024; documentation updated 20 May 2026", "source_type": "registry", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T09:19:00Z", "relevance": "Working registry model for organizational relationships: parent, child, related, predecessor and successor, with reciprocal edges on active records and tombstoned edges on inactive/withdrawn records; status values active/inactive/withdrawn; admin created and last_modified with schema version. Directly informs lineage and versioning design." }, { "id": "SRC-012", "title": "ROR FAQs", "organization": "Research Organization Registry (ROR)", "url": "https://ror.org/about/faqs/", "version_or_date": "Accessed 24 August 2026", "source_type": "registry", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T09:19:30Z", "relevance": "Explicit scope exclusion: ROR 'is not focused on capturing all subdivisions of a given organization such as a university's schools or departments' because departments 'often emerge, close, combine, and change' while higher-level information is 'more stable and is therefore better suited for persistence'. Key falsifying evidence against assuming global unit identifiers." }, { "id": "SRC-013", "title": "The Legal Entity Identifier (LEI)", "organization": "Global Legal Entity Identifier Foundation (GLEIF)", "url": "https://www.gleif.org/en/about-lei/introducing-the-legal-entity-identifier-lei", "version_or_date": "Accessed 24 August 2026; LEI per ISO 17442; GLEIF established 2014", "source_type": "registry", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:20:00Z", "relevance": "LEI is a 20-character code where 'every LEI is unique and can represent only one entity'; Level 1 'who is who' and Level 2 'who owns whom' data cover legal entities and ownership, not internal divisions. Bounds unit identity away from legal-entity identity." }, { "id": "SRC-014", "title": "ISO 37000 Governance of organizations - Guidance (ISO/TC 309 overview)", "organization": "ISO/TC 309 (International Organization for Standardization)", "url": "https://committee.iso.org/files/live/sites/tc309/files/ISO%2037000%20slides/ISO%2037000%20Governance%20of%20organizations%20-%20Guidance%20-%20v1%202022%20web.pdf", "version_or_date": "ISO 37000:2021; committee overview deck v1, 2022", "source_type": "first-party-doc", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T09:21:00Z", "relevance": "Accountability is established by assigning responsibility and delegating authority; those who delegate remain accountable for the delegate's use of that authority; delegation should be formalized with assurance processes; and no one should be accountable for matters over which they have no authority. Normative backbone for the mandate and authority-limit findings." }, { "id": "SRC-015", "title": "ESRS S1 Own Workforce (Annex I, Commission Delegated Regulation (EU) 2023/2772)", "organization": "EFRAG / European Commission", "url": "https://www.efrag.org/sites/default/files/sites/webpublishing/SiteAssets/ESRS%20S1%20Delegated-act-2023-5303-annex-1_en.pdf", "version_or_date": "Commission Delegated Regulation (EU) 2023/2772 of 31 July 2023, Annex I", "source_type": "legislation", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:22:00Z", "relevance": "Disclosure Requirement S1-6 obliges reporting of total employees by head count and/or full-time equivalent with breakdowns by gender and by country (countries with 50 or more employees among the ten largest), plus methodology disclosure. External constraint on how headcount snapshots must be defined, dated and aggregated." }, { "id": "SRC-016", "title": "General Records Schedules (GRS)", "organization": "U.S. National Archives and Records Administration (NARA)", "url": "https://www.archives.gov/records-mgmt/grs", "version_or_date": "Page last reviewed 12 June 2026; GRS status updates June 2026", "source_type": "public-authority", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T09:23:00Z", "relevance": "Disposition authority for common records: use of the GRS is mandatory and 'agencies must use the GRS unless they can justify the use of an agency-specific schedule'; GRS covers administrative and support functions rather than mission records. Model for binding a governed disposition authority to structure records." }, { "id": "SRC-017", "title": "The Organization Ontology", "organization": "World Wide Web Consortium (W3C)", "url": "https://www.w3.org/TR/2014/REC-vocab-org-20140116/", "version_or_date": "W3C Recommendation 16 January 2014", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "Normative classes OrganizationalUnit, Post, Role, Membership, Site, ChangeEvent and properties hasUnit, unitOf, reportsTo, purpose, classification, identifier, hasPost, postIn, headOf, originalOrganization, resultingOrganization." }, { "id": "SRC-018", "title": "HL7 FHIR Release 4 Organization", "organization": "HL7 International", "url": "https://hl7.org/fhir/R4/organization.html", "version_or_date": "FHIR R4 4.0.1, published 2019-10-30", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "Departments modelled as Organization with partOf 0..1; identifier, active, type, name, alias; organization SHALL have a name or an identifier; hierarchy is conceptual while Location is physical." }, { "id": "SRC-019", "title": "Popolo Organization", "organization": "Popolo Project", "url": "https://www.popoloproject.com/specs/organization.html", "version_or_date": "Living specification published 2013-02-21, retrieved 2026-08-24; profile of W3C ORG", "source_type": "schema", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "Organization with parent, classification, founding and dissolution dates, former names; cardinality restriction of one classification; no separate OrganizationalUnit class." }, { "id": "SRC-020", "title": "Popolo Post", "organization": "Popolo Project", "url": "https://www.popoloproject.com/specs/post.html", "version_or_date": "Living specification published 2013-02-21, retrieved 2026-08-24; profile of W3C ORG", "source_type": "schema", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "Post must belong to an organization; creation and elimination dates; role distinct from post; people hold posts through memberships, not org:holds." }, { "id": "SRC-021", "title": "Schema.org department", "organization": "Schema.org", "url": "https://schema.org/department", "version_or_date": "V30.0, published 2026-03-19", "source_type": "schema", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "A relationship between an organization and a department of that organization, also described as an organization." }, { "id": "SRC-022", "title": "Schema.org iso6523Code", "organization": "Schema.org", "url": "https://schema.org/iso6523Code", "version_or_date": "V30.0, published 2026-03-19", "source_type": "schema", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "ISO 6523-1 identifier form ICD:OID or ICD:OID:OPI where OPI is the Organization Part Identifier for a part of an organization, maximum 35 characters." }, { "id": "SRC-023", "title": "New ISO International Standard for human capital reporting", "organization": "International Organization for Standardization", "url": "https://www.iso.org/news/ref2357.html", "version_or_date": "ISO news on ISO 30414 first edition, published 2019-01-15", "source_type": "secondary", "primary_source": false, "authority_tier": 3, "accessed_at": "2026-08-24T00:00:00Z", "relevance": "Secondary notice that ISO 30414 defines comparable workforce metrics. The standard text is paywalled; unit-level headcount is not specified here and remains a coverage gap." } ], "structure": { "bundles": [ { "id": "unit-identity-and-classification", "name": "Unit Identity and Classification", "description": "What a unit is, how it is unambiguously referenced, what it is called, what kind of thing it is, and whether it currently exists.", "rationale": "W3C ORG makes the unit a class whose recognition is parent-scoped, while ROR and GLEIF decline to issue global identifiers for subdivisions. Identity and classification therefore need explicit, locally governed treatment before any structural claim can be made.", "source_refs": [ "SRC-001", "SRC-011", "SRC-012", "SRC-013" ], "layers": [ { "id": "unit-identification", "name": "Unit Identification", "description": "Identifier assignment, external addressability and naming of a unit.", "source_refs": [ "SRC-001", "SRC-007", "SRC-008" ], "findings": [ { "id": "unit-identifier-scheme", "name": "Unit Identifier Scheme and Assignment", "description": "A unit's authoritative identifier is normally minted by the parent organization's master system, because no general governed global registry issues identifiers for internal subdivisions. ISO/IEC 6523 provides the only widely deployed external addressing slot, combining an International Code Designator, the parent organization identifier and an optional organization part identifier; schema.org exposes this as iso6523Code in XXXX:YYYYYY:ZZZ form. Identifier stability across rename, reparenting and merge must be decided explicitly.", "source_refs": [ "SRC-001", "SRC-007", "SRC-008", "SRC-012", "SRC-013" ], "questions": [ { "id": "q-authoritative-id", "text": "Which system is the authoritative assigner of this unit's identifier, and is that system the parent organization's master record rather than a downstream HR or directory system?", "kind": "identity", "answer_data": [ "assigning system name and reference", "identifier scheme code", "assignment authority role", "assignment timestamp (RFC 3339)" ] }, { "id": "q-external-addressing", "text": "Can this unit be addressed externally as an ISO/IEC 6523 organization part under the parent organization's ICD and organization identifier, and if so which OPI value and source indicator apply?", "kind": "interoperability", "answer_data": [ "ICD value", "organization identifier", "organization part identifier", "OPI source indicator", "composed iso6523Code string" ] }, { "id": "q-id-stability", "text": "Does the identifier survive renaming, reparenting and merger of the unit, and is it guaranteed never to be reassigned to a different unit?", "kind": "constraint", "answer_data": [ "stability policy statement", "reuse-prohibited boolean", "events that force a new identifier" ] }, { "id": "q-id-fallback", "text": "If no master-system identifier exists, which UUID or ULID does the adopting Dimension mint, and where is that minting act recorded?", "kind": "provenance", "answer_data": [ "locally minted identifier", "identifier type (UUID/ULID)", "minting Dimension", "minting record reference" ] } ], "data_elements": [ { "id": "de-unit-id", "name": "unitIdentifier", "description": "The authoritative identifier for the unit within its assigning scheme.", "value_kind": "identifier", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-unit-id-scheme", "name": "unitIdentifierScheme", "description": "Coded reference to the scheme and assigning authority for the identifier.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-007" ] }, { "id": "de-unit-opi", "name": "organizationPartIdentifier", "description": "ISO/IEC 6523 organization part identifier for external addressing of the unit, with its source indicator.", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-007", "SRC-008" ] }, { "id": "de-unit-alt-ids", "name": "alternateIdentifiers", "description": "Non-authoritative identifiers held in downstream systems (ERP cost centre code, LDAP DN, IdP group id).", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-004", "SRC-005" ] } ], "artifacts": [ { "id": "unit-register", "name": "Unit Identifier Register", "description": "The authoritative register of unit identifiers, their scheme, assignment act and retirement state, held by the parent organization.", "media_or_form": [ "structured register", "tabular export", "graph node set" ], "serial": false, "identity_strategy": "Registered under the parent organization's master-system register identifier; each entry keyed by unitIdentifier, which is never reused.", "source_refs": [ "SRC-001", "SRC-007", "SRC-012" ] } ], "inline_only_rationale": null }, { "id": "unit-naming-and-designation", "name": "Unit Naming and Designation", "description": "Units carry an official name, display and short names, abbreviations, language variants and superseded historical names. FHIR provides name plus alias for 'alternate or historical names' and requires at least one name or identifier; LDAP 'ou' is explicitly multi-valued. Names are unstable and non-unique and must never be used as identity.", "source_refs": [ "SRC-002", "SRC-004", "SRC-003" ], "questions": [ { "id": "q-official-name", "text": "Which name is the official designation of the unit, in which language, and which instrument fixed it?", "kind": "definition", "answer_data": [ "official name string", "language tag (BCP 47)", "fixing instrument reference", "effective date" ] }, { "id": "q-name-history", "text": "Which former names remain in use downstream and over which validity periods were they current?", "kind": "temporal", "answer_data": [ "alias string", "alias type (former, short, acronym, trade)", "validity start and end (RFC 3339)" ] }, { "id": "q-name-uniqueness", "text": "Is the unit name required to be unique within its parent, within the whole organization, or not at all?", "kind": "constraint", "answer_data": [ "uniqueness scope", "collision handling rule", "qualified-path naming convention" ] } ], "data_elements": [ { "id": "de-unit-name", "name": "officialName", "description": "The official designation of the unit, with language tag.", "value_kind": "text", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-003" ] }, { "id": "de-unit-alias", "name": "alias", "description": "Alternate, short, acronym or historical names with type and validity period.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002", "SRC-004" ] } ], "artifacts": [], "inline_only_rationale": "Names and aliases are attribute-level values carried inline on the unit record and rendered into other artifacts (register, org chart, directory export). No separate governed artifact is produced by naming alone." } ] }, { "id": "unit-classification", "name": "Unit Classification and Existence", "description": "The kind of unit and whether it currently exists as an operating subdivision.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-011" ], "findings": [ { "id": "unit-kind-classification", "name": "Unit Kind and Classification Scheme", "description": "Units are typed against a governed code list (department, division, directorate, branch, committee, board, team, programme office, shared-service centre, cost centre). W3C ORG provides org:classification against a scheme; CPOV constrains purpose to COFOG codes for public organisations and adds a classification property; FHIR uses a CodeableConcept type. The scheme must be named, versioned and resolvable, and the same unit may carry codes from several schemes simultaneously.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003" ], "questions": [ { "id": "q-kind-scheme", "text": "Against which named and versioned classification scheme is the unit's kind asserted, and is that scheme resolvable to a published code list?", "kind": "classification", "answer_data": [ "scheme identifier or IRI", "scheme version", "code value", "code label" ] }, { "id": "q-multi-scheme", "text": "Does the unit carry codes from more than one scheme (internal kind, public-sector function, industry activity), and which one governs behaviour?", "kind": "interoperability", "answer_data": [ "list of scheme/code pairs", "governing scheme flag", "mapping notes" ] }, { "id": "q-formal-vs-unit", "text": "Is this subdivision also a formal organization recognized in a legal jurisdiction, requiring dual classification and a link to WM-ORG-001?", "kind": "definition", "answer_data": [ "dual-classification boolean", "legal entity identifier if any", "jurisdiction", "basis of legal recognition" ] }, { "id": "q-kind-change", "text": "What evidence is required before a unit's kind may be reclassified, and does reclassification require a reorganization act?", "kind": "authority", "answer_data": [ "reclassification authority role", "required evidence", "linked reorganization act reference" ] } ], "data_elements": [ { "id": "de-unit-kind", "name": "unitKind", "description": "Coded kind of unit against a governed scheme.", "value_kind": "code", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-003" ] }, { "id": "de-classification-scheme", "name": "classificationScheme", "description": "Identifier and version of the scheme from which each code is drawn.", "value_kind": "reference", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "de-dual-legal-flag", "name": "isAlsoFormalOrganization", "description": "Whether this subdivision is separately recognized as a legal entity.", "value_kind": "boolean", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-013" ] } ], "artifacts": [ { "id": "unit-kind-code-list", "name": "Unit Kind Code List", "description": "The governed, versioned code list of unit kinds used by the adopting Dimension, with definitions, deprecations and mappings to org:classification and CPOV codes.", "media_or_form": [ "code list", "SKOS concept scheme", "tabular export" ], "serial": false, "identity_strategy": "Identified by a governed scheme IRI plus semantic version; codes are never reused after deprecation.", "source_refs": [ "SRC-001", "SRC-003" ] } ], "inline_only_rationale": null }, { "id": "unit-existence-status", "name": "Unit Existence Status", "description": "Whether the unit is proposed, active, dormant, suspended, disbanded or created in error. FHIR carries a boolean 'active'; ROR distinguishes active, inactive and withdrawn, where withdrawn means the record was created in error and is not a real-world cessation. That three-way distinction - operating, ceased, erroneous - is required so that error correction is not confused with reorganization.", "source_refs": [ "SRC-002", "SRC-011" ], "questions": [ { "id": "q-status-vocab", "text": "Which status values are permitted for a unit, and is 'created in error' modelled separately from 'ceased to operate'?", "kind": "state", "answer_data": [ "status code list", "error-vs-cessation distinction rule", "terminal status set" ] }, { "id": "q-status-transitions", "text": "Which status transitions are legal, and which of them require a reorganization act rather than a simple correction?", "kind": "lifecycle", "answer_data": [ "allowed transition matrix", "transitions requiring an act", "transitions allowed as corrections" ] }, { "id": "q-dormancy", "text": "How is a unit that exists on paper but has no establishment and no activity represented, and how long may it stay in that state?", "kind": "state", "answer_data": [ "dormant status code", "dormancy entry criteria", "maximum dormancy duration", "review trigger" ] }, { "id": "q-tombstone", "text": "After a unit is disbanded, is its record tombstoned with its relationships retained for historical reconstruction, or removed?", "kind": "retention", "answer_data": [ "tombstone policy", "retained relationship set", "redirect or successor pointer" ] } ], "data_elements": [ { "id": "de-unit-status", "name": "unitStatus", "description": "Current lifecycle status of the unit from the governed status vocabulary.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-011" ] }, { "id": "de-status-since", "name": "statusEffectiveFrom", "description": "The instant from which the current status applies.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006" ] }, { "id": "de-withdrawal-reason", "name": "withdrawalReason", "description": "Reason a record was withdrawn as erroneous, distinct from real-world disbandment.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-011" ] } ], "artifacts": [], "inline_only_rationale": "Status is a single governed attribute on the unit record; its history is materialised by the versioning artifacts in the temporal-validity layer rather than by a separate artifact here." }, { "id": "collaboration-vs-unit-typing", "name": "Kind and scheme", "description": "ORG supplies org:classification with range SKOS Concept and also allows subclassing when the kind is intrinsic. CPOV uses classification codes and points to the EU Organization Types named authority list for European institutions, while other levels must use other schemes. FHIR Organization.type is an example binding. Popolo forces a single classification per organization and requires implementations to choose one scheme. There is no universal unit-kind code list; department, branch, team, committee and similar labels are local. A committee may instead be an OrganizationalCollaboration if it is not an internal subdivision.", "source_refs": [ "SRC-017", "SRC-003", "SRC-018", "SRC-019" ], "questions": [ { "id": "collaboration-vs-unit-typing-q01", "text": "What kind is this unit, in which classification scheme, and is that kind intrinsic or merely a directory grouping?", "kind": "classification", "answer_data": [ "unit-kind-code (string): Code or SKOS concept for the kind", "kind-scheme (iri): Concept scheme or value set", "kind-is-intrinsic (boolean): Whether kind affects other properties" ] }, { "id": "collaboration-vs-unit-typing-q02", "text": "Is this body an internal unit, a committee treated as a unit, or a cross-organization collaboration?", "kind": "classification", "answer_data": [ "body-mode (code): unit, committee-as-unit, or collaboration" ] }, { "id": "collaboration-vs-unit-typing-q03", "text": "May this unit carry more than one classification at once, and if a profile forbids that, which scheme is the unique classifier?", "kind": "constraint", "answer_data": [ "allows-multiple-classifications (boolean): Whether multiple classifications are permitted", "unique-scheme (iri): Scheme used if uniqueness is required" ] } ], "data_elements": [ { "id": "collaboration-vs-unit-typing-data01", "name": "Unit kind code", "description": "Department, branch, team or other local kind", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-017", "SRC-003" ] }, { "id": "collaboration-vs-unit-typing-data02", "name": "Kind scheme", "description": "SKOS concept scheme or FHIR value set", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-017", "SRC-018" ] }, { "id": "collaboration-vs-unit-typing-data03", "name": "Body mode", "description": "unit, committee-as-unit, collaboration", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-017" ] } ], "artifacts": [ { "id": "collaboration-vs-unit-typing-artifact01", "name": "Unit kind scheme", "description": "Controlled list or SKOS concept scheme used by the parent organization to classify units", "media_or_form": [ "controlled list", "SKOS concept scheme" ], "serial": false, "identity_strategy": "Identified by the concept-scheme IRI, or by the scheme code published by the parent organization where no IRI exists.", "source_refs": [ "SRC-017", "SRC-003", "SRC-018" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "structural-composition", "name": "Structural Composition", "description": "How units nest into hierarchies and how they report to and coordinate with one another.", "rationale": "W3C ORG separates containment (org:hasUnit, org:subOrganizationOf) from reporting (org:reportsTo), FHIR separates partOf hierarchy from OrganizationAffiliation, and IFRS 8's management approach shows that more than one concurrent view of structure is normal. Composition therefore needs two distinct layers rather than one tree.", "source_refs": [ "SRC-001", "SRC-002", "SRC-009", "SRC-011" ], "layers": [ { "id": "containment-hierarchy", "name": "Containment Hierarchy", "description": "Parent-child membership of units within the organization, including concurrent hierarchies.", "source_refs": [ "SRC-001", "SRC-002", "SRC-008", "SRC-011" ], "findings": [ { "id": "parent-child-containment", "name": "Parent-Child Containment", "description": "Every unit resolves to exactly one parent organization and, except at the top, to one parent unit within a given hierarchy. W3C ORG expresses this with org:unitOf/org:hasUnit and org:subOrganizationOf; FHIR uses partOf; schema.org uses parentOrganization, which supersedes branchOf and is not distinguished from subsidiary ownership. ROR maintains reciprocal parent and child edges on active records. Cycles, orphans and multi-parent assertions within one hierarchy are integrity failures.", "source_refs": [ "SRC-001", "SRC-002", "SRC-008", "SRC-011" ], "questions": [ { "id": "q-parent-org", "text": "Which organization (WM-ORG-001 instance) does this unit ultimately belong to, and is that link mandatory and immutable for the unit's lifetime?", "kind": "composition", "answer_data": [ "parent organization identifier", "link mandatory boolean", "transfer-between-organizations rule" ] }, { "id": "q-parent-unit", "text": "Which unit is the immediate parent within the named hierarchy, and what is the depth and root of that path?", "kind": "relationship", "answer_data": [ "parent unit identifier", "hierarchy name", "root unit identifier", "materialised path or depth" ] }, { "id": "q-integrity", "text": "How are cycles, orphaned units and multiple parents within a single hierarchy detected and prevented at write time?", "kind": "validation", "answer_data": [ "acyclicity check definition", "orphan rule", "single-parent constraint per hierarchy", "rejection behaviour" ] }, { "id": "q-containment-vs-ownership", "text": "Is the parent link a containment of a non-legal subdivision or an ownership relation to a separate legal entity, and how is that difference preserved when exporting to vocabularies that conflate them?", "kind": "interoperability", "answer_data": [ "edge semantics code", "target entity type", "export mapping note", "loss warning" ] } ], "data_elements": [ { "id": "de-parent-org-ref", "name": "parentOrganizationRef", "description": "Reference to the WM-ORG-001 organization instance that owns the structure.", "value_kind": "reference", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-parent-unit-ref", "name": "parentUnitRef", "description": "Reference to the immediate parent unit within a named hierarchy.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-hierarchy-path", "name": "hierarchyPath", "description": "Ordered path of unit identifiers from the hierarchy root to this unit, derived not asserted.", "value_kind": "collection", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [ { "id": "org-chart-projection", "name": "Organization Chart Projection", "description": "A rendered or serialised view of the containment hierarchy with unit names and kinds, deliberately omitting mandate detail and staffing figures.", "media_or_form": [ "hierarchical graph", "diagram", "nested list", "tabular edge list" ], "serial": true, "identity_strategy": "Identified by hierarchy name plus as-of instant (RFC 3339) plus source structure version; regenerated projections are new serial instances, never edits.", "source_refs": [ "SRC-001", "SRC-011" ] } ], "inline_only_rationale": null }, { "id": "concurrent-hierarchies", "name": "Concurrent Hierarchies and Matrix Structure", "description": "One organization commonly maintains several simultaneous hierarchies over the same units: managerial line, legal-entity roll-up, cost/budget roll-up, functional or professional line, and the internal reporting structure that IFRS 8 makes decisive for segment identification. Each hierarchy is a separately named, separately governed edge set; collapsing them into one tree destroys the information that downstream reporting depends on.", "source_refs": [ "SRC-001", "SRC-009", "SRC-005" ], "questions": [ { "id": "q-hierarchy-inventory", "text": "Which named hierarchies exist over the unit set, who owns each, and which one is the default for display?", "kind": "composition", "answer_data": [ "hierarchy identifier", "hierarchy purpose", "owning role", "default flag" ] }, { "id": "q-hierarchy-divergence", "text": "Where does a unit's position differ between hierarchies, and is that divergence intentional or an integrity defect?", "kind": "quality", "answer_data": [ "divergence report rows", "intentional flag", "justification", "reviewer" ] }, { "id": "q-codm-hierarchy", "text": "Which hierarchy corresponds to the internal reports reviewed by the chief operating decision maker for the purposes of segment identification?", "kind": "decision", "answer_data": [ "hierarchy identifier", "CODM role reference", "attestation date", "scope of internal reports" ] }, { "id": "q-hierarchy-precedence", "text": "When two hierarchies imply conflicting authority over the same unit, which precedence rule resolves the conflict?", "kind": "constraint", "answer_data": [ "precedence ordering", "conflict class", "escalation path" ] } ], "data_elements": [ { "id": "de-hierarchy-id", "name": "hierarchyIdentifier", "description": "Identifier and purpose of a named hierarchy over the unit set.", "value_kind": "identifier", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001", "SRC-009" ] }, { "id": "de-hierarchy-edge", "name": "hierarchyEdge", "description": "A parent-child edge qualified by hierarchy identifier and validity period.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-codm-flag", "name": "isCodmReportingHierarchy", "description": "Marks the hierarchy that reflects internal management reporting for segment purposes.", "value_kind": "boolean", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-009" ] } ], "artifacts": [], "inline_only_rationale": "Concurrent hierarchies are edge sets over the units already registered elsewhere; each materialises through the org chart projection artifact parameterised by hierarchy identifier, so no additional artifact class is warranted." } ] }, { "id": "reporting-and-coordination", "name": "Reporting and Coordination", "description": "Directed reporting relations and non-containment relationships between units.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "findings": [ { "id": "reporting-lines", "name": "Reporting Lines and Their Standards Basis", "description": "Reporting lines are distinct from containment: a unit may sit under one parent but report functionally elsewhere (dotted line). W3C ORG's org:reportsTo is defined between Agents or Posts, not between organizational units, so unit-to-unit reporting is an extension of the standard and must be declared as such rather than claimed as conformant. SCIM offers only a single 'manager' reference at person level, which cannot carry line type or validity.", "source_refs": [ "SRC-001", "SRC-005" ], "questions": [ { "id": "q-line-type", "text": "What type is each reporting line - administrative, functional, professional, operational or advisory - and is it solid or dotted?", "kind": "relationship", "answer_data": [ "line type code", "solid/dotted flag", "source unit", "target unit or post" ] }, { "id": "q-line-subject", "text": "Does the reporting line hold between units, between posts, or between the units' heads, and which representation is authoritative?", "kind": "definition", "answer_data": [ "subject type (unit/post/agent)", "authoritative representation flag", "derivation rule for the other representations" ] }, { "id": "q-line-conformance", "text": "Where unit-to-unit reporting is asserted, is the departure from org:reportsTo recorded as an explicit extension with a mapping rule?", "kind": "interoperability", "answer_data": [ "extension declaration", "target standard property", "mapping rule", "non-conformance note" ] }, { "id": "q-line-validity", "text": "Over which period is each reporting line valid, and can two lines of the same type to different targets overlap in time?", "kind": "temporal", "answer_data": [ "validity start and end (RFC 3339)", "overlap-permitted boolean per line type", "conflict detection rule" ] } ], "data_elements": [ { "id": "de-reporting-line", "name": "reportingLine", "description": "Directed reporting relation with type, subject kind, target and validity period.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-line-type", "name": "reportingLineType", "description": "Coded type of the reporting relation.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-001" ] }, { "id": "de-line-extension-note", "name": "standardExtensionNote", "description": "Declaration that unit-level reporting extends beyond the domain/range of org:reportsTo.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [ { "id": "reporting-line-matrix", "name": "Reporting Line Matrix", "description": "Edge list of all reporting relations with type, direction, validity and standards-mapping note, usable for matrix-management analysis and for detecting conflicting lines.", "media_or_form": [ "edge list", "matrix table", "graph export" ], "serial": true, "identity_strategy": "Keyed by organization identifier plus as-of instant (RFC 3339); each generation is a new serial instance referencing the structure version it was derived from.", "source_refs": [ "SRC-001", "SRC-005" ] } ], "inline_only_rationale": null }, { "id": "cross-unit-affiliations", "name": "Cross-Unit and External Affiliations", "description": "Units participate in relations that are neither containment nor reporting: shared services, joint committees, secondments of capacity, service-level relations to other units, and affiliations to bodies in other legal entities. FHIR introduces OrganizationAffiliation precisely for 'complex non-hierarchical relationships between separate legal entities without implying ownership'; ROR uses a 'related' type for 'less defined connections, such as resource sharing or participation without direct control'.", "source_refs": [ "SRC-002", "SRC-011" ], "questions": [ { "id": "q-affiliation-kind", "text": "What kind of non-hierarchical relation is this - shared service, joint body, service agreement, secondment or partnership - and does it imply any control?", "kind": "relationship", "answer_data": [ "affiliation type code", "implies-control boolean", "counterparty reference" ] }, { "id": "q-affiliation-boundary", "text": "Does the counterparty sit inside the same parent organization or in a different legal entity, and does that change which model owns the relation?", "kind": "composition", "answer_data": [ "internal/external flag", "counterparty organization identifier", "owning model reference" ] }, { "id": "q-affiliation-terms", "text": "Which instrument establishes the affiliation, over what period, and what obligations does it place on the unit?", "kind": "authority", "answer_data": [ "instrument reference", "validity period", "obligation summary", "review date" ] } ], "data_elements": [ { "id": "de-affiliation", "name": "unitAffiliation", "description": "Non-hierarchical relation between a unit and another unit or external body, with type and validity.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002", "SRC-011" ] }, { "id": "de-affiliation-instrument", "name": "affiliationInstrumentRef", "description": "Reference to the agreement or decision that establishes the affiliation.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002" ] } ], "artifacts": [], "inline_only_rationale": "Affiliations are reference data resolved against counterparty records held by WM-ORG-001 or by contract models; the establishing instrument is an artifact of those models, not of this one." } ] } ] }, { "id": "mandate-and-authority", "name": "Mandate and Authority", "description": "What a unit is empowered to do, within which limits, and who is accountable for it.", "rationale": "ISO 37000 makes accountability a product of assigned responsibility and delegated authority, holds that delegators remain accountable, and requires delegation to be formalized. W3C ORG's org:purpose and CPOV's code-valued purpose give the vocabulary; the limits, controls and accountability holder are the operating surface.", "source_refs": [ "SRC-001", "SRC-003", "SRC-014" ], "layers": [ { "id": "remit-and-decision-rights", "name": "Remit and Decision Rights", "description": "The scope of a unit's mandate and the decisions it may take.", "source_refs": [ "SRC-001", "SRC-003", "SRC-014" ], "findings": [ { "id": "unit-mandate-scope", "name": "Unit Mandate and Scope", "description": "A unit's mandate states its reason for existence and the subject matter, geography, customer set or process it covers. W3C ORG offers org:purpose; CPOV types purpose as a code and suggests COFOG for public organisations, and adds spatial coverage of the administrative region an organisation covers. Mandate must trace to a delegating instrument, because ISO 37000 requires delegation to be formalized.", "source_refs": [ "SRC-001", "SRC-003", "SRC-014" ], "questions": [ { "id": "q-mandate-statement", "text": "What is the unit's stated remit, and is it expressed as free text, as codes from a governed scheme, or both?", "kind": "definition", "answer_data": [ "remit statement text", "purpose code and scheme", "coverage dimensions" ] }, { "id": "q-mandate-source", "text": "Which instrument delegates this mandate to the unit, and from which higher authority or charter power does it derive?", "kind": "authority", "answer_data": [ "delegating instrument reference", "delegating body", "upstream charter power reference", "approval date" ] }, { "id": "q-mandate-territory", "text": "Over which spatial, market, legal-entity or process scope does the mandate apply, and where does it explicitly not apply?", "kind": "spatial", "answer_data": [ "covered region or scope codes", "excluded scope", "basis of exclusion" ] }, { "id": "q-mandate-overlap", "text": "Does this mandate overlap or conflict with the remit of another unit, and which rule resolves the overlap?", "kind": "exception", "answer_data": [ "overlapping unit identifiers", "overlap classification", "resolution rule", "arbiter role" ] } ], "data_elements": [ { "id": "de-mandate-text", "name": "remitStatement", "description": "Narrative statement of what the unit is mandated to do.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-014" ] }, { "id": "de-purpose-code", "name": "purposeCode", "description": "Coded purpose of the unit from a governed scheme (e.g. COFOG for public bodies).", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "de-mandate-validity", "name": "mandateValidity", "description": "Period over which the mandate is in force.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-014" ] }, { "id": "de-mandate-scope", "name": "mandateScope", "description": "Structured coverage of the mandate across spatial, market, entity and process dimensions.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003" ] } ], "artifacts": [ { "id": "mandate-instrument", "name": "Delegation Instrument", "description": "The formalized document or decision by which a governing body delegates a mandate to a unit, including the delegated scope, conditions and assurance arrangements.", "media_or_form": [ "decision document", "terms of reference", "structured record with attached text" ], "serial": true, "identity_strategy": "Identified by the issuing body's decision reference; where absent, a Dimension-assigned ULID plus decision date (RFC 3339). Superseding instruments get new identifiers and point to the superseded one.", "source_refs": [ "SRC-014", "SRC-001" ] } ], "inline_only_rationale": null }, { "id": "delegated-authority-limits", "name": "Delegated Authority Limits", "description": "Delegation is bounded: spend thresholds, contract-signing powers, hiring authority, approval tiers and escalation triggers. ISO 37000 holds that those who delegate remain accountable for the delegate's use of that authority, that delegation should be formalized together with appropriate assurance processes, and that no one should be accountable for matters over which they have no authority. Limits are therefore first-class data, not narrative.", "source_refs": [ "SRC-014" ], "questions": [ { "id": "q-authority-limits", "text": "Which decision types may this unit take without escalation, and what quantitative or categorical limits bound each of them?", "kind": "constraint", "answer_data": [ "decision type code", "limit value and unit of measure", "currency where monetary", "escalation threshold" ] }, { "id": "q-subdelegation", "text": "May the unit sub-delegate any part of its authority to a contained unit or post, and under what conditions?", "kind": "authority", "answer_data": [ "sub-delegation permitted boolean", "conditions", "maximum sub-delegated limit", "notification requirement" ] }, { "id": "q-assurance", "text": "Which assurance process verifies that delegated authority is being exercised within its limits, and at what cadence?", "kind": "evidence", "answer_data": [ "assurance process reference", "cadence", "assurance owner", "last assurance date" ] }, { "id": "q-authority-withdrawal", "text": "Under what circumstances is delegated authority suspended or withdrawn, and does withdrawal take effect immediately or at a stated date?", "kind": "lifecycle", "answer_data": [ "withdrawal trigger", "withdrawing authority", "effective instant (RFC 3339)", "residual authority during transition" ] } ], "data_elements": [ { "id": "de-authority-limit", "name": "authorityLimit", "description": "A bounded decision right with type, quantitative limit and escalation threshold.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-014" ] }, { "id": "de-limit-amount", "name": "limitAmount", "description": "Monetary or numeric ceiling attached to a decision right, with unit of measure or currency.", "value_kind": "quantity", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-014" ] }, { "id": "de-subdelegation-rule", "name": "subDelegationRule", "description": "Whether and how authority may be further delegated downward.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-014" ] } ], "artifacts": [ { "id": "authority-limit-schedule", "name": "Delegation of Authority Schedule", "description": "The consolidated schedule mapping units to decision types, limits, escalation paths and assurance owners, used for both operation and audit.", "media_or_form": [ "schedule table", "structured ruleset", "policy annex" ], "serial": true, "identity_strategy": "Identified by the approving body's reference plus schedule version; each approved revision is a new serial instance with an effective date and a link to its predecessor.", "source_refs": [ "SRC-014" ] } ], "inline_only_rationale": null } ] }, { "id": "accountability-and-controls", "name": "Accountability and Controls", "description": "Who answers for a unit and which control constraints its structure must satisfy.", "source_refs": [ "SRC-001", "SRC-014" ], "findings": [ { "id": "accountable-role", "name": "Accountable Role for the Unit", "description": "Each unit has a head or accountable role. W3C ORG models this as a Post or as a Membership linking an Agent, an Organization and a Role, which keeps the accountability slot stable while occupants change. ISO 37000 requires that decision-makers have appropriate authority, competence and resources for the responsibilities given. The person occupying the role is out of scope; the slot and its linkage are in scope.", "source_refs": [ "SRC-001", "SRC-014" ], "questions": [ { "id": "q-head-slot", "text": "Which post or role is designated as head of the unit, and is that designation a property of the unit or of the post?", "kind": "ownership", "answer_data": [ "head post reference (WM-ORG-004)", "role code", "designation basis", "validity period" ] }, { "id": "q-acting-vacancy", "text": "How is an acting, interim or vacant headship represented, and who holds the accountability while the slot is unfilled?", "kind": "state", "answer_data": [ "headship state code", "acting arrangement reference", "fallback accountable role", "expected resolution date" ] }, { "id": "q-resource-adequacy", "text": "What evidence exists that the accountable role has the authority, competence and resources matching the unit's responsibilities?", "kind": "evidence", "answer_data": [ "assessment reference", "assessment date", "identified gaps", "remediation owner" ] } ], "data_elements": [ { "id": "de-head-post-ref", "name": "headPostRef", "description": "Reference to the post (WM-ORG-004) designated as head of the unit.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-headship-state", "name": "headshipState", "description": "Whether the headship is substantively filled, acting, or vacant.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-014" ] } ], "artifacts": [], "inline_only_rationale": "The accountable role is a typed reference into WM-ORG-004 plus a state code; the post description and appointment record are artifacts of the position and employment models, so producing a duplicate artifact here would fork the source of truth." }, { "id": "segregation-of-duties", "name": "Segregation of Duties and Structural Controls", "description": "Structure itself carries control obligations: certain functions must not report into the unit they oversee, incompatible mandates must not sit in one unit, and control functions may require an independent line to a governing body. ISO 37000 frames this through accountability that cannot be discharged without matching authority and through formalized delegation with assurance. Violations are structural defects detectable at graph level.", "source_refs": [ "SRC-014", "SRC-001" ], "questions": [ { "id": "q-sod-rules", "text": "Which pairs or sets of mandates must never be held by the same unit, and which rule set encodes that prohibition?", "kind": "constraint", "answer_data": [ "incompatible mandate pairs", "rule identifier", "rule source (policy or regulation)", "severity" ] }, { "id": "q-independence", "text": "Which units require an independent reporting line that bypasses their operational parent, and to which body does that line run?", "kind": "requirement", "answer_data": [ "unit identifier", "independence basis", "target governing body", "line type" ] }, { "id": "q-sod-detection", "text": "How are segregation violations detected when a reorganization is proposed, and does detection block the change or only warn?", "kind": "validation", "answer_data": [ "check definition", "evaluation point (pre-commit/post-commit)", "blocking boolean", "override authority" ] }, { "id": "q-sod-exception", "text": "Under what conditions may a segregation rule be waived, who may approve the waiver, and for how long?", "kind": "exception", "answer_data": [ "waiver conditions", "approving role", "waiver expiry (RFC 3339)", "compensating control" ] } ], "data_elements": [ { "id": "de-sod-rule-ref", "name": "segregationRuleRef", "description": "Reference to a structural control rule applying to the unit.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-014" ] }, { "id": "de-independence-flag", "name": "requiresIndependentLine", "description": "Whether the unit must report independently of its operational parent.", "value_kind": "boolean", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-014" ] }, { "id": "de-sod-waiver", "name": "segregationWaiver", "description": "An approved, time-bounded exception to a structural control rule with its compensating control.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-014" ] } ], "artifacts": [], "inline_only_rationale": "Control rules are governed by a policy or compliance model and referenced here; evaluation results surface in the structure validation report artifact rather than as a distinct artifact class." } ] } ] }, { "id": "establishment-and-staffing", "name": "Establishment and Staffing", "description": "The posts a unit is authorized to carry and the staffing actually measured in it.", "rationale": "org:Post exists independently of its holder, which makes authorized establishment a unit-side fact distinct from employment. ESRS S1-6 and human-capital reporting practice require dated, methodologically declared headcount and FTE figures, so measurement must be separated from plan.", "source_refs": [ "SRC-001", "SRC-015", "SRC-008" ], "layers": [ { "id": "establishment-plan", "name": "Establishment Plan", "description": "The authorized complement of posts seated in a unit.", "source_refs": [ "SRC-001", "SRC-005" ], "findings": [ { "id": "authorized-post-complement", "name": "Authorized Post Complement", "description": "The establishment is the set of posts a unit is authorized to carry, independent of whether they are filled. W3C ORG's Post 'exists independently of who fills it', which is exactly what makes an establishment countable. This model records the authorization, its approving instrument, the count and its budget linkage; the post's own definition belongs to WM-ORG-004.", "source_refs": [ "SRC-001", "SRC-014" ], "questions": [ { "id": "q-establishment-count", "text": "How many posts is the unit authorized to carry, expressed as post count and as budgeted full-time equivalents?", "kind": "measurement", "answer_data": [ "authorized post count", "authorized FTE", "budget period", "approving instrument reference" ] }, { "id": "q-establishment-authority", "text": "Who may increase or decrease the establishment, and does a change require a reorganization act or only a budget decision?", "kind": "authority", "answer_data": [ "approving role", "change instrument type", "reorganization-act-required boolean" ] }, { "id": "q-post-seating", "text": "Which specific posts (WM-ORG-004) are seated in this unit, and can a post be seated in more than one unit at once?", "kind": "composition", "answer_data": [ "post identifiers", "seating validity period", "multi-seating permitted boolean", "apportionment rule" ] }, { "id": "q-establishment-vs-actual", "text": "What is the tolerated variance between authorized establishment and actual staffing before escalation is triggered?", "kind": "constraint", "answer_data": [ "variance threshold", "measurement basis", "escalation trigger", "responsible role" ] } ], "data_elements": [ { "id": "de-authorized-posts", "name": "authorizedPostCount", "description": "Number of posts the unit is authorized to carry.", "value_kind": "number", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-authorized-fte", "name": "authorizedFte", "description": "Budgeted full-time-equivalent capacity of the unit for a stated period.", "value_kind": "quantity", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-015" ] }, { "id": "de-seated-post-ref", "name": "seatedPostRef", "description": "Reference to a post seated in the unit, with validity period.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-cost-centre", "name": "costCentreCode", "description": "Cost centre code associated with the unit for budget attribution, as surfaced by SCIM costCenter.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005" ] } ], "artifacts": [ { "id": "establishment-table", "name": "Establishment Table", "description": "The approved table of authorized posts per unit with counts, FTE, cost centre linkage and the instrument that approved each line.", "media_or_form": [ "approved table", "structured plan record", "budget annex" ], "serial": true, "identity_strategy": "Identified by organization identifier plus budget or establishment period plus version; each approved revision is a new serial instance with effective date and predecessor link.", "source_refs": [ "SRC-001", "SRC-005", "SRC-014" ] } ], "inline_only_rationale": null }, { "id": "occupancy-state", "name": "Unit-Level Occupancy State", "description": "At unit granularity the relevant facts are how many authorized posts are filled, vacant, frozen or over-established, and since when. Individual occupancy is an employment fact about a named person and is excluded; the aggregate is a unit fact. Keeping only the aggregate here is what makes structure data disclosable without touching personal data.", "source_refs": [ "SRC-001", "SRC-015" ], "questions": [ { "id": "q-occupancy-counts", "text": "How many authorized posts in this unit are currently filled, vacant, frozen or in notice period, and as of which instant?", "kind": "state", "answer_data": [ "filled count", "vacant count", "frozen count", "as-of instant (RFC 3339)" ] }, { "id": "q-over-establishment", "text": "Is the unit carrying more filled posts than authorized, and under which approved exception?", "kind": "exception", "answer_data": [ "over-establishment count", "exception reference", "expiry date", "approver" ] }, { "id": "q-occupancy-derivation", "text": "Is occupancy asserted directly on the unit or derived from employment records, and which is authoritative when they disagree?", "kind": "provenance", "answer_data": [ "derivation source system", "authoritative source flag", "reconciliation rule", "last reconciliation instant" ] } ], "data_elements": [ { "id": "de-filled-count", "name": "filledPostCount", "description": "Number of authorized posts currently occupied, as of a stated instant.", "value_kind": "number", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-015" ] }, { "id": "de-vacant-count", "name": "vacantPostCount", "description": "Number of authorized posts currently unoccupied.", "value_kind": "number", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-occupancy-asof", "name": "occupancyAsOf", "description": "The instant to which occupancy counts refer.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006" ] } ], "artifacts": [], "inline_only_rationale": "Unit-level occupancy is a derived aggregate over employment and position records; publishing it as its own artifact would create a second, drifting source of truth. It is carried inline on the unit and materialised only inside the headcount snapshot artifact." } ] }, { "id": "staffing-measurement", "name": "Staffing Measurement", "description": "Dated, method-declared measurement of staffing attributed to a unit, and the rules for disclosing it.", "source_refs": [ "SRC-015", "SRC-008" ], "findings": [ { "id": "headcount-and-fte-snapshot", "name": "Headcount and FTE Snapshot", "description": "A staffing snapshot is a measurement event, not a unit attribute: it has an as-of date, a counting basis (head count or full-time equivalent, point-in-time or average over the period), a population definition and a preparer. ESRS S1-6 requires employee totals by head count and/or FTE with country and gender breakdowns and explicit methodology disclosure, which makes basis declaration mandatory rather than optional.", "source_refs": [ "SRC-015", "SRC-008", "SRC-006" ], "questions": [ { "id": "q-count-basis", "text": "Is the figure a head count or a full-time equivalent, and is it a point-in-time count at the reporting date or an average over the period?", "kind": "measurement", "answer_data": [ "basis code (headcount/FTE)", "point-in-time vs average", "period start and end", "FTE conversion rule" ] }, { "id": "q-population", "text": "Which worker categories are included - permanent, temporary, non-guaranteed hours, contingent, contractors - and which are excluded?", "kind": "definition", "answer_data": [ "included category codes", "excluded category codes", "definition source", "treatment of shared or apportioned staff" ] }, { "id": "q-snapshot-timing", "text": "What is the difference between the snapshot's as-of date and the instant it was computed and ingested, and are both recorded?", "kind": "temporal", "answer_data": [ "as-of date", "computation timestamp (RFC 3339)", "ingestion timestamp (RFC 3339)", "source system" ] }, { "id": "q-restatement", "text": "Under what conditions is a prior snapshot restated rather than superseded, and how is the restatement flagged to consumers?", "kind": "quality", "answer_data": [ "restatement trigger", "restatement flag", "original value retained", "reason text" ] } ], "data_elements": [ { "id": "de-headcount-value", "name": "headcountValue", "description": "Measured staffing figure for the unit under a declared basis.", "value_kind": "quantity", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-015", "SRC-008" ] }, { "id": "de-count-basis", "name": "countingBasis", "description": "Declared counting basis and period convention for the figure.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-015" ] }, { "id": "de-snapshot-asof", "name": "snapshotAsOfDate", "description": "The date to which the measurement refers, distinct from when it was computed.", "value_kind": "date", "cardinality": "1", "required": true, "source_refs": [ "SRC-006", "SRC-015" ] }, { "id": "de-snapshot-observed", "name": "observationTimestamp", "description": "The instant the measurement was computed or ingested, in RFC 3339 form with explicit offset.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006" ] } ], "artifacts": [ { "id": "headcount-snapshot-series", "name": "Headcount Snapshot Series", "description": "The dated series of staffing measurements per unit with basis, population definition, preparer and restatement flags, supporting trend analysis and external disclosure.", "media_or_form": [ "time series dataset", "tabular export", "reporting extract" ], "serial": true, "identity_strategy": "Each snapshot keyed by unit identifier plus as-of date plus basis code; the series itself keyed by organization identifier plus basis. Restatements are new instances that reference the superseded snapshot.", "source_refs": [ "SRC-015", "SRC-006" ] } ], "inline_only_rationale": null }, { "id": "staffing-disclosure-thresholds", "name": "Staffing Disclosure Thresholds", "description": "Staffing figures for small units can identify individuals, so aggregation and suppression rules are part of the model, not of the consuming report. ESRS S1 itself uses thresholds, requiring country breakdowns only where an undertaking has 50 or more employees in a country and only for the ten largest countries, which demonstrates that threshold logic is normal in authoritative reporting standards.", "source_refs": [ "SRC-015" ], "questions": [ { "id": "q-min-cell", "text": "Below which cell size must a unit's staffing figure be suppressed or rolled up to its parent, and who sets that threshold?", "kind": "privacy", "answer_data": [ "minimum cell size", "suppression action (suppress/roll-up/round)", "policy owner", "policy reference" ] }, { "id": "q-breakdown-limits", "text": "Which breakdowns of staffing by unit are permitted for which audiences, and which combinations are prohibited because they enable re-identification?", "kind": "access", "answer_data": [ "permitted breakdown dimensions", "prohibited combinations", "audience class", "justification" ] }, { "id": "q-suppression-audit", "text": "How is the application of a suppression rule recorded so that a consumer can tell a suppressed value from a true zero?", "kind": "evidence", "answer_data": [ "suppression marker", "rule identifier applied", "suppression log entry", "reviewer" ] } ], "data_elements": [ { "id": "de-min-cell-size", "name": "minimumCellSize", "description": "Threshold below which unit-level staffing figures must not be published.", "value_kind": "number", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-015" ] }, { "id": "de-suppression-flag", "name": "suppressionApplied", "description": "Marker distinguishing a suppressed value from a genuine zero.", "value_kind": "boolean", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-015" ] }, { "id": "de-audience-class", "name": "audienceClass", "description": "Class of consumer for which a given breakdown is permitted.", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-015" ] } ], "artifacts": [], "inline_only_rationale": "Thresholds are policy parameters applied by the disclosure function; they are configuration on the access layer and on the headcount snapshot artifact rather than an artifact in their own right." } ] } ] }, { "id": "change-and-time", "name": "Change and Time", "description": "How structure changes, what evidences the change, and how any past state can be reconstructed.", "rationale": "org:ChangeEvent with originalOrganization and resultingOrganization gives n:m restructuring lineage; ROR tombstones withdrawn records and retains relationships; IFRS 8 requires restatement or disclosure when internal structure changes. Change and time therefore need dedicated, event-based treatment.", "source_refs": [ "SRC-001", "SRC-009", "SRC-011", "SRC-006" ], "layers": [ { "id": "structural-change-events", "name": "Structural Change Events", "description": "The acts that create, alter, combine, move or end units, and the lineage they produce.", "source_refs": [ "SRC-001", "SRC-009", "SRC-011" ], "findings": [ { "id": "reorganization-act", "name": "Reorganization Act", "description": "A reorganization act is a decision that reshapes structure. It carries at least three distinct times - when it was decided, when it takes effect in the world, and when it was recorded - plus the deciding authority, the affected units and the change kind. W3C ORG's ChangeEvent 'resulted in a major change to an organization such as a merger or complete restructuring'; IFRS 8 then requires prior-period segment information to be restated or the change disclosed, so an act has consequences outside this model.", "source_refs": [ "SRC-001", "SRC-009", "SRC-006" ], "questions": [ { "id": "q-act-kind", "text": "What kind of act is this - establish, rename, reclassify, reparent, merge, split, transfer between organizations, or disband - and which units does it affect in which role?", "kind": "event", "answer_data": [ "act kind code", "affected unit identifiers", "role per unit (original/resulting/unchanged)", "narrative summary" ] }, { "id": "q-act-times", "text": "What are the decision instant, the effective instant and the record instant of this act, each with an explicit offset?", "kind": "temporal", "answer_data": [ "decision timestamp (RFC 3339)", "effective timestamp (RFC 3339)", "recorded timestamp (RFC 3339)", "timezone rationale" ] }, { "id": "q-act-authority", "text": "Which body took the decision, under which delegated power, and is the decision instrument attached as evidence?", "kind": "authority", "answer_data": [ "deciding body", "power or instrument relied on", "evidence document reference", "approval quorum or signatures" ] }, { "id": "q-act-consequences", "text": "Which downstream obligations does the act trigger - segment restatement, employee information and consultation, directory reprovisioning, contract novation?", "kind": "process", "answer_data": [ "triggered obligation codes", "responsible party per obligation", "deadline", "completion status" ] }, { "id": "q-retroactive", "text": "May an act be recorded with an effective date in the past, and what compensating controls apply to retroactive entries?", "kind": "exception", "answer_data": [ "retroactivity permitted boolean", "maximum backdating window", "approval role", "audit marker" ] } ], "data_elements": [ { "id": "de-act-kind", "name": "reorganizationActKind", "description": "Coded kind of structural change.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-act-decision-time", "name": "decisionTimestamp", "description": "When the decision was taken, in RFC 3339 form with explicit offset.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006" ] }, { "id": "de-act-effective-time", "name": "effectiveTimestamp", "description": "When the change takes effect in the world.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006" ] }, { "id": "de-act-recorded-time", "name": "recordedTimestamp", "description": "When the change was captured in the record, kept separate from event time.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006" ] }, { "id": "de-act-affected", "name": "affectedUnits", "description": "Units affected by the act with their role as original or resulting participant.", "value_kind": "collection", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001" ] } ], "artifacts": [ { "id": "reorganization-decision-record", "name": "Reorganization Decision Record", "description": "The evidenced record of one structural change act: decision instrument, authority, affected units and roles, the three timestamps, and the list of triggered downstream obligations.", "media_or_form": [ "decision record", "signed instrument", "structured event record" ], "serial": true, "identity_strategy": "Identified by the deciding body's official decision reference where one exists; otherwise a Dimension-assigned ULID. Never keyed by date alone, since several acts may share a date.", "source_refs": [ "SRC-001", "SRC-009", "SRC-006" ] } ], "inline_only_rationale": null }, { "id": "unit-lineage", "name": "Unit Lineage and Succession", "description": "Merges and splits create many-to-many lineage that a simple parent pointer cannot express. W3C ORG uses originalOrganization and resultingOrganization on a ChangeEvent; ROR uses predecessor and successor relationships and keeps relationships on inactive or withdrawn records as historical tombstones. Lineage must survive the disappearance of its endpoints so that historical references still resolve.", "source_refs": [ "SRC-001", "SRC-011" ], "questions": [ { "id": "q-lineage-edges", "text": "Which units are the predecessors and successors of this unit, and through which act was each lineage edge created?", "kind": "provenance", "answer_data": [ "predecessor identifiers", "successor identifiers", "creating act reference", "edge type" ] }, { "id": "q-lineage-continuity", "text": "Does a merged or renamed unit retain its identifier as a continuation, or is a new identifier minted with a lineage edge to the old one?", "kind": "identity", "answer_data": [ "continuation rule per act kind", "identifier retained boolean", "lineage edge type" ] }, { "id": "q-tombstone-resolution", "text": "When a consumer dereferences the identifier of a disbanded unit, what is returned - a tombstone, a redirect to the successor, or an error?", "kind": "interoperability", "answer_data": [ "resolution behaviour", "tombstone payload fields", "redirect target rule", "status code convention" ] }, { "id": "q-partial-transfer", "text": "When only part of a unit moves in a split, how is the partial transfer of establishment, mandate and staffing apportioned across the lineage edge?", "kind": "composition", "answer_data": [ "apportionment basis", "transferred post identifiers", "transferred mandate elements", "residual retained by source" ] } ], "data_elements": [ { "id": "de-predecessor", "name": "predecessorUnitRefs", "description": "Units from which this unit derives through a change act.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-successor", "name": "successorUnitRefs", "description": "Units into which this unit continues after a change act.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-lineage-act-ref", "name": "lineageActRef", "description": "Reference to the reorganization act that created the lineage edge.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [ { "id": "unit-lineage-graph", "name": "Unit Lineage Graph", "description": "The directed acyclic graph of predecessor and successor edges across all acts, including tombstoned nodes, used to resolve historical unit references.", "media_or_form": [ "directed graph", "edge list", "provenance export" ], "serial": false, "identity_strategy": "Identified by organization identifier; nodes keyed by unitIdentifier including retired ones, edges keyed by the act reference that created them.", "source_refs": [ "SRC-001", "SRC-011" ] } ], "inline_only_rationale": null }, { "id": "change-event-conformance-threshold", "name": "Change event semantics", "description": "ORG ChangeEvent is a prov:Activity for a major change such as a merger or complete restructuring, intended when the resulting organization is sufficiently distinct to have a distinct identity and URI. originalOrganization, resultingOrganization, changedBy and resultedFrom relate the event to organizations. CPOV adds description, startedAtTime, endedAtTime and hasFormalFramework to legislation or policy that prompted the change. Most internal reorganizations do not mint a new URI; those should be modelled as time-qualified updates to parent, name, kind or status, optionally grouped by a reorganization act. Treating every rename as a ChangeEvent would over-claim ORG semantics. Rare cases include machinery-of-government transfers, split of one unit into several, merger without a new legal entity, spin-out of a unit into a FormalOrganization, and absorption of a former legal body as a unit.", "source_refs": [ "SRC-017", "SRC-003" ], "questions": [ { "id": "change-event-conformance-threshold-q01", "text": "What kind of structural change occurred, which units were original and resulting, and did any resulting unit receive a new identity?", "kind": "event", "answer_data": [ "change-kind (code): create, rename, reparent, merge, split, disband, spin-out, absorb", "original-unit-ids (array): Units that existed before", "resulting-unit-ids (array): Units that existed after", "new-identity-minted (boolean): Whether a new URI or master id was assigned" ] }, { "id": "change-event-conformance-threshold-q02", "text": "When was the change decided, when did it start to be effective, when did it end, and when was it recorded?", "kind": "temporal", "answer_data": [ "decision-time (datetime): RFC 3339 decision time", "started-at-time (datetime): RFC 3339 prov:startedAtTime", "ended-at-time (datetime): RFC 3339 prov:endedAtTime", "recorded-at (datetime): RFC 3339 observation time" ] }, { "id": "change-event-conformance-threshold-q03", "text": "Which law, policy, board minute or reorganization notice authorized the change?", "kind": "authority", "answer_data": [ "formal-framework-id (string): Legislation, policy or decision identifier", "framework-title (string): Title of the authorizing instrument" ] }, { "id": "change-event-conformance-threshold-q04", "text": "Which affected parties must receive advance notice of this structural change?", "kind": "requirement", "answer_data": [ "notice-audience (array): Units, posts or counterparties to notify", "notice-required-by (string): Policy or legal basis for notice" ] } ], "data_elements": [ { "id": "change-event-conformance-threshold-data01", "name": "Change event identifier", "description": "Master id of the reorganization act", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-017", "SRC-003" ] }, { "id": "change-event-conformance-threshold-data02", "name": "Change kind", "description": "create, rename, reparent, merge, split, disband, spin-out, absorb", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-017", "SRC-003" ] }, { "id": "change-event-conformance-threshold-data03", "name": "Original unit ids", "description": "Units before the event", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-017" ] }, { "id": "change-event-conformance-threshold-data04", "name": "Resulting unit ids", "description": "Units after the event", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-017" ] }, { "id": "change-event-conformance-threshold-data05", "name": "Started at time", "description": "Event start RFC 3339", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "change-event-conformance-threshold-data06", "name": "Formal framework", "description": "Authorizing instrument", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003" ] } ], "artifacts": [ { "id": "change-event-conformance-threshold-artifact01", "name": "Reorganization act", "description": "Decision record that reshapes one or more units, with kind, times, original and resulting units and formal framework", "media_or_form": [ "decision record" ], "serial": false, "identity_strategy": "Identified by the change-event master identifier and, where present, the reference to the authorizing formal framework.", "source_refs": [ "SRC-017", "SRC-003" ] } ], "inline_only_rationale": null } ] }, { "id": "temporal-validity", "name": "Temporal Validity", "description": "Effective dating, bitemporality and reconstruction of the structure at any past instant.", "source_refs": [ "SRC-006", "SRC-009", "SRC-011" ], "findings": [ { "id": "effective-dating-bitemporality", "name": "Effective Dating and Bitemporality", "description": "Every structural assertion - membership in a hierarchy, a reporting line, a mandate, an establishment line - carries a validity period in world time and a separate transaction period in record time. RFC 3339 requires a stated relationship to UTC and offers '-00:00' where the instant is known but the local offset is not, a distinction that matters for multinational effective dates. ROR's admin block separates created from last_modified, illustrating the record-time axis in practice.", "source_refs": [ "SRC-006", "SRC-011" ], "questions": [ { "id": "q-validity-period", "text": "What are the validity start and end of this assertion in world time, and is an open-ended end represented explicitly or by absence?", "kind": "temporal", "answer_data": [ "valid-from (RFC 3339)", "valid-to (RFC 3339) or open marker", "open-end convention", "granularity (instant or date)" ] }, { "id": "q-transaction-time", "text": "When was this assertion first recorded and when was it last modified or superseded in the record, independently of its world-time validity?", "kind": "provenance", "answer_data": [ "recorded-from (RFC 3339)", "recorded-to (RFC 3339)", "modifying actor", "change reason" ] }, { "id": "q-offset-policy", "text": "Which time offset is used for effective dates in a multi-jurisdiction organization, and is a legal local midnight or a UTC instant intended?", "kind": "constraint", "answer_data": [ "offset policy", "legal-local-time flag", "jurisdiction reference", "conversion rule" ] }, { "id": "q-gap-overlap", "text": "Are gaps or overlaps permitted in the validity of successive parent assignments for the same unit and hierarchy?", "kind": "validation", "answer_data": [ "gaps permitted boolean", "overlaps permitted boolean", "detection rule", "remediation action" ] } ], "data_elements": [ { "id": "de-valid-from", "name": "validFrom", "description": "Start of world-time validity for a structural assertion, RFC 3339 with explicit offset.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006" ] }, { "id": "de-valid-to", "name": "validTo", "description": "End of world-time validity, absent or explicitly open where still current.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006" ] }, { "id": "de-recorded-from", "name": "recordedFrom", "description": "Start of record-time validity, i.e. when the system first held this assertion.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-006", "SRC-011" ] }, { "id": "de-time-granularity", "name": "temporalGranularity", "description": "Whether the assertion is dated to an instant or to a legal calendar day in a stated jurisdiction.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006" ] } ], "artifacts": [], "inline_only_rationale": "Bitemporal stamps are per-assertion attributes that must travel with every edge and record; isolating them into an artifact would detach them from the assertions they qualify." }, { "id": "as-of-reconstruction", "name": "As-Of Reconstruction and Versioning", "description": "Consumers need the structure as it stood at a past instant, both as it actually was (world time) and as it was believed to be at the time (record time). IFRS 8's requirement to restate prior-period segment information after an internal reorganization, or otherwise disclose the change, makes exact historical reconstruction an external obligation rather than a convenience. Reconstruction outputs must be reproducible and identified.", "source_refs": [ "SRC-009", "SRC-006", "SRC-011" ], "questions": [ { "id": "q-asof-query", "text": "Given a world-time instant and a record-time instant, can the full unit set, hierarchy and reporting lines be reproduced deterministically?", "kind": "process", "answer_data": [ "query parameters accepted", "determinism guarantee", "excluded elements", "reproduction test result" ] }, { "id": "q-version-identity", "text": "How is a structure version identified so that two consumers can prove they are looking at the same state?", "kind": "identity", "answer_data": [ "structure version identifier", "content digest", "generation timestamp (RFC 3339)", "digest algorithm" ] }, { "id": "q-restatement-support", "text": "Does the model support producing both the pre-reorganization and post-reorganization views of a prior period for comparative reporting?", "kind": "requirement", "answer_data": [ "dual-view supported boolean", "mapping between old and new units", "apportionment method", "limitations" ] }, { "id": "q-history-truncation", "text": "How far back is full reconstruction guaranteed, and what happens to reconstruction after retention-driven deletion?", "kind": "retention", "answer_data": [ "reconstruction horizon", "post-deletion behaviour", "residual summary retained", "disposition authority reference" ] } ], "data_elements": [ { "id": "de-structure-version", "name": "structureVersionId", "description": "Identifier of a reproducible structure state.", "value_kind": "identifier", "cardinality": "1", "required": true, "source_refs": [ "SRC-011" ] }, { "id": "de-content-digest", "name": "contentDigest", "description": "Cryptographic digest over the canonical serialisation of the structure state.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-011" ] }, { "id": "de-asof-params", "name": "asOfParameters", "description": "The world-time and record-time instants that parameterise a reconstruction.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006" ] } ], "artifacts": [ { "id": "structure-as-of-view", "name": "Structure As-Of View", "description": "A frozen, digest-identified export of the complete unit set, hierarchies, reporting lines and mandates valid at a stated world-time and record-time pair.", "media_or_form": [ "frozen dataset export", "graph snapshot", "signed archive" ], "serial": true, "identity_strategy": "Identified by structureVersionId plus the as-of pair; content digest is the integrity anchor. Dates alone are never used as the identifier.", "source_refs": [ "SRC-006", "SRC-009", "SRC-011" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "governance-provenance-and-disclosure", "name": "Governance, Provenance and Disclosure", "description": "Who owns the structure record, what evidences it, how long it is kept, and who may see what.", "rationale": "The parent organization, not a registrar, governs unit structure, so authority, evidence, retention and disclosure must be modelled explicitly. NARA shows disposition authority as a mandatory governed instrument, and ESRS shows external disclosure obligations acting on the same data.", "source_refs": [ "SRC-016", "SRC-015", "SRC-014", "SRC-011" ], "layers": [ { "id": "provenance-and-authority", "name": "Provenance and Record Authority", "description": "Which system and which body are authoritative for each structural assertion, and what evidences it.", "source_refs": [ "SRC-011", "SRC-014", "SRC-002" ], "findings": [ { "id": "record-authority", "name": "Record Authority and Source of Truth", "description": "Unit structure has no external registrar: the parent organization is the sole authority, unlike legal identity where GLEIF and business registers verify against authoritative local sources. Different attributes may nonetheless have different masters - HR for establishment, finance for cost centres, governance secretariat for mandates - so authority is asserted per attribute group, with a declared conflict resolution order.", "source_refs": [ "SRC-013", "SRC-011", "SRC-014" ], "questions": [ { "id": "q-attribute-master", "text": "For each attribute group - identity, hierarchy, mandate, establishment, staffing - which system and which role is the master?", "kind": "ownership", "answer_data": [ "attribute group", "master system reference", "accountable role", "delegation basis" ] }, { "id": "q-conflict-order", "text": "When two systems assert different values for the same attribute, which precedence order applies and who adjudicates a persistent conflict?", "kind": "exception", "answer_data": [ "precedence ordering", "adjudicating role", "adjudication record reference", "resolution deadline" ] }, { "id": "q-external-verification", "text": "Is any part of the structure externally verifiable (a registered branch, a statutory committee), and against which register?", "kind": "evidence", "answer_data": [ "externally verifiable elements", "register reference", "verification date", "verification outcome" ] }, { "id": "q-ingest-provenance", "text": "For an ingested assertion, what are the source system, extraction instant and transformation applied before it reached this model?", "kind": "provenance", "answer_data": [ "source system identifier", "extraction timestamp (RFC 3339)", "transformation description", "operator or agent" ] } ], "data_elements": [ { "id": "de-master-system", "name": "masterSystemRef", "description": "The authoritative system for a given attribute group of the unit.", "value_kind": "reference", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-011" ] }, { "id": "de-accountable-owner", "name": "recordOwnerRole", "description": "The role accountable for the correctness of the structure record.", "value_kind": "reference", "cardinality": "1", "required": true, "source_refs": [ "SRC-014" ] }, { "id": "de-ingest-timestamp", "name": "ingestionTimestamp", "description": "When an externally sourced assertion was ingested, kept separate from its event time.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006" ] } ], "artifacts": [], "inline_only_rationale": "Record authority is metadata attached to each assertion and to the model's stewardship entry in the S1 model; a separate artifact would duplicate the stewardship register that already governs ownership." }, { "id": "evidence-and-validation", "name": "Evidence and Structural Validation", "description": "A structural claim is only operable if it can be checked. Validation covers referential integrity against WM-ORG-001 and WM-ORG-004, acyclicity per hierarchy, temporal consistency, establishment-versus-actual variance, segregation rules and the FHIR-style minimum that an entry must have at least one name or identifier. Results are evidence, with severity and an owner, not silent failures.", "source_refs": [ "SRC-002", "SRC-001", "SRC-014" ], "questions": [ { "id": "q-validation-rules", "text": "Which validation rules apply to a unit record, at which severity, and which of them block a write?", "kind": "validation", "answer_data": [ "rule identifier", "rule expression", "severity", "blocking boolean" ] }, { "id": "q-minimum-record", "text": "What is the minimum viable unit record that may be persisted, and does it require at least one name or identifier?", "kind": "requirement", "answer_data": [ "mandatory field set", "name-or-identifier rule", "provisional record allowance", "completion deadline" ] }, { "id": "q-evidence-attachment", "text": "Which assertions require attached documentary evidence before they are treated as authoritative rather than provisional?", "kind": "evidence", "answer_data": [ "assertion types requiring evidence", "acceptable evidence forms", "evidence reference", "verifier role" ] }, { "id": "q-quality-metrics", "text": "Which quality measures are tracked over the structure graph - orphan rate, stale-record age, unmandated units, over-establishment - and what are their thresholds?", "kind": "quality", "answer_data": [ "metric name and definition", "current value", "threshold", "measurement instant (RFC 3339)" ] } ], "data_elements": [ { "id": "de-validation-rule", "name": "validationRule", "description": "A named, expressible constraint over the structure graph with severity.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-validation-result", "name": "validationResult", "description": "Outcome of evaluating a rule against a unit or the graph, with instant and severity.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002" ] }, { "id": "de-evidence-ref", "name": "evidenceRef", "description": "Reference to a document or record substantiating an assertion.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-014" ] } ], "artifacts": [ { "id": "structure-validation-report", "name": "Structure Validation Report", "description": "Dated report of all rule evaluations over a structure version, listing failures with severity, affected units, owner and remediation state.", "media_or_form": [ "validation report", "structured result set", "issue list" ], "serial": true, "identity_strategy": "Keyed by structureVersionId plus evaluation instant (RFC 3339) plus rule set version; reports are immutable once issued.", "source_refs": [ "SRC-001", "SRC-002", "SRC-014" ] } ], "inline_only_rationale": null } ] }, { "id": "access-and-retention", "name": "Access, Disclosure and Retention", "description": "Controlled release of structure information and its governed disposition.", "source_refs": [ "SRC-015", "SRC-016" ], "findings": [ { "id": "structure-disclosure", "name": "Structure Disclosure and Privacy", "description": "Structure data spans public facts (a published org chart of a public authority under CPOV-style transparency) and sensitive facts (unfilled posts signalling a planned restructuring, or small-unit staffing that identifies individuals). Disclosure is therefore scoped per projection and per audience, and small-cell staffing must be suppressed or aggregated before release.", "source_refs": [ "SRC-003", "SRC-015" ], "questions": [ { "id": "q-disclosure-classes", "text": "Which disclosure classes exist for structure data - public, counterparty, auditor, internal, restricted - and which fields belong to each?", "kind": "access", "answer_data": [ "disclosure class code", "included field set", "excluded field set", "policy reference" ] }, { "id": "q-personal-data", "text": "Which structure fields can identify a natural person, directly or by combination, and what safeguard applies to each?", "kind": "privacy", "answer_data": [ "field name", "identification risk (direct/indirect)", "safeguard applied", "legal basis reference" ] }, { "id": "q-embargo", "text": "Which structural changes are embargoed until announcement, and what is the release trigger and the holder of the embargo?", "kind": "security", "answer_data": [ "embargoed act reference", "embargo end condition", "embargo owner", "leak handling procedure" ] }, { "id": "q-consultation", "text": "Where employee information and consultation duties apply before a reorganization takes effect, how is that dependency represented as a precondition on the act?", "kind": "requirement", "answer_data": [ "jurisdiction", "consultation body reference", "required notice period", "completion evidence" ] } ], "data_elements": [ { "id": "de-disclosure-class", "name": "disclosureClass", "description": "Classification governing who may receive a structure field or projection.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-015" ] }, { "id": "de-embargo-until", "name": "embargoedUntil", "description": "Instant before which a structural change must not be disclosed.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006" ] }, { "id": "de-consultation-ref", "name": "consultationEvidenceRef", "description": "Evidence that a required employee information or consultation step was completed.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-014" ] } ], "artifacts": [ { "id": "structure-disclosure-package", "name": "Structure Disclosure Package", "description": "A scoped, audience-specific release of structure information with suppression rules applied, listing exactly which fields were included, redacted and suppressed.", "media_or_form": [ "scoped export", "redaction manifest", "shared dataset" ], "serial": true, "identity_strategy": "Keyed by structureVersionId plus disclosure class plus release instant (RFC 3339); the redaction manifest digest binds the package to the rules that produced it.", "source_refs": [ "SRC-015", "SRC-003" ] } ], "inline_only_rationale": null }, { "id": "retention-and-disposition", "name": "Retention and Disposition", "description": "Structure records have long evidential value: lineage must outlive the units it links, because historical references keep resolving. Retention should follow a governed disposition authority rather than ad hoc deletion - NARA's model is that use of the General Records Schedules 'is mandatory' and agencies must justify any agency-specific schedule. Deletion must be reconciled with the bitemporal reconstruction guarantee.", "source_refs": [ "SRC-016", "SRC-011" ], "questions": [ { "id": "q-disposition-authority", "text": "Which disposition authority or retention schedule governs each class of structure record, and who approved it?", "kind": "retention", "answer_data": [ "schedule identifier", "record class", "retention period", "approving authority" ] }, { "id": "q-permanent-records", "text": "Which structure records are permanent or archival - founding acts, lineage edges, mandate instruments - and which are transitory?", "kind": "classification", "answer_data": [ "record class", "permanent/temporary flag", "appraisal rationale", "transfer destination" ] }, { "id": "q-deletion-vs-lineage", "text": "How is deletion of a unit record reconciled with the need to keep lineage edges resolvable for historical references?", "kind": "constraint", "answer_data": [ "tombstone retention rule", "minimum retained fields", "resolution behaviour after deletion", "exception process" ] }, { "id": "q-legal-hold", "text": "How does a legal hold suspend disposition for affected structure records, and how is the hold released and evidenced?", "kind": "exception", "answer_data": [ "hold identifier", "scope of records", "imposing authority", "release evidence" ] } ], "data_elements": [ { "id": "de-retention-class", "name": "retentionClass", "description": "Record class determining the applicable retention period and disposition action.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-016" ] }, { "id": "de-disposition-action", "name": "dispositionAction", "description": "Action at end of retention: destroy, transfer to archive, or review.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-016" ] }, { "id": "de-legal-hold", "name": "legalHoldRef", "description": "Reference to a hold suspending disposition for the record.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-016" ] } ], "artifacts": [ { "id": "disposition-schedule", "name": "Structure Disposition Schedule", "description": "The approved schedule binding each class of structure record to a retention period, disposition action and appraisal rationale, including permanent classes such as founding acts and lineage.", "media_or_form": [ "retention schedule", "governed table", "policy annex" ], "serial": true, "identity_strategy": "Identified by the approving records authority's schedule reference plus version; supersession is recorded explicitly rather than by overwrite.", "source_refs": [ "SRC-016" ] } ], "inline_only_rationale": null } ] }, { "id": "external-alignment", "name": "External Alignment", "description": "Mapping to external vocabularies and controlling fidelity loss on export.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-008" ], "findings": [ { "id": "standards-crosswalk", "name": "Standards Crosswalk", "description": "The unit maps outward to org:OrganizationalUnit with org:unitOf/org:subOrganizationOf, to CPOV hasUnit for public bodies, to a FHIR Organization with partOf and type, to LDAP organizationalUnit with ou, to SCIM department/division, to schema.org department/parentOrganization with iso6523Code, and to an ISO/IEC 6523 ICD plus organization part identifier for e-business addressing. Each mapping is an alignment claim with a direction and a fidelity note, never a conformance claim.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-007", "SRC-008" ], "questions": [ { "id": "q-mapping-target", "text": "For each external target vocabulary, which local element maps to which term, in which direction, and with what cardinality mismatch?", "kind": "interoperability", "answer_data": [ "target vocabulary and version", "source element", "target term IRI or path", "direction", "cardinality note" ] }, { "id": "q-conformance-claim", "text": "Is a conformance claim being made against any target, and if so what evidence - a passing test suite or a validation profile - supports it?", "kind": "evidence", "answer_data": [ "claim scope", "evidence artifact reference", "test suite version", "result" ] }, { "id": "q-semantic-conflicts", "text": "Where do target vocabularies disagree with this model - for instance schema.org conflating department with subsidiary, or FHIR having no distinct unit class - and how is the disagreement recorded?", "kind": "constraint", "answer_data": [ "conflict description", "affected elements", "chosen resolution", "consumer warning text" ] }, { "id": "q-version-drift", "text": "How are target vocabulary version changes detected, and what is the review cadence for the crosswalk?", "kind": "lifecycle", "answer_data": [ "monitored version endpoints", "review cadence", "last review instant (RFC 3339)", "responsible role" ] } ], "data_elements": [ { "id": "de-mapping-entry", "name": "crosswalkEntry", "description": "One directional mapping between a local element and an external term, with fidelity note.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-002", "SRC-003" ] }, { "id": "de-target-version", "name": "targetVocabularyVersion", "description": "The exact version of the external vocabulary the mapping was validated against.", "value_kind": "text", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-008" ] }, { "id": "de-conformance-claim", "name": "conformanceClaim", "description": "Explicit statement of whether conformance is claimed and on what evidence.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002" ] } ], "artifacts": [ { "id": "crosswalk-map", "name": "Crosswalk Map", "description": "Machine-readable mapping table from this model's elements to W3C ORG, CPOV, FHIR, LDAP, SCIM, schema.org and ISO/IEC 6523 terms, with direction, fidelity notes and target versions.", "media_or_form": [ "mapping table", "structured alignment set", "transformation ruleset" ], "serial": true, "identity_strategy": "Keyed by model version plus target vocabulary identifier plus target version; a new target version produces a new serial mapping instance.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-007", "SRC-008" ] } ], "inline_only_rationale": null }, { "id": "projection-fidelity", "name": "Projection Fidelity and Lossy Export", "description": "Exports lose information in predictable ways: LDAP 'ou' and SCIM 'department' carry only names, so identifier, kind, validity period, mandate and reporting type vanish; org charts drop mandate and staffing; segment reports aggregate units away. A projection must declare what it drops and must never be re-imported as authoritative, or the lossy copy will silently overwrite the governed record.", "source_refs": [ "SRC-004", "SRC-005", "SRC-009", "SRC-001" ], "questions": [ { "id": "q-projection-loss", "text": "For each defined projection, which elements are omitted, flattened or aggregated, and is that loss declared to consumers?", "kind": "quality", "answer_data": [ "projection name", "omitted elements", "flattened elements", "loss declaration text" ] }, { "id": "q-reimport-rule", "text": "May any projection be re-imported as a source of truth, and what guard prevents an accidental round-trip overwrite?", "kind": "constraint", "answer_data": [ "re-import permitted boolean", "guard mechanism", "reconciliation-only pathway", "violation handling" ] }, { "id": "q-projection-freshness", "text": "How stale may a projection be before consumers must be warned, and how is its generation instant and source version published with it?", "kind": "temporal", "answer_data": [ "maximum staleness", "generation instant (RFC 3339)", "source structureVersionId", "staleness warning mechanism" ] } ], "data_elements": [ { "id": "de-projection-name", "name": "projectionName", "description": "Identifier of a defined outward view over the structure.", "value_kind": "identifier", "cardinality": "1", "required": true, "source_refs": [ "SRC-001" ] }, { "id": "de-loss-manifest", "name": "lossManifest", "description": "Declared list of elements omitted, flattened or aggregated by a projection.", "value_kind": "collection", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-004", "SRC-005" ] }, { "id": "de-projection-source-version", "name": "sourceStructureVersion", "description": "The structure version a projection was generated from.", "value_kind": "reference", "cardinality": "1", "required": true, "source_refs": [ "SRC-011" ] } ], "artifacts": [], "inline_only_rationale": "Projections are realised by the org chart, reporting matrix, as-of view and disclosure package artifacts already defined; this finding governs their fidelity metadata rather than producing a further artifact." } ] } ] } ] }, "functions": [ { "id": "resolve-unit-identity", "name": "Resolve Unit Identity", "description": "Resolve any inbound reference - master-system identifier, ISO/IEC 6523 organization part identifier, alias, former name, LDAP distinguished name or IdP group id - to the single current unit record or to a tombstone with a successor pointer.", "inputs": [ "candidate identifier or name string", "identifier scheme hint", "parent organization identifier", "as-of instant (RFC 3339)" ], "outputs": [ "resolved unitIdentifier or tombstone", "resolution confidence and method", "successor unit reference where applicable" ], "preconditions": [ "The unit register is loaded for the stated parent organization", "The alias and lineage indexes cover the requested as-of instant" ], "effects": [ "Emits a resolution audit entry with the input, method and outcome", "Never mutates the unit record" ], "source_refs": [ "SRC-001", "SRC-007", "SRC-011", "SRC-012" ] }, { "id": "validate-structure-graph", "name": "Validate Structure Graph", "description": "Evaluate integrity rules over a structure version: acyclicity within each named hierarchy, single parent per hierarchy per validity interval, no orphans, referential integrity to WM-ORG-001 and WM-ORG-004, temporal gap and overlap rules, and segregation-of-duties constraints.", "inputs": [ "structureVersionId", "rule set identifier and version", "severity threshold" ], "outputs": [ "validation result set with severity per finding", "blocking/non-blocking verdict" ], "preconditions": [ "The structure version is fully materialised and immutable", "The rule set version is published and resolvable" ], "effects": [ "Produces a Structure Validation Report artifact", "May block a pending write when blocking failures are present" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-014" ] }, { "id": "reconstruct-structure-as-of", "name": "Reconstruct Structure As Of", "description": "Return the unit set, hierarchies, reporting lines and mandates valid at a given world-time instant as recorded at a given record-time instant, producing a deterministic, digest-identified view.", "inputs": [ "world-time instant (RFC 3339)", "record-time instant (RFC 3339)", "hierarchy identifiers to include", "disclosure class" ], "outputs": [ "Structure As-Of View with structureVersionId and content digest", "list of elements excluded by disclosure class" ], "preconditions": [ "Bitemporal stamps exist on all included assertions", "The requested instants fall inside the reconstruction horizon" ], "effects": [ "Materialises a frozen, immutable as-of export", "Records the query parameters and digest for reproducibility" ], "source_refs": [ "SRC-006", "SRC-009", "SRC-011" ] }, { "id": "apply-reorganization-act", "name": "Apply Reorganization Act", "description": "Apply an evidenced structural change - establish, rename, reclassify, reparent, merge, split, transfer or disband - creating lineage edges, closing and opening validity intervals, and registering downstream obligations.", "inputs": [ "reorganization act record with kind and affected units", "decision, effective and record timestamps (RFC 3339)", "deciding authority and evidence reference", "consultation evidence where required" ], "outputs": [ "updated unit records with closed and opened validity intervals", "new lineage edges", "list of triggered downstream obligations" ], "preconditions": [ "The deciding body holds the delegated authority for the act kind", "Pre-commit validation passes or an approved override exists", "Any jurisdictional consultation precondition is evidenced as complete" ], "effects": [ "Mutates the structure graph as of the effective instant", "Produces a Reorganization Decision Record artifact", "Notifies segment reporting, directory provisioning and contract owners" ], "source_refs": [ "SRC-001", "SRC-009", "SRC-011", "SRC-014" ] }, { "id": "derive-org-chart", "name": "Derive Org Chart Projection", "description": "Generate a hierarchy view for a named hierarchy at an as-of instant, containing unit names and kinds only, with mandate detail and staffing deliberately excluded.", "inputs": [ "hierarchy identifier", "as-of instant (RFC 3339)", "root unit identifier", "maximum depth" ], "outputs": [ "Organization Chart Projection artifact", "loss manifest declaring omitted elements" ], "preconditions": [ "The named hierarchy exists and has valid edges at the as-of instant", "The requesting principal holds read scope for the hierarchy" ], "effects": [ "Emits a serial projection instance bound to its source structure version", "Marks the output as non-authoritative and non-reimportable" ], "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "evaluate-mandate-conflict", "name": "Evaluate Mandate Conflict", "description": "Detect overlapping or incompatible remits across units and breaches of authority limits or independence requirements, before or after a proposed structural change.", "inputs": [ "proposed or current structure version", "mandate scope assertions", "segregation and independence rule set" ], "outputs": [ "conflict findings with affected units and rule references", "recommended resolution or required waiver" ], "preconditions": [ "Mandates are expressed with structured scope, not narrative only", "The rule set encodes incompatible mandate pairs" ], "effects": [ "Records conflicts as validation findings with severity", "Triggers a waiver workflow when an exception is sought" ], "source_refs": [ "SRC-014", "SRC-001", "SRC-003" ] }, { "id": "compute-headcount-rollup", "name": "Compute Headcount Rollup", "description": "Aggregate staffing measurements up a named hierarchy under a declared counting basis and period convention, applying suppression where a cell falls below the minimum size.", "inputs": [ "hierarchy identifier", "as-of date", "counting basis (headcount or FTE)", "period convention", "minimum cell size" ], "outputs": [ "rolled-up figures per unit with basis and period stated", "suppression markers distinguishing suppressed values from true zeros" ], "preconditions": [ "Underlying snapshots share a compatible basis and population definition", "The minimum cell size policy is resolved for the audience" ], "effects": [ "Appends to the Headcount Snapshot Series artifact", "Logs each suppression with the rule applied" ], "source_refs": [ "SRC-015", "SRC-006" ] }, { "id": "reconcile-external-directory", "name": "Reconcile External Directory", "description": "Compare LDAP or SCIM representations of units against the governed structure, report drift, and push corrections outward without ever accepting the directory as a source of truth.", "inputs": [ "directory export (LDAP entries or SCIM Groups and Enterprise User attributes)", "current structure version", "name-matching policy" ], "outputs": [ "drift report of name, membership and hierarchy differences", "outbound correction plan" ], "preconditions": [ "A mapping from unit identifiers to directory distinguished names or group ids exists", "The directory export carries a generation timestamp" ], "effects": [ "Never mutates the governed structure from directory content", "Queues outbound provisioning changes and records unresolved name-only matches" ], "source_refs": [ "SRC-004", "SRC-005" ] }, { "id": "emit-standards-mapping", "name": "Emit Standards Mapping", "description": "Serialise the structure into a target vocabulary - W3C ORG, CPOV, FHIR Organization, schema.org, or an ISO/IEC 6523 party identifier - using the versioned crosswalk and attaching a fidelity declaration.", "inputs": [ "structureVersionId", "target vocabulary identifier and version", "scope filter", "disclosure class" ], "outputs": [ "target-vocabulary serialisation", "fidelity and non-conformance declaration" ], "preconditions": [ "A crosswalk entry exists for every included element and target version", "No conformance claim is asserted without a referenced test result" ], "effects": [ "Produces a serial export bound to the crosswalk version used", "Records any element dropped for lack of a target term" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-007", "SRC-008" ] }, { "id": "apply-disposition", "name": "Apply Disposition", "description": "Execute the approved retention schedule over structure records: destroy, transfer to archive or flag for review, while preserving the tombstones and lineage edges required for historical reference resolution.", "inputs": [ "retention class", "disposition schedule reference and version", "evaluation date", "active legal holds" ], "outputs": [ "disposition action log per record", "list of records retained under hold or as permanent" ], "preconditions": [ "A governed disposition authority covers every record class in scope", "No legal hold applies to the record", "Tombstone and lineage minimums are defined" ], "effects": [ "Irreversibly removes or transfers eligible records", "Reduces the reconstruction horizon and records the new horizon", "Preserves lineage edges and tombstones for resolvability" ], "source_refs": [ "SRC-016", "SRC-011" ] }, { "id": "assign-unit-mandate", "name": "Assign mandate", "description": "Attach or withdraw a remit, purpose code and delegation source on a unit for a validity interval.", "inputs": [ "unit-master-id", "purpose-text", "purpose-code", "delegation-source-id", "mandate-valid-from" ], "outputs": [ "unit-mandate-record" ], "preconditions": [ "An effective time is supplied and, where the change is material, an authorizing framework is referenced." ], "effects": [ "A remit, purpose code and delegation source are attached to or withdrawn from the unit for the stated validity interval." ], "source_refs": [ "SRC-017", "SRC-003" ] }, { "id": "seat-post-in-unit", "name": "Seat post in unit", "description": "Create or attach an established post in a unit independently of any holder. Occupancy is not performed here.", "inputs": [ "unit-master-id", "post-label", "post-role-id", "post-valid-from" ], "outputs": [ "establishment-register" ], "preconditions": [ "The acting party is the designated establishment function of the parent organization." ], "effects": [ "An established post exists in the unit independently of any holder, and no occupancy or employment fact is asserted." ], "source_refs": [ "SRC-017", "SRC-020" ] }, { "id": "assert-reporting-line", "name": "Assert reporting line", "description": "Record a supervisory or dotted-line reporting edge between units or posts with validity.", "inputs": [ "source-id", "reports-to-id", "reports-to-kind", "reporting-valid-from" ], "outputs": [ "org-chart-edge" ], "preconditions": [], "effects": [ "A supervisory or dotted-line reporting edge exists between the source and target for the stated validity interval, without altering containment." ], "source_refs": [ "SRC-017" ] }, { "id": "record-staffing-snapshot", "name": "Record staffing snapshot", "description": "Store a dated established and filled count for a unit with basis and observation time. Treat as an extension until a primary unit-level metric standard is cited.", "inputs": [ "unit-master-id", "as-of-time", "established-count", "filled-count", "count-basis" ], "outputs": [ "staffing-snapshot-record" ], "preconditions": [], "effects": [ "A dated established and filled count is appended for the unit with basis and observation time, without rewriting structure." ], "source_refs": [ "SRC-023", "SRC-017" ] } ], "composition": [ { "target": "WM-ORG-001 Organization", "relation": "REFERENCE", "purpose": "Every unit resolves to exactly one parent organization, which holds legal identity, registration and external identifiers. W3C ORG grounds the dependency: a unit 'only has full recognition within the context of that Organization'.", "required": true, "source_refs": [ "SRC-001", "SRC-013" ] }, { "target": "WM-ORG-004 Position", "relation": "CHILD", "purpose": "Units contain or govern established posts. This model holds the establishment count, seating and unit-level occupancy; the post as an object that 'exists independently of who fills it' is defined in WM-ORG-004.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "Employment / role assignment model", "relation": "REFERENCE", "purpose": "Employment records fill the posts seated in a unit and are the derivation source for unit-level occupancy counts; persons and contracts never enter this model.", "required": false, "source_refs": [ "SRC-001", "SRC-005" ] }, { "target": "Charter / constitutive powers model", "relation": "REFERENCE", "purpose": "Unit mandates trace upward to powers held by the organization; ISO 37000 requires delegation to be formalized and delegators to remain accountable, so the upstream power must be resolvable.", "required": false, "source_refs": [ "SRC-014" ] }, { "target": "Site / Location model", "relation": "REFERENCE", "purpose": "A unit may be associated with one or more premises, but FHIR keeps Location distinct from Organization and Eurostat's local unit is a geographic statistical construct, so premises are referenced rather than embedded.", "required": false, "source_refs": [ "SRC-002", "SRC-010" ] }, { "target": "Stewardship model (S1)", "relation": "MIX-IN", "purpose": "The parent organization owns the structure record and units have no independent standing; ownership, custodianship and accountability facets come from the stewardship model.", "required": true, "source_refs": [ "SRC-014", "SRC-013" ] }, { "target": "Access grant model (S2)", "relation": "REFERENCE", "purpose": "Disclosure classes defined here are enforced by grants issued in the access model; this model supplies the scoped projections and suppression parameters, not the grant machinery.", "required": true, "source_refs": [ "SRC-015", "SRC-003" ] }, { "target": "Audit trail model (S4)", "relation": "MIX-IN", "purpose": "Reorganization acts, mandate changes, waivers and disposition actions require immutable audit facets with separate event and record timestamps.", "required": true, "source_refs": [ "SRC-006", "SRC-016" ] }, { "target": "W3C Organization Ontology (org:)", "relation": "ALIGN", "purpose": "Primary structural alignment for OrganizationalUnit, hasUnit/unitOf, subOrganizationOf, purpose, classification, Post, Site and ChangeEvent. Unit-to-unit reportsTo is declared an extension, since org:reportsTo binds Agents and Posts.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "Core Public Organisation Vocabulary (CPOV) v2.1.2", "relation": "ALIGN", "purpose": "Public-sector profile alignment for hasUnit, code-valued purpose (COFOG), classification and spatial coverage; applicable only where the parent organization is a public body.", "required": false, "source_refs": [ "SRC-003" ] }, { "target": "HL7 FHIR Organization / OrganizationAffiliation (R5)", "relation": "ALIGN", "purpose": "Healthcare-sector projection where departments are Organization instances chained by partOf and non-hierarchical relations use OrganizationAffiliation; a known structural conflict with the distinct-unit-class model.", "required": false, "source_refs": [ "SRC-002" ] }, { "target": "ISO/IEC 6523 organization part identification (via Peppol ICD registry)", "relation": "ALIGN", "purpose": "External addressing of a unit as an organization part under the parent's ICD and organization identifier, used for e-business party and delivery-location identification.", "required": false, "source_refs": [ "SRC-007", "SRC-008" ] }, { "target": "LDAP (RFC 4519) and SCIM (RFC 7643) directory schemas", "relation": "ALIGN", "purpose": "Outbound-only projection targets. Both carry unit information as names without identifiers, validity or typed edges, so alignment is declared lossy and re-import is prohibited.", "required": false, "source_refs": [ "SRC-004", "SRC-005" ] }, { "target": "Statistical units framework (Council Regulation (EEC) No 696/93)", "relation": "ALIGN", "purpose": "Mapping of internal units to enterprise, kind-of-activity unit and local unit for statistical reporting, recorded as a derivation with explicit boundary mismatch rather than as equivalence.", "required": false, "source_refs": [ "SRC-010" ] }, { "target": "IFRS 8 operating segment determination", "relation": "ALIGN", "purpose": "The internal reporting hierarchy is an input to segment identification under the management approach, and reorganization acts trigger the restate-or-disclose obligation; segment determination itself stays outside this model.", "required": false, "source_refs": [ "SRC-009" ] } ], "serviceLayers": { "dimension": { "owner_package_requirements": [ "The adopting Dimension must name a single parent organization as owner of every unit record; units have no independent standing and cannot own their own structure entry.", "The Dimension must declare, per attribute group (identity, hierarchy, mandate, establishment, staffing), which system is master and publish the precedence order used to resolve conflicting assertions.", "The Dimension must publish a governed unit-kind code list, a status vocabulary and a named hierarchy inventory before any unit record is accepted.", "The Dimension must bind every structure record class to an approved disposition authority and declare its bitemporal reconstruction horizon.", "The Dimension must declare its minimum cell size for staffing disclosure and the audience classes to which each projection may be released." ], "namespace_guidance": "Use a Dimension-scoped namespace of the form /org-unit/ with unit identifiers qualified by the parent organization identifier, since unit identifiers are only unique inside their parent. Do not mint global IRIs implying registry status: ROR and GLEIF do not identify internal subdivisions. Where external addressing is needed, compose an ISO/IEC 6523 triple (ICD:organizationIdentifier:organizationPartIdentifier) rather than inventing a new global scheme. Keep hierarchy, reporting-line and mandate edge types in distinct sub-namespaces so that concurrent hierarchies remain separable.", "registry_links": [ "vr.wm-org-002 (this model) under nav path NAV.SOC.ORG.UNT", "vr.wm-org-001 Organization - required parent reference for every unit", "vr.wm-org-004 Position - contained model for established posts", "Governed unit-kind code list registered as a Dimension classifier entry", "ISO/IEC 6523 ICD registry as referenced through the Peppol code list" ] }, "canon_and_patch": { "canonicalization_rules": [ "Serialise timestamps as RFC 3339 with seconds and an explicit offset or 'Z'; use '-00:00' only where the UTC instant is known but the local offset is not.", "Order collections deterministically before digesting: units by unitIdentifier, edges by (hierarchyIdentifier, parent, child, validFrom), aliases by (type, language, validFrom).", "Normalise names with Unicode NFC and preserve original casing and script; never fold case for identity purposes.", "Represent open-ended validity by an explicit open marker rather than by a sentinel far-future date, so that digests do not change when conventions change.", "Exclude derived elements (hierarchyPath, rollup counts, projections) from the canonical form; recompute them from asserted edges." ], "patch_rules": [ "Correcting a mistaken record and recording a real-world change are different operations: corrections adjust record time only, reorganizations open and close world-time intervals.", "A reorganization patch must carry decision, effective and record timestamps and must reference the deciding authority; a patch missing any of the three is rejected.", "Patches are additive over the bitemporal store: no assertion is overwritten in place, and superseded intervals remain retrievable until disposition.", "Identifier fields, lineage edges and issued artifacts are immutable; changing them requires a new record with an explicit supersession edge.", "Backdated patches beyond the declared window require named approval and are marked so consumers can detect retroactive change." ], "compatibility_rules": [ "Adding an optional element, a new named hierarchy or a new code value is a minor change; removing an element, tightening cardinality or retiring a code value is a major change.", "Retired unit-kind and status codes are deprecated with a successor mapping and never removed from the published code list.", "Crosswalk entries are versioned against an exact target vocabulary version; a target version bump requires a new crosswalk instance and a review, not an in-place edit.", "Conformance to an external standard is asserted only with a referenced test result; where a target lacks a term (for example unit-to-unit reportsTo in W3C ORG), the export declares non-conformance rather than silently coercing.", "Projections never round-trip: a consumer may not submit an org chart, LDAP or SCIM export back as a source of truth." ] }, "artifact_rules": { "identity_priority": [ "Authoritative master-system identifier assigned by the parent organization (unit register key, official decision reference, approved schedule reference).", "Governed global identifier or IRI where one genuinely exists - an ISO/IEC 6523 ICD plus organization identifier plus organization part identifier, or an LEI where the subdivision is itself a registered legal entity.", "UUID or ULID minted by the adopting Dimension, with the minting act recorded, used only when neither of the above exists.", "A date, a name, an org-chart position or a cost centre code is never an identifier; at most they are qualifiers on an identifier." ], "timestamp_rule": "All time values use RFC 3339 with seconds and an explicit UTC offset or 'Z'. Event time (decision instant, effective instant, snapshot as-of date) and observation time (computation, ingestion, record instant) are recorded as separate fields and never conflated; '-00:00' is reserved for a known UTC instant with unknown local offset.", "serial_naming_rule": "Serial artifacts are named ------v, where scope-key is the organization identifier plus any hierarchy, basis or target-vocabulary qualifier. The instant qualifies but never replaces the identifier, and the sequence disambiguates multiple instances sharing an instant.", "integrity_rule": "Every issued artifact carries a content digest over its canonical serialisation, the structureVersionId it was derived from, the rule-set or crosswalk version applied, and its loss manifest where it is a projection. Issued artifacts are immutable: corrections are new serial instances that reference the superseded one, and any artifact whose digest does not verify is treated as unusable rather than as merely stale." }, "policies": [ "The parent organization is the sole authority for unit structure; no downstream system, directory or projection may originate or overwrite a structural assertion.", "Reorganization is an evidenced act, not an attribute edit: every change to existence, parentage, kind or mandate requires a decision record with authority, evidence and three distinct timestamps.", "Unit-level staffing is published only above the declared minimum cell size, with suppression markers distinguishing suppressed values from true zeros.", "Delegated authority must be formalized with stated limits and an assurance process, and no unit may be held accountable for matters over which it holds no authority.", "Lineage edges and tombstones outlive the units they connect, so that historical references remain resolvable after disbandment.", "External standard mappings are alignments; conformance is claimed only with referenced test evidence, and known conflicts are published with the mapping.", "Parent-organization ownership: unit records are created, changed and retired under the parent organization's authority, not by the unit itself.", "Stable identity: a new master identifier or IRI is minted only when the resulting body is sufficiently distinct; otherwise update name, parent, kind or status in time.", "Structure versus people: organization-chart disclosure defaults to units, kinds and reporting lines; person names, grades and headcount require an explicit grant.", "Time discipline: valid-from, valid-to, decision-time and observed-at are never collapsed into a single date field, and a date is never used as an identifier." ], "crud": { "read": [ "Read the current unit record, its hierarchy position and its reporting lines within the requester's disclosure class.", "Reconstruct any past structure state by world-time and record-time instant within the declared reconstruction horizon.", "Read mandate, authority limits and establishment only with the corresponding scope; staffing figures only above the minimum cell size.", "Resolve an alias, former name or external identifier to the current unit or to a tombstone with a successor pointer." ], "create": [ "Create a unit only with a parent organization reference, at least one name or identifier, a kind code from the governed list and an effective instant.", "Create a reorganization act with kind, affected units and roles, deciding authority, evidence reference and decision, effective and record timestamps.", "Create a headcount snapshot only with a declared counting basis, population definition, as-of date and observation timestamp.", "Create a mandate only with a resolvable delegating instrument and a validity period." ], "update": [ "Update names, aliases and contact-style attributes directly, with record-time versioning and an actor reference.", "Change existence, parentage, kind or mandate only through a reorganization act; direct edits to those fields are rejected.", "Correct erroneous records through a record-time correction that preserves the prior belief rather than overwriting it.", "Supersede an establishment table, authority schedule or disposition schedule by issuing a new version with an explicit predecessor link." ], "delete": [ "Do not delete units to represent cessation: disband them through an act and retain the tombstone with lineage edges intact.", "Withdraw records created in error using the withdrawn status with a reason, keeping the distinction from real-world cessation.", "Destroy or transfer structure records only under an approved disposition authority, with no active legal hold, recording the action per record.", "After disposition, publish the reduced reconstruction horizon and retain the minimum tombstone fields needed for reference resolution." ] }, "roles": [ { "name": "Structure Owner (parent organization governing body)", "responsibilities": [ "Holds ultimate accountability for the structure record and approves the delegation of authority schedule.", "Approves reorganization acts that create, merge, transfer or disband units.", "Resolves persistent conflicts between attribute masters." ] }, { "name": "Structure Steward", "responsibilities": [ "Maintains the unit register, the kind code list, the status vocabulary and the named hierarchy inventory.", "Applies reorganization acts, opens and closes validity intervals and maintains lineage edges.", "Runs validation, triages findings and tracks remediation to closure." ] }, { "name": "Mandate and Delegation Custodian", "responsibilities": [ "Records mandates and authority limits against their delegating instruments and assurance processes.", "Detects overlapping remits and segregation-of-duties breaches and manages time-bounded waivers.", "Reviews delegation formalisation before a reorganization act is approved." ] }, { "name": "Workforce Data Custodian", "responsibilities": [ "Defines counting bases and population definitions and produces dated headcount and FTE snapshots.", "Reconciles authorized establishment against actual staffing and escalates variance breaches.", "Applies minimum cell size suppression and logs each suppression decision." ] }, { "name": "Records and Disclosure Officer", "responsibilities": [ "Binds record classes to an approved disposition authority and executes disposition under legal-hold checks.", "Approves disclosure packages, embargoes and audience-specific projections.", "Maintains the redaction manifest and the reconstruction horizon statement." ] }, { "name": "Interoperability Custodian", "responsibilities": [ "Maintains crosswalks to W3C ORG, CPOV, FHIR, LDAP, SCIM, schema.org and ISO/IEC 6523 with exact target versions.", "Monitors target vocabulary version drift and schedules crosswalk reviews.", "Guards against projection round-trips and publishes loss manifests with every export." ] } ], "access": { "default_rule": "Deny by default. A principal receives only the elements permitted by its disclosure class for the requested scope; unit identity, name, kind and containment position are the widest normally granted set, while mandate detail, authority limits, establishment and staffing require additional explicit scope.", "scopes": [ "bundle", "layer", "finding", "artifact" ], "exceptions": [ "Public authorities may be obliged to publish their unit structure and purpose, so a public disclosure class may expose identity, name, kind, purpose and hierarchy without individual grant.", "Auditors and assurance providers receive read access to mandate, authority limits and validation reports for a bounded engagement period without staffing detail below the minimum cell size.", "Embargoed reorganization acts are withheld from all classes except the deciding body and named preparers until the release trigger, even from principals who otherwise hold structure read scope.", "Employee representative bodies may receive advance access to a proposed reorganization where a jurisdictional information and consultation duty applies, ahead of general disclosure.", "Emergency break-glass read of full structure requires named approval, is time-boxed, and is reported to the Structure Owner after the fact.", "Classified, embargoed or security-sensitive units may be omitted from all external projections until an exception expires.", "Works-council, whistleblowing or legally privileged overlays are not disclosed through this model.", "LDAP userPassword and any authentication secret MUST NOT be stored or projected as unit context." ], "audit_requirements": [ "Log every read of mandate, authority limit, establishment and staffing elements with principal, scope, purpose and RFC 3339 timestamp.", "Log every reorganization act application with the three timestamps, deciding authority, evidence reference and validation verdict.", "Log every suppression, redaction and embargo decision with the rule applied, so a consumer can distinguish suppression from absence.", "Log every disposition action with the schedule reference, hold check outcome and the resulting reconstruction horizon.", "Retain audit entries under the same disposition authority as the records they describe and never below the reconstruction horizon.", "Create, reparent, merge, split, disband, mandate assignment and disclosure grants MUST be auditable with actor, event time and observation time.", "Read of excepted units SHOULD be auditable." ] }, "agents_bootstrap": { "filename": "AGENTS.md", "required_fields": [ "Name", "Type", "Specification URL", "Storage type URL", "Interface URL", "Processes URL", "Registry ID", "Model ID", "Version", "Parent Organization Scope", "Disclosure Classes", "Reconstruction Horizon" ], "read_order": [ "AGENTS.md - identify the model, its type and the four resolvable URLs before any other action", "Specification URL - read scope, boundaries and the bundle/layer/finding structure to learn what this model does and does not own", "Storage type URL - learn the concrete projection (JSON, YAML, Markdown, Git, MongoDB or other) and the canonicalization rules; treat the projection as non-semantic", "Interface URL - learn the read, create, update and delete operations, their scopes and the deny-by-default access rule", "Processes URL - learn the reorganization, validation, snapshot, disclosure and disposition procedures and their preconditions", "Governed code lists and hierarchy inventory - resolve unit kinds, status vocabulary and named hierarchies before writing any record", "Crosswalk map - consult before emitting to any external vocabulary and honour the declared fidelity and non-conformance notes" ] } }, "coverage": { "claim": "Covers the internal organizational unit as an entity: parent-scoped identity and classification, containment and concurrent hierarchies, reporting and non-hierarchical affiliation, mandate and delegated authority limits, establishment and unit-grain staffing measurement, evidenced structural change with bitemporal validity and as-of reconstruction, plus provenance, retention, disclosure and crosswalk rules. Grounded chiefly in W3C ORG, CPOV 2.1.2, FHIR R5, RFC 4519/7643/3339, ISO/IEC 6523 as deployed by Peppol, schema.org, IFRS 8, ESRS S1, ISO 37000 committee material and NARA disposition practice, with two imported W3C ORG-anchored refinements from the secondary provider. Several nodes rest on interpretation rather than normative clause text, unit-grain staffing measurement is extension-grade, and no claim of universal or metaphysical completeness is made.", "confidence": "medium", "checklist": [ { "dimension": "identity", "status": "covered", "notes": "Parent-scoped master identifiers are treated as primary; ISO/IEC 6523 organization part identification supplies the external addressing slot; UUID/ULID is the explicit fallback. Grounded in W3C ORG, Peppol's ICD registry and schema.org iso6523Code. Falsified the assumption of a global unit registry using ROR's stated scope exclusion and GLEIF's legal-entity-only remit." }, { "dimension": "lifecycle", "status": "covered", "notes": "Status vocabulary separates operating, ceased and created-in-error following ROR's active/inactive/withdrawn distinction; transitions requiring a reorganization act are distinguished from corrections; tombstoning is mandated so lineage outlives units." }, { "dimension": "relationships", "status": "covered", "notes": "Containment, concurrent hierarchies, reporting lines and non-hierarchical affiliations are separated, following W3C ORG's split of hasUnit/subOrganizationOf from reportsTo and FHIR's split of partOf from OrganizationAffiliation. Unit-to-unit reporting is flagged as an extension, not conformant use." }, { "dimension": "temporal", "status": "covered", "notes": "Bitemporality is mandatory: world-time validity and record-time transaction intervals on every assertion; decision, effective and record instants on every act; RFC 3339 with explicit offset and the '-00:00' unknown-offset convention. As-of reconstruction is tied to IFRS 8's restate-or-disclose obligation." }, { "dimension": "provenance", "status": "covered", "notes": "Per-attribute-group master systems with a declared precedence order, ingestion timestamps separate from event time, evidence attachment requirements for authoritative assertions, and lineage edges carrying the act that created them." }, { "dimension": "ownership", "status": "covered", "notes": "The parent organization is the sole owner; units have no independent standing. Accountable role modelled as a post/role slot rather than a person, and ISO 37000's rule that delegators remain accountable is carried into the authority-limit finding." }, { "dimension": "validation", "status": "covered", "notes": "Explicit rule classes: acyclicity per hierarchy, single parent per hierarchy per interval, referential integrity to WM-ORG-001 and WM-ORG-004, gap/overlap policy, FHIR's name-or-identifier minimum, and segregation constraints. Results are issued as an immutable report artifact with severity and blocking semantics." }, { "dimension": "access", "status": "covered", "notes": "Deny by default with bundle/layer/finding/artifact scopes; disclosure classes per projection; embargo on unannounced reorganization; break-glass is time-boxed and reported. Public-authority transparency is handled as a declared exception rather than as the default." }, { "dimension": "retention and deletion", "status": "covered", "notes": "Disposition follows an approved authority on the NARA model where schedule use is mandatory; permanent classes (founding acts, lineage, mandate instruments) are distinguished from transitory ones; deletion is reconciled with the reconstruction horizon and with tombstone resolvability; legal holds suspend disposition." }, { "dimension": "interoperability", "status": "covered", "notes": "Versioned crosswalks to W3C ORG, CPOV, FHIR, LDAP, SCIM, schema.org and ISO/IEC 6523, each with direction and fidelity notes. Projection loss is declared and re-import is prohibited, because LDAP 'ou' and SCIM department/division carry only names." }, { "dimension": "classification", "status": "covered", "notes": "Kind codes are scheme-bound and versioned, following org:classification and CPOV's code-valued purpose and classification; multi-scheme coding is supported with a governing-scheme flag." }, { "dimension": "authority and mandate", "status": "covered", "notes": "Mandate scope, delegating instrument, quantitative authority limits, sub-delegation rules and assurance processes are modelled on ISO 37000 guidance. The full ISO 37000 text is paywalled; only the ISO/TC 309 committee overview was reviewed, so this is guidance-grade rather than requirement-grade support." }, { "dimension": "measurement", "status": "covered", "notes": "Headcount and FTE are treated as dated measurement events with declared basis, population definition, preparer and restatement handling, constrained by ESRS S1-6's headcount/FTE and breakdown requirements." }, { "dimension": "privacy", "status": "covered", "notes": "Individual occupancy is excluded by boundary; only unit-level aggregates are held; minimum cell size suppression and prohibited breakdown combinations are modelled. Specific data-protection legal bases are deferred to a privacy model." }, { "dimension": "spatial", "status": "covered", "notes": "Handled as a bounded reference: mandate spatial coverage is in scope via CPOV's spatial property, but premises, addresses and geometry are excluded because FHIR separates Location from Organization and Eurostat's local unit is a statistical geographic construct." }, { "dimension": "informal and shadow structure", "status": "gap", "notes": "Communities of practice, informal influence networks, temporary task forces below the establishment threshold and de facto reporting that diverges from the recorded chart are not modelled. No authoritative source was found that normatively defines these, so they are recorded as a gap rather than invented." }, { "dimension": "worker representation structures", "status": "gap", "notes": "Works councils, union structures and co-determination bodies interact with reorganization but are only referenced as a precondition on the act. Their own composition, election cycles and rights vary by jurisdiction and are left to a dedicated model; no primary source was retrieved during this research." } ], "known_omissions": [ "Full texts of ISO 37000:2021, ISO 30414:2018, ISO 15489-1:2016 and ISO/IEC 6523-1:2023 are paywalled. Only committee overview material, catalogue metadata, the Peppol ICD deployment and secondary summaries were reviewed, so ISO-derived structure is guidance-grade rather than verified against normative clause text.", "Council Regulation (EEC) No 696/93 could not be retrieved directly from EUR-Lex during this research; the statistical-unit boundary rests on the Eurostat Statistics Explained glossary entry that cites it.", "The ESRS S1 delegated act annex PDF was retrieved but not machine-parseable; the S1-6 headcount and breakdown requirements are stated at summary level and should be verified against clause text before any compliance claim.", "Military, ecclesiastical, academic-collegiate and cooperative governance structures have unit forms (regiments, dioceses, faculties, chapters) that are not specifically accommodated beyond the generic kind code list.", "Capacity and skills held by a unit, budget allocation mechanics, and process or capability ownership are deliberately excluded and would need sibling models.", "No modelling of unit-level performance objectives, KPIs or scorecards; these were judged to belong to a performance-management model.", "Cross-organization joint ventures and shared-service entities that sit between two parents are only partially handled through affiliations; their dual-ownership structure is unresolved.", "Cost-centre, profit-centre and funds-centre hierarchies used in ERP as parallel to supervisory structure", "Typed multi-hierarchy collections such as supervisory, matrix, geographic and custom trees as first-class objects", "Military table of organization and equipment versus actual strength", "German works-council and other co-determination overlays", "Google Workspace and other directory-policy organizational units used only for inheritance", "SCIM enterprise user department attributes", "SAP Organization-Position-Person object model as a vendor specification", "Grade, pay-scale and bargaining-unit systems", "ISO 30400 vocabulary definition and the full ISO 30414 and ISO 6523 texts, which are paywalled", "Informal or shadow organization", "Classified intelligence structures beyond an exception flag", "Temporary project organizations as a project-management class" ], "conflicts": [ "W3C ORG binds org:reportsTo to Agents and Posts, not to organizational units. Unit-to-unit reporting lines - which the previous O2 material asserted directly - are therefore an extension of the standard and are recorded as non-conformant use with an explicit mapping rule.", "FHIR R5 has no distinct organizational-unit class: departments are Organization instances chained by partOf. This conflicts with W3C ORG's separate OrganizationalUnit class and with CPOV's reuse of it; exports to FHIR flatten the distinction and must declare the loss.", "schema.org's parentOrganization (superseding branchOf) does not distinguish an internal department from an owned subsidiary, conflating containment with ownership. The crosswalk must add an edge-semantics qualifier that schema.org cannot carry.", "RFC 4519 'ou' and RFC 7643 department/division are name-valued and multi-valued, with no identifier, validity period or typed edge. Round-tripping through a directory is lossy in a way that cannot be repaired, so directory content is never authoritative.", "ROR and GLEIF both decline to identify internal subdivisions - ROR because departments 'often emerge, close, combine, and change', GLEIF because an LEI represents one legal entity. There is therefore no governed global identifier for most units, and ISO/IEC 6523's organization part identifier is the only standard slot, with ambiguity about who assigns it.", "IFRS 8 permits aggregation of operating segments with similar economic characteristics, so a reportable segment is not a unit and a one-to-one mapping between units and segments cannot be assumed.", "CPOV constrains purpose to COFOG codes suited to public administration; that scheme is inapplicable to private-sector units, so purpose coding is scheme-dependent rather than universal.", "Eurostat's local unit is defined by geographic situation, whereas an internal unit is defined by mandate and reporting. Treating an office or site as an organizational unit conflates the two and produces incorrect statistical reporting.", "CPOV ranges unitOf at Public Organisation and says a unit cannot exist on its own; ORG allows units of units and treats OrganizationalUnit as a subclass of Organization.", "FHIR and Schema.org model departments as Organization with a single partOf or department link; ORG and LDAP use a distinct OrganizationalUnit class.", "FHIR partOf is 0..1; matrix reporting in ORG is a separate reportsTo graph and must not be forced into containment.", "Popolo allows only one classification and forbids org:holds; ORG allows multiple classifications and direct holds or Membership.", "ORG ChangeEvent is for distinct resulting identity and URI; CPOV prev and next also cover rename and split sequences that may keep identity. Internal reorgs mostly should not mint new URIs.", "Popolo and Schema.org use calendar dates for founding and dissolution; this model requires RFC 3339 date-times with offset.", "LDAP uniqueMember encodes disambiguation in the name string; linked-data practice keeps a stable IRI and records former names separately." ], "regional_assumptions": [ "CPOV, ESRS S1 and the statistical-unit framework are EU instruments; their applicability outside the EU is by voluntary adoption only.", "NARA General Records Schedules bind US federal agencies only; they are used here as a model for governed disposition authority, not as a generally applicable rule.", "Employee information and consultation duties before a reorganization takes effect vary sharply - strong in several continental European jurisdictions, weak or absent elsewhere - so consultation is modelled as an optional, jurisdiction-conditioned precondition on a reorganization act.", "Public-sector units in some jurisdictions have statutory existence published in an official gazette, giving them an external authority that private units lack; the model accommodates this through the dual-classification flag but does not enumerate national regimes.", "Minimum cell size thresholds for staffing disclosure are set by national data-protection practice and collective agreements, so the threshold is a Dimension parameter rather than a fixed value.", "ISO/IEC 6523 ICD availability is uneven by country; the Peppol list reflects European e-invoicing deployment more densely than other regions.", "Financial reporting alignment assumes IFRS; US GAAP ASC 280 uses a comparable management approach but differs in detail and was not researched.", "W3C spelling organization is used in identifiers even in jurisdictions that spell organisation.", "COFOG as a purpose code is a European public-sector recommendation, not a global requirement.", "LDAP/X.500 distinguished-name trees remain a common enterprise projection but are not the semantic identity.", "Legal personality follows the ORG FormalOrganization versus OrganizationalUnit split; jurisdictions that treat some departments as legal persons must type those as organizations, not units.", "Privacy warnings assume jurisdictions that regulate publication of information about people." ], "adversarial_checks": [ "Searched for a governed global identifier for internal units. ROR states it is 'not focused on capturing all subdivisions of a given organization such as a university's schools or departments' and GLEIF issues LEIs only to legal entities. The attractive assumption of a global unit IRI was rejected; unit identity is parent-scoped by default with ISO/IEC 6523 organization part identification as the only standard external slot.", "Tested whether unit-to-unit reporting lines have standards support. W3C ORG defines org:reportsTo between Agents or Posts, not units, so the previous version's unit-level reportingLine object is an extension. Retained because matrix management is real, but demoted to a declared non-conformant extension rather than presented as canonical.", "Tested whether sites, offices and branches belong in this model. FHIR states Location records where a service occurs while Organization records who performed it, and Eurostat's local unit is defined by geographic situation. Rejected folding premises into unit structure; branches that are separately registered are handled by dual classification instead.", "Tested whether established positions belong here or in WM-ORG-004. W3C ORG's Post 'exists independently of who fills it', and the registry assigns Position its own model, so only the unit-side establishment count, seating and aggregate occupancy were retained. The previous version's full establishedPosition object was rejected as a boundary violation.", "Tested whether a single containment tree is sufficient. IFRS 8's management approach makes the internal reporting hierarchy decisive for segment identification, which may differ from the legal or cost roll-up. Single-parent-only structure was rejected in favour of named concurrent hierarchies with per-hierarchy single-parent constraints.", "Tested whether reorganization can be modelled as attribute edits on unit records. W3C ORG's ChangeEvent with originalOrganization and resultingOrganization requires many-to-many lineage that attribute edits cannot express, and ROR retains relationships on inactive records as tombstones. Attribute-edit modelling was rejected.", "Tested whether directory and HR systems could serve as the source of truth. RFC 4519 and RFC 7643 carry unit information as bare names without identifiers, validity or typed edges, so any round-trip silently destroys governed structure. Re-import was prohibited outright rather than merely discouraged.", "Tested whether headcount is a unit attribute. ESRS S1-6 requires declared basis, breakdowns and methodology disclosure, and figures differ by point-in-time versus average convention. Attribute modelling was rejected in favour of dated measurement events with an explicit basis and separate observation timestamp.", "Could a legally registered subsidiary be stored as an OrganizationalUnit and thereby lose world-facing identity? Reject: use WM-ORG-001.", "Can a matrix unit with two bosses be stored with two partOf parents in a FHIR projection? Reject: one containment parent, extra reportsTo edges.", "Does renaming the Finance unit require a new IRI? No, unless a ChangeEvent declares a distinct resulting body.", "Does publishing an org chart that names heads process personal data? Yes; use a structure-only projection unless a grant covers names.", "Is a standing committee a unit, a post, or an OrganizationalCollaboration? If it exists only inside one parent as a subdivision, it may be a unit; if it spans organizations, it is not.", "Can a vacant established post keep the unit chart intact? Yes; Post exists without a holder.", "If a disbanded battalion name is reused, is the new unit the same record? No; assign a new master identifier or a disambiguator." ] }, "researchAdjudication": { "boundaryDecision": { "entry_kind": "entity", "status": "accepted", "rationale": "Both providers independently classify WM-ORG-002 as an entity, and the base draws the boundary on every side with source-referenced neighbour distinctions: legal personality to WM-ORG-001 (W3C ORG FormalOrganization vs OrganizationalUnit; GLEIF issues LEIs only to legal entities), the post as an object to WM-ORG-004 (org:Post exists independently of its holder), premises to a site model (FHIR Location vs Organization), statistical observation units to a statistics model (Reg. 696/93), and derived segments to financial reporting (IFRS 8 management approach with permitted aggregation). Directory content (RFC 4519 ou, RFC 7643 department) is fixed as a lossy projection and never a system of record. The one live boundary disagreement is the unit-to-site association, which the secondary provider places in scope; the base exclusion is retained for this pass and the association is deferred rather than forced into a layer that does not fit it." }, "decisions": [ { "concept": "Base provider selection", "disposition": "accepted claude as base", "rationale": "Not chosen for size. The base states in_scope, out_of_scope and seven source-referenced neighbour distinctions that close the boundary on every side, and its adversarial checks show the boundary was tested rather than asserted. The secondary provider leaves the site boundary open and treats multi-hierarchy structure as an omission." }, { "concept": "Entry kind", "disposition": "accepted as entity", "rationale": "Both providers converge on entity independently, and the node behaves as a persistent identified thing with lifecycle, relationships and versioned state rather than as an event, a policy or a service." }, { "concept": "W3C ORG OrganizationalCollaboration typing", "disposition": "accepted into unit-classification", "rationale": "Fills a gap the base itself declares unresolved, is anchored in the base's own tier-1 source, and supplies the test that keeps cross-organization bodies out of the unit set instead of silently absorbing them." }, { "concept": "ChangeEvent conformance threshold", "disposition": "accepted into structural-change-events", "rationale": "Prevents the base from over-claiming ORG semantics by treating every rename or reparent as a ChangeEvent, and adds CPOV hasFormalFramework as the link from the act to its authorizing instrument." }, { "concept": "Unit-to-site and contact-point linkage", "disposition": "deferred", "rationale": "Genuinely evidence-backed in W3C ORG via org:Site, hasSite, hasPrimarySite and hasRegisteredSite, and therefore not rejected on evidence. But the base excludes premises by explicit adversarial decision and no existing base layer hosts a placement finding, so importing it would require inventing structure. Held open as a boundary question." }, { "concept": "Grok master-and-global-identifiers finding", "disposition": "rejected as duplicative", "rationale": "The base already covers master-system assignment, ISO/IEC 6523 organization-part addressing, identifier stability across rename and reparent, and the UUID/ULID fallback. Only the point that an LDAP distinguished name is a naming address rather than a persistent identifier is additive, and it belongs as a crosswalk note on projection fidelity, not a new finding." }, { "concept": "Grok lexical-names finding", "disposition": "rejected as duplicative", "rationale": "The base's naming finding already carries official name, aliases, former names and the rule that names are never identity. The SKOS prefLabel/altLabel/notation binding and CPOV's at-most-one-preferred-label-per-language cardinality are refinements to that finding, to be folded into the crosswalk rather than added as separate structure." }, { "concept": "Grok head-of-unit finding", "disposition": "rejected as duplicative", "rationale": "The base's accountable-role finding already models the head as a post or Membership slot with acting, interim and vacant states and keeps person occupancy out of scope. org:headOf as a specialization of memberOf is a mapping detail for the crosswalk." }, { "concept": "Grok unit-purpose finding", "disposition": "rejected as duplicative", "rationale": "The base's mandate-scope finding covers remit statement, delegating instrument, spatial and functional limits, and the CPOV COFOG recommendation with its public-sector restriction already recorded as a conflict." }, { "concept": "Grok posts-in-unit finding", "disposition": "rejected as a finding, escalated to a hold", "rationale": "Duplicates the base's authorized-post-complement, but carries a caveat the base lacks: neither W3C ORG nor the ISO material consulted defines establishment counts, grades or pay bands, so those are local controls rather than standard properties. That evidentiary limit is recorded as a publication hold instead of new structure." }, { "concept": "Grok predecessor-successor finding", "disposition": "rejected as duplicative", "rationale": "The base's unit-lineage finding covers predecessor and successor edges, identifier continuity, tombstone dereferencing and partial transfer in a split. CPOV prev/next and the dual-running overlap window are deferred as crosswalk and validation detail." }, { "concept": "Grok atomic mutation functions", "disposition": "rejected as subsumed", "rationale": "establish-unit, reparent-unit, merge-or-split-units and disband-unit are decompositions of the base's apply-reorganization-act, which already opens and closes validity intervals, creates lineage edges and registers downstream obligations. Importing them would fork the write path." }, { "concept": "Grok disclose-org-chart function", "disposition": "rejected as duplicative", "rationale": "The base already separates derive-org-chart, which deliberately omits mandate and staffing, from the structure-disclosure package and its scoping rules; a second disclosure entry point would blur that separation." }, { "concept": "Unit-to-unit reporting stance", "disposition": "accepted base framing", "rationale": "Both providers agree org:reportsTo is defined between Agents and Posts. The base's stricter treatment of unit-level edges as a declared non-conformant extension with a mapping rule governs, and the imported assert-reporting-line function must write that declaration." }, { "concept": "Measurement coverage status", "disposition": "reclassified to extension-grade", "rationale": "The base marks measurement covered on ESRS S1-6, which is an undertaking-level disclosure standard, while the secondary provider marks it a gap because no primary source defines a unit-grain metric. The honest position is that unit-level headcount and FTE are operationally necessary but standards-thin." }, { "concept": "Concurrent named hierarchies", "disposition": "retained from base", "rationale": "The base models managerial, legal, cost and functional hierarchies as separately governed edge sets with per-hierarchy single-parent constraints and ties the choice to IFRS 8's management approach; the secondary provider lists typed multi-hierarchy collections as an omission, so the base is strictly stronger here." } ], "publicationHolds": [ "Source and live-version verification is outstanding for all sixteen base sources and for the two imported W3C ORG and CPOV anchors. Resolve the dated W3C ORG REC URI against the latest-version URI, confirm CPOV 2.1.2, schema.org v30.0 and the Peppol ICD list are still current, and pin FHIR deliberately, since the base cites R5 and the secondary provider cites R4.", "ISO-derived structure is guidance-grade, not requirement-grade. ISO 37000:2021, ISO 30414:2018, ISO 15489-1:2016 and ISO/IEC 6523-1:2023 are paywalled and were reviewed only through committee decks, catalogue metadata and deployment profiles, so the delegated-authority, assurance and segregation findings must not be published as normatively sourced until clause text is verified.", "ESRS S1-6 clause text was not machine-parsed; headcount, FTE, breakdown and the fifty-employee country threshold are stated at summary level and must be checked against Annex I of Commission Delegated Regulation (EU) 2023/2772 before any compliance-adjacent claim.", "Unit-grain staffing measurement has no primary standard. Established-versus-filled counts, budgeted FTE and establishment complement are local controls; publish the measurement layer and record-staffing-snapshot as extension-grade with that limitation visible.", "Multi-profile validation is incomplete. The model was tested chiefly against public-sector (CPOV/COFOG), healthcare (FHIR), EU reporting (IFRS 8, ESRS S1), directory (LDAP/SCIM) and e-invoicing (ISO/IEC 6523) profiles. Private-sector matrix organizations, military, academic-collegiate, ecclesiastical and cooperative unit forms are not validated and must not be presented as covered.", "Council Regulation (EEC) No 696/93 was not retrieved from EUR-Lex; the statistical-unit boundary currently rests on a Eurostat glossary entry that cites it, and must be confirmed against the regulation text.", "Regional scope must be stated on the face of any draft: CPOV, ESRS and the statistical-unit framework are EU instruments, NARA General Records Schedules bind US federal agencies only, financial alignment assumes IFRS rather than ASC 280, and employee consultation duties before a reorganization are jurisdiction-conditioned." ], "deferredResearch": [ "Unit-to-site association: decide whether org:hasSite, hasPrimarySite and hasRegisteredSite belong here as a bounded reference or entirely in the site model. The base excludes premises after an explicit adversarial test; the secondary provider places the link in scope on W3C ORG evidence. Resolve before the next boundary pass, and add a placement layer only if the reference is accepted.", "CPOV range and lineage detail: CPOV ranges unitOf at Public Organisation and states a unit cannot exist on its own, which is narrower than W3C ORG's units-of-units, and CPOV prev/next cover rename and split sequences that may retain identity. Fold both into the crosswalk with explicit range, cardinality and fidelity notes.", "Popolo Organization and Post as an additional crosswalk target, including its single-classification restriction, its rejection of org:holds in favour of Membership, and its distinct former-name property, which few vocabularies provide.", "Cost-centre, profit-centre and funds-centre ERP hierarchies: confirm whether these are admitted as named concurrent hierarchies inside this model or remain finance masters referenced from it, since both providers flag them and neither resolves the boundary.", "Works councils, union structures and co-determination bodies: both providers record these as an unmodelled gap that nonetheless gates reorganization effectiveness. Determine whether they become a sibling model or remain a jurisdiction-conditioned precondition on the act.", "Establishment-count standardization: search for a primary, unit-grain source defining authorized post complement, grade and budgeted FTE. Absent one, keep the establishment findings marked as local control rather than standard property.", "LDAP distinguished-name instability under reparenting, and the name-reuse-after-disbandment collision case with x500UniqueIdentifier-style disambiguators, as validation rules on the identity and projection-fidelity findings.", "Informal and shadow structure, temporary project organizations and de facto reporting: both providers record these as gaps with no authoritative source. Confirm the gap stands rather than inventing structure to close it." ] }, "statistics": { "sources": 23, "bundles": 6, "layers": 13, "findings": 28, "questions": 106, "artifacts": 17, "functions": 14 } }