{
  "format": "vercy-enterprise-profile-candidate/v1",
  "contourId": "EM-ORG-04",
  "name": "Enterprise Organizational Unit and Mandate",
  "decision": "PROFILE",
  "newRuntimeId": false,
  "bases": [
    "WM-ORG-002"
  ],
  "candidateRevision": 3,
  "candidateStatus": "reconciled-audited-remediated-publication-held",
  "publishableCanonical": false,
  "fixturesExecuted": false,
  "basePins": [
    {
      "modelId": "WM-ORG-002",
      "registryId": "vr.wm-org-002",
      "modelVersion": "0.3.0-research.1",
      "sourceFile": "publications/wm-org-002-organizational-unit/spec.yaml",
      "sourceBytes": 250855,
      "sourceSha256": "9e3e80da4db6db6589991102b91af4af1a00080cd348848250b63f70a97b2330",
      "synthesisSha256": "a991fb7774ae1b611787fe093e9d9e380499bf42c9fbe69fcb91af147be90812",
      "adjudicationStatus": "reviewable-draft",
      "publishableCanonical": false,
      "providerMode": "dual-provider",
      "registryStatus": "described-previous-version",
      "registryReviewState": "migration-boundary-review",
      "invalidationRule": "Any source, synthesis or reservation drift invalidates this candidate."
    }
  ],
  "constraints": [
    "WM-ORG-002 unitIdentifier MUST be stable, scheme-qualified and never reassigned, including after disbandment or withdrawal; aliases, names and directory identifiers MUST NOT be identity keys.",
    "Rename, reparent and reclassification MUST preserve identity; every merge, split, disband or transfer MUST carry continuityDecision=retain|mint-new, an approved act and lineage.",
    "If parentOrganizationRef is immutable, a cross-organization transfer MUST mint a successor unit; no silent owner mutation is permitted.",
    "UnitType MUST be one dated governed classification pair; duplicate weaker classification slots MUST be removed or read-only aliases.",
    "UnitMandate MUST be reified at 0..n with key (unit, delegatingInstrument, validInterval, scenario), provenance, authority bounds and evidence; legacy singletons MUST be derived views.",
    "Mandate MUST NOT be inherited from a parent or inferred from parent purpose; placement changes MUST NOT rewrite mandate.",
    "StructuralPlacement MUST be the only authored parent path and MUST be keyed by child, parent, hierarchyAxis, scenario and validInterval; parentUnitRef and hierarchyPath MUST be read-only derived projections.",
    "The organization-level hierarchy axis declaration MUST define axisMode=tree|dag and cardinality; unit-level hierarchy membership MUST be derived.",
    "Allowed base-aligned placement axes MUST be managerial, legal-entity-rollup, cost-budget-rollup, functional-professional and internal-reporting; reportingLine MUST remain a relation and project MUST NOT be silently added.",
    "A tree axis MUST have exactly one root per organization/scenario/interval and at most one overlapping parent per active non-root unit; gaps MUST be allowed only for non-active units.",
    "A DAG axis MAY have multiple parents but MUST remain acyclic within one axis/scenario/interval; self-loops MUST be refused and cross-axis union cycles MUST NOT be treated as same-axis cycles.",
    "Scenario MUST be a required explicit qualifier on every placement read/write and all twelve structural functions; no implicit authoritative default is permitted.",
    "Hypothetical acts MUST remain branch-local and MUST emit no authoritative lineage, obligations, directory signal, rollup or export until approval.",
    "Scenario MUST enter asOfParameters, structureVersionId and digest preimage under declared canonical JSON; different branches MUST produce different versions.",
    "BodyMode MUST be required with values unit, committee-as-unit or collaboration; collaboration bodies MUST NOT receive tree-axis placement and team MUST NOT be a free unit-kind escape hatch.",
    "Unplaced collaboration bodies MUST be omitted from unit hierarchy paths and rollups; affiliation and reportingLine MUST remain non-placement relations.",
    "No hierarchy axis, including legal roll-up, and no dual-classification flag MAY determine employer or legal subject; employment remains an unnamed external dependency.",
    "Every status, placement, mandate and lineage assertion MUST be interval-keyed and bitemporal; closed intervals MUST be immutable and corrections MUST append superseding records.",
    "Retroactive effective dates MUST require named compensating approval and preserve record time; otherwise they MUST be refused.",
    "A declared reconstruction floor MUST preserve intervals, lineage and tombstones; queries below it MUST return explicit partial-reconstruction status.",
    "Independent reporting MUST use reportingLine, never a second placement; unit-to-unit reporting lines MUST carry the required standards-extension declaration.",
    "Projection re-import MUST NOT become authoritative, and external-directory push MUST be restricted to the authoritative scenario.",
    "All crosswalk statements derived from held sources MUST remain guidance/alignment-only; no canonical, published, installable or standards-conformance claim is made.",
    "Publication MUST be refused while any explicit delta, relation reconciliation, source/pin discrepancy, required dependency pin, site deferral, audit projection gap or executable fixture remains unresolved."
  ],
  "profileTypes": {
    "OrganizationalUnit": {
      "disposition": "profile-local label over WM-ORG-002",
      "registryId": null,
      "runtimeId": null,
      "navPath": null
    },
    "UnitType": {
      "disposition": "profile-local label over WM-ORG-002",
      "registryId": null,
      "runtimeId": null,
      "navPath": null
    },
    "UnitMandate": {
      "disposition": "profile-local label over WM-ORG-002",
      "registryId": null,
      "runtimeId": null,
      "navPath": null
    },
    "StructuralPlacement": {
      "disposition": "profile-local label over WM-ORG-002",
      "registryId": null,
      "runtimeId": null,
      "navPath": null
    }
  },
  "placementContract": {
    "key": [
      "childUnit",
      "parentUnit",
      "hierarchyAxis",
      "scenario",
      "validInterval"
    ],
    "provenance": [
      "recordTime",
      "reorganizationActRef",
      "evidence"
    ],
    "axes": [
      "managerial",
      "legal-entity-rollup",
      "cost-budget-rollup",
      "functional-professional",
      "internal-reporting"
    ],
    "axisModes": [
      "tree",
      "dag"
    ],
    "writePath": "StructuralPlacement only",
    "parentUnitRef": "read-only derived managerial/authoritative/as-of-now projection",
    "hierarchyPath": "derived from placement chain under axis+scenario+as-of",
    "gapPolicy": "active unit gap refused; non-active gap permitted"
  },
  "scenarioContract": {
    "required": true,
    "kinds": [
      "authoritative",
      "approved-future",
      "hypothetical"
    ],
    "functionScope": [
      "validate-structure-graph",
      "reconstruct-structure-as-of",
      "derive-org-chart",
      "compute-headcount-rollup",
      "evaluate-mandate-conflict",
      "emit-standards-mapping",
      "reconcile-external-directory",
      "apply-reorganization-act",
      "assign-unit-mandate",
      "assert-reporting-line",
      "seat-post-in-unit",
      "record-staffing-snapshot"
    ],
    "hypotheticalSideEffects": "none until approval",
    "digestCanonicalisation": "UTF-8 canonical JSON with sorted keys and scenario included",
    "implicitDefault": "forbidden"
  },
  "teamBoundary": {
    "WM-ORG-003": "collaboration/team master",
    "administrativePlacement": "forbidden unless explicit standing-unit dual type",
    "membership": "remains WM-ORG-003"
  },
  "executionRequirements": {
    "carrier": "none selected; declarative semantics only",
    "requiredBeforeExecution": [
      "approved carrier",
      "validator",
      "fixture runner",
      "digest-verified results"
    ],
    "caseDigest": {
      "preimage": "canonical JSON case definition excluding sha256",
      "canonicalisation": "UTF-8, sorted keys, compact separators",
      "meaning": "definition integrity only"
    },
    "resultDigest": "absent until execution",
    "publicationBehavior": "refuse while fixturesExecuted=false"
  },
  "inheritedBaseHolds": [
    "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."
  ],
  "publicationGate": {
    "publishableCanonical": false,
    "fixturesExecuted": false,
    "statusCeiling": "reviewable research checkpoint",
    "openHolds": [
      "WM-ORG-002 publishableCanonical=false and surfaced published wording conflicts",
      "explicit scenario/axis/mandate deltas unapplied",
      "registry/ledger/spec relations inconsistent",
      "base version/date and legacy O2 pin inconsistent",
      "source inventory and FHIR/CPOV crosswalk unresolved",
      "required S1/S2/S4 targets lack identifiers and pins or must be demoted",
      "unit-to-site deferral conflicts with composition",
      "audit projection omits establishment/staffing bundle",
      "no executable carrier or executed fixtures"
    ],
    "rule": "Governance gates are non-overridable by semantic results; any open hold, pin drift or unexecuted fixture refuses publication."
  },
  "explicitDeltaAgainstBase": {
    "baseDigest": "9e3e80da4db6db6589991102b91af4af1a00080cd348848250b63f70a97b2330",
    "additions": [
      "scenario qualifier",
      "axisMode and parent cardinality on organization-level hierarchy declaration",
      "reified UnitMandate key",
      "scenario in asOfParameters and digest preimage",
      "required BodyMode",
      "reconstruction floor"
    ],
    "amendments": [
      "remove authored parentUnitRef",
      "derive hierarchyPath and hierarchy membership from placements",
      "make status interval/bitemporal",
      "remove duplicate kind slots",
      "make standardExtensionNote required for unit-to-unit reportingLine"
    ],
    "status": "required-unapplied-publication-blocker"
  },
  "mandateContract": {
    "cardinality": "0..n",
    "key": [
      "unit",
      "delegatingInstrument",
      "validInterval",
      "scenario"
    ],
    "provenanceRequired": true,
    "inheritance": "forbidden",
    "legacySingletons": "derived current view only",
    "conflictEvaluation": "scenario-scoped; delegation/assurance/SoD guidance-grade while source holds remain"
  },
  "bodyBoundary": {
    "field": "bodyMode",
    "required": true,
    "values": [
      "unit",
      "committee-as-unit",
      "collaboration"
    ],
    "baseConstructs": [
      "unitAffiliation",
      "affiliationInstrumentRef",
      "isAlsoFormalOrganization"
    ],
    "collaborationPlacement": "forbidden on tree axes",
    "unplacedChart": "omit from hierarchy path",
    "rollup": "bodyMode=unit only"
  },
  "identityLifecycle": {
    "nonReassignment": true,
    "continuityDecisionRequired": true,
    "crossOrganizationTransfer": "mint successor with lineage while parentOrganizationRef remains immutable",
    "resolutionKeys": [
      "unitIdentifier+scheme",
      "ISO/IEC 6523 OPI when present"
    ],
    "advisoryOnly": [
      "alternate identifier",
      "alias",
      "former name",
      "LDAP DN",
      "IdP group"
    ],
    "ambiguity": "refuse and return candidate set",
    "status": "interval-keyed bitemporal series",
    "tombstoneDereference": "tombstone plus successor pointer, never silent redirect"
  },
  "relationReconciliation": [
    {
      "edge": "organization to unit",
      "spec": "REFERENCE required",
      "registryOrLedger": "CONTAINS candidate",
      "requiredAction": "adopt spec vocabulary and reconcile registry/ledger"
    },
    {
      "edge": "unit to position",
      "spec": "CHILD optional reference-not-copy",
      "registryOrLedger": "CONTAINS candidate",
      "requiredAction": "single vocabulary and explicit reference-not-copy"
    }
  ],
  "pinReconciliation": {
    "legacyO2Path": "must be digest-pinned or marked superseded/non-authoritative",
    "registryStatus": "described-previous-version conflicts with empty previousVersions",
    "dates": "registry source date and spec generatedAt require reconciliation",
    "invalidationRule": "includes registry fields, relations and legacy path"
  },
  "auditRemediation": {
    "verdict": "REVISE",
    "checklistItems": 30,
    "appliedToCandidate": true,
    "auditRerun": false,
    "baseChangesApplied": false
  }
}
