# Vercy AI instruction - YAML 1.2 (JSON-compatible) { "vercy": "1.0-draft", "publication": { "status": "published", "adjudicationStatus": "reviewable-draft", "publishableCanonical": false, "generatedAt": "2026-09-02T20:13:47Z", "synthesisSha256": "a5fd245ed310d3e3e1edc919f30a25a0b9859b5df9ea68536f3b730ce43fec5c", "providerMode": "single-provider-waiver", "providers": [ "Claude" ], "waivedProviders": [ "Grok" ] }, "metaModel": { "id": "WM-KNW-012", "registryId": "vr.wm-knw-012", "name": "Policy / Rule", "version": "0.3.0-research.1", "previousVersions": [], "entryKind": "aggregate", "family": "World Models", "category": "Information and virtual systems", "industry": [ "Cross-industry" ], "domain": [ "INF.KNW.POL" ], "tags": [ "policy", "rule", "inf.knw.pol" ], "status": "published" }, "canonicalUrl": "https://ver.cy/models/wm-knw-012-policy-rule/", "sourceUrl": "https://github.com/ver-cy/world-models/tree/feat/mega-model-registry/research/runs/wm-knw-012", "model": { "registry_id": "vr.wm-knw-012", "model_id": "WM-KNW-012", "name": "Policy / Rule", "entry_kind": "aggregate", "purpose": "Provide the format-neutral context an agent needs to identify, classify, compose, govern, version and interpret an executable or interpretable normative statement, while delegating condition expression, runtime evaluation, enforcement and governed-process semantics to referenced models.", "scope_statement": "Describes an individual normative statement (policy, policy set, or atomic rule slot) as a governed record: identity and version identity, deontic or alethic force, issuing authority and mandate, applicability scope, rule-slot structure, declared precedence and conflict strategy, registered derogations, lifecycle and temporal validity, provenance and source-provision mapping, declared standard alignments, and record classification and retention. Storage- and interface-neutral: JSON, YAML, Markdown, XML, RDF, Git trees, MCP surfaces and document databases are manifestations of one record. Carries references and binding metadata for constraint expressions but never the expression grammar, and never renders, executes, enforces or logs a decision.", "in_scope": [ "Identity, naming, citation forms and version identity, separated into abstract work, dated expression and rendered manifestation.", "Deontic modality (obligation, permission, prohibition, right), alethic-versus-deontic classification, enforcement level and defeasibility.", "Instrument genre and binding form: legislation, regulation, standard, internal directive, set, offer, agreement.", "Issuing authority, mandate, adoption-decision reference, and post-issuance record ownership and stewardship roles.", "Applicability scope: jurisdiction, territory, subject-matter competence, in-scope parties, target resources, governed actions and contextual conditions.", "Rule-slot inventory, atomicity, policy-set containment and inheritance.", "References and binding metadata for externally owned constraint or rule expressions, plus subject-specific parameter values and tailoring.", "Declared precedence: combining or hit-policy strategy identifiers, conflict terms and pairwise superiority relations.", "Registered exceptions, waivers and derogations, and recorded alternative interpretations and known contradictions.", "Lifecycle states, amendment, supersession and repeal; in-force, efficacy and applicability intervals with event time and record time.", "Provenance, derivation, attribution and mapping from rule slots to authoritative source provisions.", "Declared standard alignments, structural well-formedness requirements, manifestation integrity, record classification, retention declaration and disposition class." ], "out_of_scope": [ "Constraint and rule expression grammar, operator and operand vocabularies, and logical composition semantics (WM-KNW-013).", "Runtime policy evaluation, decision rendering, obligation discharge, enforcement actions and decision results (referenced decision or enforcement runtime).", "Audit-trail entities, event streams and log storage for evaluation, enforcement or access.", "Process, activity and task definitions and their execution state (WM-ACT-003).", "Projection, disclosure and output-shape semantics of specialised disclosure policies (WM-XCT-003).", "Party, organisation, resource and place master data.", "Compliance risk assessment, control-effectiveness measurement and non-compliance case handling.", "Sanction computation, penalty scales and litigation records.", "Storage engines, serialization formats, access interfaces and repository mechanics.", "Cryptographic signing ceremonies and PKI trust management." ], "boundary_notes": [ { "neighbor": "WM-KNW-013 Constraint / Rule expression", "distinction": "The condition itself (left operand, operator, right operand, logical operands, refinements) and its own lifecycle are owned there. This model carries only the reference, the binding point, the expression-language reference and subject-specific parameter values.", "source_refs": [ "SRC-001", "SRC-002" ] }, { "neighbor": "Referenced decision or enforcement runtime (XACML PDP/PEP, ABAC access decision function)", "distinction": "Evaluation, decision rendering, obligation discharge and decision logging are runtime concerns. This model declares which combining or hit-policy strategy applies and where its normative definition lives; it never evaluates or enforces.", "source_refs": [ "SRC-002", "SRC-007" ] }, { "neighbor": "WM-ACT-003 Process", "distinction": "Activities, tasks, sequence and execution state are owned there. The governance edge is authored by WM-ACT-003; this model only records applicability pointers to governed processes.", "source_refs": [ "SRC-006", "SRC-007" ] }, { "neighbor": "WM-XCT-003 Projection / disclosure policy", "distinction": "Output-shape, redaction-transform and disclosure-projection semantics are specialised there. Generic identity, authority, lifecycle and conflict machinery is retained here, as the relation rationale requires.", "source_refs": [ "SRC-001", "SRC-002" ] }, { "neighbor": "Compliance management system (obligations monitoring)", "distinction": "Compliance risk evaluation, monitoring, reporting and non-compliance handling sit in a compliance management model. This model holds the obligation statement and its governance metadata only.", "source_refs": [ "SRC-013" ] }, { "neighbor": "Records and document management", "distinction": "Manifestation storage, format conversion, digital preservation and disposal execution belong to records management. This model holds work/expression identity, retention declaration, disposition class and tombstone.", "source_refs": [ "SRC-004", "SRC-011" ] }, { "neighbor": "WM-POL-001 parent policy domain", "distinction": "Domain grouping, portfolio taxonomy and cross-policy programme governance sit with the parent. This model describes one normative statement instance.", "source_refs": [ "SRC-002", "SRC-013" ] } ] }, "sources": [ { "id": "SRC-001", "title": "ODRL Information Model 2.2", "organization": "World Wide Web Consortium (W3C)", "url": "https://www.w3.org/TR/odrl-model/", "version_or_date": "W3C Recommendation, 15 February 2018", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:05:00Z", "relevance": "Normative policy/rule structure: Policy uid MUST, Set/Offer/Agreement subclasses, Permission/Prohibition/Duty, action, target, assigner/assignee, constraint and refinement placement, conflict term (perm/prohibit/invalid), inheritFrom, profile conformance, dc:isReplacedBy handling." }, { "id": "SRC-002", "title": "eXtensible Access Control Markup Language (XACML) Version 3.0", "organization": "OASIS", "url": "https://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html", "version_or_date": "Version 3.0, OASIS Standard, 22 January 2013", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:07:00Z", "relevance": "PolicySet/Policy/Rule containment with required PolicySetId, PolicyId, RuleId and Version; RuleCombiningAlgId and PolicyCombiningAlgId; Target and Condition separation; PolicyIssuer; VersionMatch; and the PDP/PEP/PAP/PIP separation that fixes the evaluation boundary." }, { "id": "SRC-003", "title": "LegalRuleML Core Specification Version 1.0", "organization": "OASIS", "url": "https://docs.oasis-open.org/legalruleml/legalruleml-core-spec/v1.0/os/legalruleml-core-spec-v1.0-os.html", "version_or_date": "Version 1.0, OASIS Standard, 30 August 2021", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:10:00Z", "relevance": "Deontic operators (obligation, permission, prohibition, right), strong versus weak permission, defeasibility and Override superiority relations, Authority and Jurisdiction, LegalSources/appliesSource provision mapping, TemporalCharacteristic for in-force/efficacy/applicability, Alternatives and Context." }, { "id": "SRC-004", "title": "Akoma Ntoso Version 1.0 Part 1: XML Vocabulary", "organization": "OASIS", "url": "https://docs.oasis-open.org/legaldocml/akn-core/v1.0/os/part1-vocabulary/akn-core-v1.0-os-part1-vocabulary.html", "version_or_date": "Version 1.0, OASIS Standard, 29 August 2018", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:13:00Z", "relevance": "FRBR Work/Expression/Manifestation/Item split, IRI naming convention, lifecycle element with dated events, originalVersion/singleVersion/multipleVersions, @start/@end/@startEfficacy/@endEfficacy, amendment and repeal status values, and point-in-time consolidation." }, { "id": "SRC-005", "title": "Semantics of Business Vocabulary and Business Rules (SBVR), Version 1.5", "organization": "Object Management Group (OMG)", "url": "https://www.omg.org/spec/SBVR/1.5/About-SBVR", "version_or_date": "Version 1.5, December 2019", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:16:00Z", "relevance": "Vocabulary and rules for documenting business vocabularies and business rules for exchange; alethic necessity versus deontic obligation, operative/behavioural rules, enforcement level as a graded severity scale, and the business-policy versus business-rule distinction." }, { "id": "SRC-006", "title": "Decision Model and Notation (DMN), Version 1.5", "organization": "Object Management Group (OMG)", "url": "https://www.omg.org/spec/DMN/1.5/About-DMN", "version_or_date": "Version 1.5, August 2024", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:18:00Z", "relevance": "Decision requirements, decision logic and decision tables with hit policies (including Priority, First and Collect variants), knowledge sources linking decisions to policy and regulatory authority, and alignment with BPMN process models." }, { "id": "SRC-007", "title": "NIST SP 800-162, Guide to Attribute Based Access Control (ABAC) Definition and Considerations", "organization": "National Institute of Standards and Technology (NIST)", "url": "https://csrc.nist.gov/pubs/sp/800/162/upd2/final", "version_or_date": "January 2014, updated 2 August 2019", "source_type": "public-authority", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:21:00Z", "relevance": "Defines ABAC as evaluation of subject, object, operation and environment attributes against policy, rules or relationships; separates natural-language policy from its machine-processable rendering and locates evaluation in the access decision function rather than the policy statement." }, { "id": "SRC-008", "title": "PROV-O: The PROV Ontology", "organization": "World Wide Web Consortium (W3C)", "url": "https://www.w3.org/TR/prov-o/", "version_or_date": "W3C Recommendation, 30 April 2013", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:24:00Z", "relevance": "Entity/Activity/Agent with wasDerivedFrom, wasAttributedTo, wasGeneratedBy, wasRevisionOf, hadPrimarySource, generatedAtTime, invalidatedAtTime, specializationOf and alternateOf for the derivation and attribution chain of a statement expression." }, { "id": "SRC-009", "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": "RFC 3339, July 2002 (updated by RFC 9557)", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:26:00Z", "relevance": "Requires seconds in the time component and an explicit offset (Z or plus/minus hh:mm); defines -00:00 for a known UTC instant with unknown local offset; supports string-sortable time ordering." }, { "id": "SRC-010", "title": "OSCAL Control Catalog Model concepts", "organization": "National Institute of Standards and Technology (NIST)", "url": "https://pages.nist.gov/OSCAL/learn/concepts/layer/control/catalog/", "version_or_date": "NIST OSCAL project documentation, accessed 2 September 2026", "source_type": "first-party-doc", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-09-02T09:29:00Z", "relevance": "Control, group, part, props, links and back-matter structure; reusable parameters and profile tailoring; metadata with title, version, oscal-version, roles, parties and responsible-party; and the rule that any content change forces a new root uuid and a new last-modified value." }, { "id": "SRC-011", "title": "European Legislation Identifier (ELI)", "organization": "Publications Office of the European Union", "url": "https://op.europa.eu/en/web/eu-vocabularies/eli", "version_or_date": "ELI framework pages, accessed 2 September 2026", "source_type": "registry", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:32:00Z", "relevance": "Three pillars: flexible URI template for unique human- and machine-readable legislation identifiers, an FRBR-based metadata ontology for exchanging legislation metadata, and RDFa or JSON-LD publication of that metadata." }, { "id": "SRC-012", "title": "ODRL Formal Semantics (Editor's Draft)", "organization": "W3C ODRL Community Group", "url": "https://w3c.github.io/odrl/formal-semantics/", "version_or_date": "Editor's draft, non-normative, accessed 2 September 2026", "source_type": "secondary", "primary_source": false, "authority_tier": 3, "accessed_at": "2026-09-02T09:35:00Z", "relevance": "Documents the evaluator input/output frame (policy, state of the world, evaluation request, evaluation report) and explicitly marks policy-level conflict handling for perm/prohibit/invalid as still unwritten, which is the evidence for recording conflict semantics as a gap rather than a conformance claim." }, { "id": "SRC-013", "title": "ISO 37301:2021 Compliance management systems - Requirements with guidance for use", "organization": "International Organization for Standardization (ISO)", "url": "https://www.iso.org/standard/75080.html", "version_or_date": "ISO 37301:2021", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-02T09:38:00Z", "relevance": "Scope-level requirement to establish, implement, evaluate, maintain and improve a compliance management system, within which compliance obligations are identified, documented and kept current; used here only for obligation-record stewardship and review cadence. Full normative text is paywalled and was not read." } ], "structure": { "bundles": [ { "id": "normative-identity-and-classification", "name": "Normative identity and classification", "description": "What the statement is, how it is durably identified and versioned, and what normative force it carries.", "rationale": "Every cited policy standard requires an identifier on the policy container and separates the abstract statement from its dated versions; modality and enforcement level determine how any downstream reader must treat the statement.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-011" ], "layers": [ { "id": "identity-and-designation", "name": "Identity and designation", "description": "Durable identification, naming, citation and version identity of the statement, independent of storage format.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004", "SRC-011" ], "findings": [ { "id": "statement-identifier-and-naming", "name": "Statement identifier and naming", "description": "How a normative statement and its contained rule slots are uniquely identified, titled and cited across systems.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004", "SRC-011" ], "questions": [ { "id": "q-master-identifier", "text": "Which authoritative master-system identifier designates this statement, and which system issues it?", "kind": "identity", "answer_data": [ "issuing system of record reference", "master identifier value", "identifier scheme code" ] }, { "id": "q-global-iri", "text": "Which governed global identifier or IRI resolves this statement for external citation?", "kind": "interoperability", "answer_data": [ "statement IRI", "resolution service reference", "persistence commitment" ] }, { "id": "q-container-versus-slot-id", "text": "How are the statement container and its contained rule slots identified separately?", "kind": "composition", "answer_data": [ "container identifier", "rule slot identifiers", "containment relation" ] }, { "id": "q-titles-and-citation", "text": "Which official titles, short titles and citation forms are registered, and in which languages?", "kind": "definition", "answer_data": [ "official title with language tag", "short title", "conventional citation form" ] } ], "data_elements": [ { "id": "de-master-identifier", "name": "statement master identifier", "description": "Identifier assigned by the authoritative system of record for the statement.", "value_kind": "identifier", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-010" ] }, { "id": "de-statement-iri", "name": "statement IRI", "description": "Governed global identifier resolving the abstract statement.", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-official-title", "name": "official title", "description": "Registered title with language tag; may repeat per authentic language.", "value_kind": "text", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-004", "SRC-011" ] } ], "artifacts": [], "inline_only_rationale": "Identifiers, titles and citation forms are reference values carried directly on the statement record; answering these questions produces no rendered or media-bearing artifact, and the identifier scheme itself is governed by an external registry rather than produced here." }, { "id": "version-identity-and-point-in-time", "name": "Version identity and point-in-time expression", "description": "Separation of the abstract work from its dated expressions and rendered manifestations, and the identity of each version.", "source_refs": [ "SRC-002", "SRC-004", "SRC-010", "SRC-011" ], "questions": [ { "id": "q-work-expression-split", "text": "How is the abstract statement distinguished from its dated versions and its rendered manifestations?", "kind": "classification", "answer_data": [ "work identifier", "expression identifier", "manifestation identifier" ] }, { "id": "q-version-designator", "text": "What version designator is assigned to each expression, and how is version ordering determined?", "kind": "identity", "answer_data": [ "version designator", "ordering rule", "version match expression" ] }, { "id": "q-current-consolidation", "text": "Which expression is the current consolidated one, and which are historical point-in-time versions?", "kind": "state", "answer_data": [ "consolidation status code", "superseded expression list", "currency assertion" ] }, { "id": "q-change-obligation", "text": "What must change on the record whenever the content of an expression changes?", "kind": "constraint", "answer_data": [ "new record UUID", "new last-modified instant", "new version designator" ] } ], "data_elements": [ { "id": "de-work-identifier", "name": "work identifier", "description": "Stable identifier of the abstract statement across all its versions.", "value_kind": "identifier", "cardinality": "1", "required": true, "source_refs": [ "SRC-004", "SRC-011" ] }, { "id": "de-expression-version", "name": "expression version designator", "description": "Version label assigned to a dated expression of the statement.", "value_kind": "text", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-010" ] }, { "id": "de-expression-last-modified", "name": "expression last-modified instant", "description": "Instant at which the expression record last changed.", "value_kind": "timestamp", "cardinality": "1", "required": true, "source_refs": [ "SRC-009", "SRC-010" ] } ], "artifacts": [ { "id": "consolidated-expression", "name": "Consolidated point-in-time expression", "description": "A dated, citable rendering of the statement as it stood over a specific interval, produced by consolidating applied modifications.", "media_or_form": [ "structured legal or policy document", "serialized machine-readable expression", "rendered human-readable text" ], "serial": true, "identity_strategy": "Authoritative expression identifier from the publishing system of record; otherwise the governed work IRI plus the version designator; otherwise a UUID minted by the adopting Dimension with the fallback reason recorded.", "source_refs": [ "SRC-004", "SRC-010", "SRC-011" ] } ], "inline_only_rationale": null } ] }, { "id": "normative-classification", "name": "Normative classification", "description": "The force, modality, defeasibility and instrument genre of the statement.", "source_refs": [ "SRC-001", "SRC-003", "SRC-005", "SRC-007" ], "findings": [ { "id": "deontic-modality-force-and-defeasibility", "name": "Deontic modality, force and defeasibility", "description": "Which normative modality each rule slot carries, whether it can be violated, how severely, and whether it can be defeated.", "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ], "questions": [ { "id": "q-modality-per-slot", "text": "Which deontic modality does each rule slot carry: obligation, permission, prohibition or right?", "kind": "classification", "answer_data": [ "deontic modality code per slot", "modality vocabulary reference" ] }, { "id": "q-alethic-or-deontic", "text": "Is the statement an alethic necessity that cannot be violated, or a deontic obligation that can be?", "kind": "definition", "answer_data": [ "modality family code", "justification note" ] }, { "id": "q-enforcement-level", "text": "What enforcement level on the graded severity scale applies when the statement is violated?", "kind": "measurement", "answer_data": [ "enforcement level code", "ordinal position on the declared scale", "scale definition reference" ] }, { "id": "q-defeasibility", "text": "Is the statement defeasible, and by which declared mechanism may it be defeated?", "kind": "constraint", "answer_data": [ "defeasibility flag", "defeat mechanism reference" ] }, { "id": "q-strong-permission", "text": "Does the statement express a strong permission acting as an explicit exception to a prohibition?", "kind": "exception", "answer_data": [ "permission strength code", "prohibition excepted reference" ] } ], "data_elements": [ { "id": "de-deontic-modality", "name": "deontic modality code", "description": "Obligation, permission, prohibition or right, asserted per rule slot.", "value_kind": "code", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ] }, { "id": "de-modality-family", "name": "modality family code", "description": "Alethic or deontic classification of the statement.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-005" ] }, { "id": "de-enforcement-level", "name": "enforcement level code", "description": "Position on the graded severity scale for violation of a behavioural rule.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005" ] }, { "id": "de-defeasibility-flag", "name": "defeasibility flag", "description": "Whether the statement admits defeat by a superior or more specific statement.", "value_kind": "boolean", "cardinality": "1", "required": true, "source_refs": [ "SRC-003" ] } ], "artifacts": [], "inline_only_rationale": "Modality, enforcement level and defeasibility are coded assertions on the statement record resolved against externally governed vocabularies; the normative text that carries them is held by the authoritative source instrument declared under the provenance layer, so declaring a second artifact here would duplicate it." }, { "id": "instrument-genre-and-binding-form", "name": "Instrument genre and binding form", "description": "What kind of instrument the statement is and how it binds, including whether it is a natural-language original or a derived machine-interpretable rendering.", "source_refs": [ "SRC-001", "SRC-004", "SRC-007" ], "questions": [ { "id": "q-instrument-genre", "text": "What instrument genre is this statement: legislation, regulation, standard, internal directive, contract or offer?", "kind": "classification", "answer_data": [ "instrument genre code", "genre vocabulary reference" ] }, { "id": "q-binding-form", "text": "Does the statement bind unilaterally, or does it require an identified counterparty to be in force?", "kind": "relationship", "answer_data": [ "binding form code", "required party function", "counterparty reference" ] }, { "id": "q-expression-form", "text": "Is this a natural-language original, a machine-interpretable statement, or a rendering derived from a natural-language original?", "kind": "interoperability", "answer_data": [ "expression form code", "derived-from expression reference" ] }, { "id": "q-genre-vocabulary-authority", "text": "Which taxonomy supplies the genre code, and who governs that taxonomy?", "kind": "authority", "answer_data": [ "vocabulary reference", "governing body reference", "vocabulary version" ] } ], "data_elements": [ { "id": "de-instrument-genre", "name": "instrument genre code", "description": "Coded genre of the normative instrument.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-004" ] }, { "id": "de-binding-form", "name": "binding form code", "description": "Unilateral set, unilateral offer, or bilateral agreement requiring an identified counterparty.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-001" ] }, { "id": "de-expression-form", "name": "expression form code", "description": "Natural-language, machine-interpretable, or derived machine rendering.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-007" ] } ], "artifacts": [], "inline_only_rationale": "Genre, binding form and expression form are coded classifications resolved against externally governed taxonomies; the model stores codes and vocabulary references and produces no document of its own for this finding." } ] } ] }, { "id": "authority-and-applicability", "name": "Authority and applicability", "description": "Who issued the statement, under what mandate, who now owns the record, and over what it claims to apply.", "rationale": "LegalRuleML makes Authority and Jurisdiction first-class, XACML carries a PolicyIssuer, ODRL requires an assigner on Offers and Agreements, and OSCAL requires roles, parties and responsible-party assignments; without these a statement cannot be trusted or bounded.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-010", "SRC-011", "SRC-013" ], "layers": [ { "id": "authority-and-accountability", "name": "Authority and accountability", "description": "Issuing authority and mandate at origin, and accountable ownership of the record afterwards.", "source_refs": [ "SRC-002", "SRC-003", "SRC-010", "SRC-013" ], "findings": [ { "id": "issuing-authority-and-mandate", "name": "Issuing authority and mandate", "description": "Which party issued the statement, under what legal or organisational competence, and by which recorded adoption decision.", "source_refs": [ "SRC-002", "SRC-003", "SRC-004" ], "questions": [ { "id": "q-issuing-party", "text": "Which party issued the statement, and under what legal or organisational mandate?", "kind": "authority", "answer_data": [ "issuing authority reference", "mandate basis reference", "mandate type code" ] }, { "id": "q-adoption-decision", "text": "Which body formally adopted the statement, and by which recorded decision?", "kind": "decision", "answer_data": [ "adopting body reference", "adoption decision reference", "adoption instant" ] }, { "id": "q-competence-bounds", "text": "Within what competence is the issuing authority empowered to bind?", "kind": "constraint", "answer_data": [ "competence scope description", "enabling instrument reference", "ultra vires risk note" ] }, { "id": "q-authority-evidence", "text": "What evidence supports the authority claim, and where does that evidence record live?", "kind": "evidence", "answer_data": [ "evidence record reference", "evidence custodian reference", "evidence sufficiency note" ] } ], "data_elements": [ { "id": "de-issuing-authority", "name": "issuing authority reference", "description": "Reference to the party record of the issuing authority.", "value_kind": "reference", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-003" ] }, { "id": "de-mandate-basis", "name": "mandate basis reference", "description": "Reference to the enabling instrument conferring authority to issue.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-adoption-decision", "name": "adoption decision reference", "description": "Reference to the record of the formal adoption or enactment decision.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004" ] } ], "artifacts": [], "inline_only_rationale": "Authority, mandate and adoption are carried as references to party records and decision records owned by other models; reproducing them here would duplicate externally owned evidence and drift toward owning an approval audit trail that this model explicitly disclaims." }, { "id": "ownership-stewardship-and-roles", "name": "Ownership, stewardship and roles", "description": "Accountable ownership of the statement record after issuance and the roles responsible for review, interpretation and succession.", "source_refs": [ "SRC-010", "SRC-013" ], "questions": [ { "id": "q-record-owner", "text": "Who is the accountable owner of the statement record after issuance?", "kind": "ownership", "answer_data": [ "record owner reference", "accountability basis", "owner package reference" ] }, { "id": "q-review-and-interpretation-roles", "text": "Which named roles are responsible for periodic review and for answering interpretation requests?", "kind": "process", "answer_data": [ "role identifier", "responsible party reference", "request intake reference" ] }, { "id": "q-role-assignment-time", "text": "How are role assignments recorded so that a responsible party can be resolved for any past instant?", "kind": "temporal", "answer_data": [ "role assignment interval", "assignment event time", "assignment record time" ] }, { "id": "q-owner-succession", "text": "What happens to ownership when the issuing authority is reorganised or dissolved?", "kind": "lifecycle", "answer_data": [ "successor owner reference", "succession instrument reference", "orphan handling rule" ] } ], "data_elements": [ { "id": "de-record-owner", "name": "record owner reference", "description": "Reference to the accountable owner of the statement record.", "value_kind": "reference", "cardinality": "1", "required": true, "source_refs": [ "SRC-010", "SRC-013" ] }, { "id": "de-responsible-role-assignment", "name": "responsible role assignment", "description": "Role identifier, assigned party reference and validity interval.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-010" ] }, { "id": "de-owner-succession-note", "name": "owner succession note", "description": "Recorded rule or instrument governing transfer of ownership.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-013" ] } ], "artifacts": [], "inline_only_rationale": "Ownership and role assignments are relationship records pointing at party master data owned elsewhere; they are answered from inline reference fields and time-bounded assignments, with no document produced or required by this model." } ] }, { "id": "applicability-scope", "name": "Applicability scope", "description": "Where, to whom, to what and under which conditions the statement claims to apply.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-007", "SRC-011" ], "findings": [ { "id": "jurisdiction-and-territorial-scope", "name": "Jurisdiction and territorial scope", "description": "The legal or organisational orders and territories over which the statement claims application, and how overlapping claims are declared.", "source_refs": [ "SRC-003", "SRC-011" ], "questions": [ { "id": "q-jurisdictions-claimed", "text": "Over which jurisdictions or territories does the statement claim application?", "kind": "spatial", "answer_data": [ "jurisdiction reference", "territorial coverage description", "coverage geometry" ] }, { "id": "q-connecting-factor", "text": "Which connecting factor triggers application when a party, resource or activity sits outside the issuing territory?", "kind": "constraint", "answer_data": [ "connecting factor code", "extraterritorial basis note" ] }, { "id": "q-subject-matter-competence", "text": "Which subject-matter competence, as distinct from geography, bounds the statement?", "kind": "classification", "answer_data": [ "subject-matter competence code", "competence vocabulary reference" ] }, { "id": "q-overlapping-claims", "text": "How are overlapping jurisdictional claims from different issuing authorities declared?", "kind": "relationship", "answer_data": [ "overlapping statement reference", "overlap note", "precedence pointer" ] } ], "data_elements": [ { "id": "de-jurisdiction-reference", "name": "jurisdiction reference", "description": "Reference to the legal or organisational order claimed.", "value_kind": "reference", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-003", "SRC-011" ] }, { "id": "de-territorial-coverage", "name": "territorial coverage geometry", "description": "Optional geometry or coded area for territorial application.", "value_kind": "geometry", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-011" ] }, { "id": "de-subject-matter-competence", "name": "subject-matter competence code", "description": "Coded subject-matter bound on the statement's competence.", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] } ], "artifacts": [], "inline_only_rationale": "Jurisdiction and competence are reference and coded values resolved against externally governed place and legal-order registries; the model records claims and pointers rather than producing any territorial document or map artifact of its own." }, { "id": "subject-target-action-and-context-scope", "name": "Subject, target, action and context scope", "description": "The parties, resources, actions and contextual conditions that bring the statement into application, expressed as references into models that own those things.", "source_refs": [ "SRC-001", "SRC-002", "SRC-006", "SRC-007" ], "questions": [ { "id": "q-in-scope-parties", "text": "Which parties, roles or subject attributes fall within the statement's application?", "kind": "relationship", "answer_data": [ "party or role reference", "subject attribute selector", "party collection refinement reference" ] }, { "id": "q-in-scope-targets", "text": "Which resources or object classes are the target of each rule slot?", "kind": "composition", "answer_data": [ "target resource reference", "resource collection reference", "per-slot target mapping" ] }, { "id": "q-governed-actions", "text": "Which actions or operations does each rule slot govern, and from which action vocabulary?", "kind": "interoperability", "answer_data": [ "action code", "action vocabulary reference", "action implication set" ] }, { "id": "q-context-conditions", "text": "Which environmental or contextual conditions must hold for the statement to be applicable?", "kind": "constraint", "answer_data": [ "context condition reference", "environment attribute selector" ] }, { "id": "q-governed-artefacts", "text": "Which processes, systems or datasets declare themselves governed by this statement?", "kind": "relationship", "answer_data": [ "governed item reference", "declaring model identifier", "edge direction note" ] } ], "data_elements": [ { "id": "de-in-scope-party", "name": "in-scope party reference", "description": "Reference to a party, role or attribute selector in application scope.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-in-scope-target", "name": "in-scope target reference", "description": "Reference to a resource or resource collection targeted by a rule slot.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-governed-action", "name": "governed action code", "description": "Coded action governed by a rule slot, drawn from a named action vocabulary.", "value_kind": "code", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-context-condition-reference", "name": "applicability context reference", "description": "Reference to a contextual or environmental condition record.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003", "SRC-007" ] } ], "artifacts": [], "inline_only_rationale": "Scope is a set of typed references into party, resource, action-vocabulary and process models that own those entities; materialising them as a local artifact would copy master data this model explicitly places out of scope." } ] } ] }, { "id": "normative-content-and-composition", "name": "Normative content and composition", "description": "The internal structure of the statement, how it composes into and inherits from larger statements, and how it binds to externally owned condition expressions and defined terms.", "rationale": "ODRL requires at least one rule and defines atomic rules, inheritFrom and profile conformance; XACML nests PolicySet, Policy and Rule and separates Target from Condition; OSCAL defines reusable parameters and profile tailoring. The condition expression itself is owned by the referenced constraint model.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005", "SRC-006", "SRC-010" ], "layers": [ { "id": "rule-structure-and-composition", "name": "Rule structure and composition", "description": "Rule-slot inventory, atomicity, containment in policy sets and inheritance from parent statements.", "source_refs": [ "SRC-001", "SRC-002", "SRC-010" ], "findings": [ { "id": "rule-slot-inventory-and-atomicity", "name": "Rule-slot inventory and atomicity", "description": "The complete set of rule slots a statement contains, whether each is atomic, and which duties, remedies or consequences attach to them.", "source_refs": [ "SRC-001", "SRC-002" ], "questions": [ { "id": "q-slot-inventory", "text": "What is the complete inventory of rule slots the statement contains, and is each one atomic?", "kind": "composition", "answer_data": [ "rule slot list", "atomicity status per slot", "slot identifier" ] }, { "id": "q-minimum-slot-requirement", "text": "Must the statement contain at least one rule slot to be valid?", "kind": "requirement", "answer_data": [ "minimum cardinality rule", "validity consequence of an empty statement" ] }, { "id": "q-compact-expansion", "text": "How is a compact statement expanded into atomic rule slots without changing meaning?", "kind": "process", "answer_data": [ "shared property list", "expansion rule reference", "expanded slot set" ] }, { "id": "q-attached-duties", "text": "Which duties, remedies or consequences attach to a given permission or prohibition slot?", "kind": "relationship", "answer_data": [ "attached duty reference", "attachment role code", "chained consequence reference" ] } ], "data_elements": [ { "id": "de-rule-slot", "name": "rule slot", "description": "A single normative slot with modality, action, target and party function.", "value_kind": "collection", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-rule-slot-identifier", "name": "rule slot identifier", "description": "Identifier of an individual rule slot within the statement.", "value_kind": "identifier", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-002" ] }, { "id": "de-attached-duty-reference", "name": "attached duty reference", "description": "Reference to a duty, remedy or consequence attached to a slot.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [], "inline_only_rationale": "The rule-slot inventory is the structured body of the statement record itself and is answered entirely from inline structured fields; the rendered form of that body is already covered by the consolidated expression artifact under version identity." }, { "id": "policy-set-containment-and-inheritance", "name": "Policy-set containment and inheritance", "description": "How the statement nests inside larger policy sets and inherits rules or properties from parent statements without circularity.", "source_refs": [ "SRC-001", "SRC-002", "SRC-010" ], "questions": [ { "id": "q-containment-path", "text": "Is the statement contained in a larger policy set, and what is the containment path?", "kind": "composition", "answer_data": [ "containing set reference", "containment path", "containment depth" ] }, { "id": "q-inheritance-parents", "text": "From which parent statements does this one inherit rules or properties?", "kind": "relationship", "answer_data": [ "parent statement reference", "inherited property list" ] }, { "id": "q-circularity-check", "text": "How is circularity in the inheritance graph prevented and detected?", "kind": "validation", "answer_data": [ "acyclicity assertion", "detection method reference", "detected cycle record" ] }, { "id": "q-non-inherited", "text": "Which parent properties are explicitly not transferred to the child statement?", "kind": "constraint", "answer_data": [ "non-inherited property code", "exclusion basis note" ] } ], "data_elements": [ { "id": "de-containing-set-reference", "name": "containing policy set reference", "description": "Reference to a policy set that contains this statement.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002" ] }, { "id": "de-inherit-from-reference", "name": "inherit-from reference", "description": "Reference to a parent statement from which rules or properties are inherited.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-non-inherited-property", "name": "non-inherited property code", "description": "Property explicitly excluded from inheritance.", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [], "inline_only_rationale": "Containment and inheritance are graph edges between statement records; they are fully answerable from inline reference fields and an acyclicity assertion, and materialising the resolved graph would be a derived view rather than a governed artifact." } ] }, { "id": "condition-binding-and-interpretation", "name": "Condition binding and interpretation", "description": "References to externally owned condition expressions, the parameter values this subject sets, and the vocabulary that fixes the meaning of terms.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005", "SRC-006", "SRC-010" ], "findings": [ { "id": "constraint-expression-binding", "name": "Constraint expression binding", "description": "How each rule slot points at a constraint or rule expression owned by the referenced constraint model, and what binding metadata travels with the pointer.", "source_refs": [ "SRC-001", "SRC-002", "SRC-006" ], "questions": [ { "id": "q-bound-expression", "text": "Which externally owned constraint or rule expression does each rule slot bind to?", "kind": "relationship", "answer_data": [ "constraint expression reference", "owning model identifier", "binding cardinality" ] }, { "id": "q-binding-point", "text": "At which binding point does the expression attach: rule condition, action refinement, or collection refinement?", "kind": "composition", "answer_data": [ "binding point code", "attachment target identifier" ] }, { "id": "q-expression-language", "text": "Which expression language and version is the referenced constraint written in?", "kind": "interoperability", "answer_data": [ "expression language reference", "language version", "profile identifier" ] }, { "id": "q-unresolved-reference", "text": "What happens to the statement when a referenced expression is unavailable or not understood?", "kind": "exception", "answer_data": [ "unresolved reference handling code", "fail-closed or fail-open declaration", "escalation contact reference" ] } ], "data_elements": [ { "id": "de-constraint-expression-reference", "name": "constraint expression reference", "description": "Pointer to an expression record owned by the referenced constraint model.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "de-binding-point", "name": "binding point code", "description": "Where the referenced expression attaches within the rule slot.", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] }, { "id": "de-unresolved-reference-handling", "name": "unresolved reference handling code", "description": "Declared behaviour when a bound expression cannot be resolved or understood.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-001" ] } ], "artifacts": [], "inline_only_rationale": "This finding deliberately carries only pointers and binding metadata. The constraint expression, its operators, operands and logical composition are owned by WM-KNW-013, so declaring an expression artifact here would reproduce a target model's content and violate the reference boundary." }, { "id": "parameterization-and-tailoring-values", "name": "Parameterisation and tailoring values", "description": "Parameters the statement exposes and the subject-specific values the adopting organisation sets, kept distinct from amendment of the statement itself.", "source_refs": [ "SRC-001", "SRC-006", "SRC-010" ], "questions": [ { "id": "q-parameter-definitions", "text": "Which parameters does the statement expose, and what are their permitted value sets?", "kind": "definition", "answer_data": [ "parameter identifier", "permitted value set", "default value" ] }, { "id": "q-parameter-values-set", "text": "Which parameter values has the adopting organisation set for this statement?", "kind": "decision", "answer_data": [ "parameter value assignment", "setting party reference", "setting instant" ] }, { "id": "q-parameter-units", "text": "Which unit and datatype governs each parameter value?", "kind": "measurement", "answer_data": [ "datatype reference", "unit reference", "precision note" ] }, { "id": "q-tailoring-versus-amendment", "text": "How is a tailoring change to a parameter distinguished from an amendment of the statement?", "kind": "lifecycle", "answer_data": [ "tailoring change class code", "affected version chain", "change record reference" ] } ], "data_elements": [ { "id": "de-parameter-definition", "name": "parameter definition", "description": "Declared parameter with identifier, permitted values and default.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-010", "SRC-006" ] }, { "id": "de-parameter-value-assignment", "name": "parameter value assignment", "description": "Subject-specific value set by the adopting organisation.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-010" ] }, { "id": "de-parameter-unit", "name": "parameter unit reference", "description": "Unit governing a quantity-valued parameter.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [], "inline_only_rationale": "Parameter definitions and assigned values are structured inline data on the statement record; the relation ledger permits this model to carry subject-specific parameters, but producing a tailoring document would encroach on the referenced expression model's own publication surface." }, { "id": "defined-terms-and-vocabulary-binding", "name": "Defined terms and vocabulary binding", "description": "Which governed vocabulary fixes the meaning of terms used in the statement, which terms are defined locally, and which profiles a processor must understand.", "source_refs": [ "SRC-001", "SRC-005" ], "questions": [ { "id": "q-vocabulary-source", "text": "Which controlled vocabulary supplies the meaning of terms used in the statement?", "kind": "definition", "answer_data": [ "vocabulary reference", "vocabulary governing body", "vocabulary version" ] }, { "id": "q-local-definition-override", "text": "Which locally defined terms override an otherwise applicable general definition, and within what scope?", "kind": "constraint", "answer_data": [ "local term definition", "override scope", "displaced definition reference" ] }, { "id": "q-required-profiles", "text": "Which profile identifiers must a consuming processor understand before interpreting the statement?", "kind": "interoperability", "answer_data": [ "required profile identifier", "processor obligation on unknown profile" ] }, { "id": "q-vocabulary-versioning", "text": "How are term definitions versioned relative to the statement that uses them?", "kind": "temporal", "answer_data": [ "vocabulary version binding", "binding policy code", "drift detection note" ] } ], "data_elements": [ { "id": "de-vocabulary-reference", "name": "vocabulary reference", "description": "Reference to a governed vocabulary or concept scheme.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-005", "SRC-001" ] }, { "id": "de-local-term-definition", "name": "local term definition", "description": "Term defined within the statement, with its scope of application.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-005" ] }, { "id": "de-required-profile-identifier", "name": "required profile identifier", "description": "Profile a processor must understand to interpret the statement.", "value_kind": "identifier", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [ { "id": "governed-vocabulary-document", "name": "Governed vocabulary or glossary", "description": "The controlled vocabulary, glossary or concept scheme that fixes the meaning of terms used in the statement, referenced at a pinned version.", "media_or_form": [ "controlled vocabulary", "glossary document", "concept scheme" ], "serial": false, "identity_strategy": "Authoritative vocabulary identifier from the registry that manages the vocabulary; otherwise the governed vocabulary IRI plus version token; otherwise a UUID minted by the adopting Dimension for a locally held glossary.", "source_refs": [ "SRC-005", "SRC-001" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "precedence-conflict-and-exceptions", "name": "Precedence, conflict and exceptions", "description": "How the statement declares its precedence relative to other statements, how conflicts are named, and which derogations and open interpretations are on record.", "rationale": "The known-relation ledger explicitly keeps generic conflict rules in this model. XACML combining algorithm identifiers, DMN hit policies, ODRL conflict terms and LegalRuleML Override relations are declarations carried by the statement; their execution belongs to a referenced runtime.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-006", "SRC-012", "SRC-013" ], "layers": [ { "id": "precedence-and-conflict-declaration", "name": "Precedence and conflict declaration", "description": "Declared strategy identifiers and pairwise superiority relations that determine which statement prevails.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-006", "SRC-012" ], "findings": [ { "id": "combining-and-hit-policy-declaration", "name": "Combining and hit-policy declaration", "description": "The strategy identifier the statement declares for reconciling multiple applicable rule slots, and where the normative definition of that strategy lives.", "source_refs": [ "SRC-001", "SRC-002", "SRC-006" ], "questions": [ { "id": "q-declared-strategy", "text": "Which combining or hit-policy strategy identifier does the statement declare for its rule slots?", "kind": "decision", "answer_data": [ "strategy identifier", "strategy family code", "scope of the declaration" ] }, { "id": "q-strategy-definition-owner", "text": "Where is the normative definition of that strategy published, and who owns its execution?", "kind": "authority", "answer_data": [ "strategy definition reference", "executing runtime reference", "ownership disclaimer note" ] }, { "id": "q-order-sensitivity", "text": "Is the declared strategy order-sensitive, and if so what fixes the order?", "kind": "constraint", "answer_data": [ "order sensitivity flag", "ordering basis", "ordered slot sequence" ] }, { "id": "q-conflict-term", "text": "Which conflict term applies when a permission and a prohibition both match?", "kind": "exception", "answer_data": [ "conflict term code", "voiding consequence", "merge conflict handling note" ] } ], "data_elements": [ { "id": "de-combining-strategy-identifier", "name": "combining strategy identifier", "description": "Declared identifier of the combining or hit-policy strategy.", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-006" ] }, { "id": "de-strategy-definition-reference", "name": "strategy definition reference", "description": "Pointer to the specification defining the declared strategy.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002" ] }, { "id": "de-conflict-term", "name": "conflict term code", "description": "Declared policy-level conflict resolution term.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [], "inline_only_rationale": "These are coded declarations pointing at strategies defined in external specifications. The evaluation that applies a combining algorithm or hit policy belongs to a referenced decision runtime, so this model produces no artifact and asserts no execution semantics here." }, { "id": "override-and-superiority-relations", "name": "Override and superiority relations", "description": "Pairwise precedence between this statement and others, the ground on which precedence rests, and what is recorded when nothing resolves a conflict.", "source_refs": [ "SRC-003", "SRC-012" ], "questions": [ { "id": "q-override-edges", "text": "Which other statements does this one override, and which override it?", "kind": "relationship", "answer_data": [ "overrides reference", "overridden-by reference", "edge scope" ] }, { "id": "q-override-ground", "text": "On what declared ground does an override rest, such as specificity, recency or hierarchy of authority?", "kind": "authority", "answer_data": [ "override ground code", "supporting authority reference" ] }, { "id": "q-precedence-acyclicity", "text": "Is the resulting precedence graph acyclic, and how is that checked?", "kind": "validation", "answer_data": [ "acyclicity assertion", "check method reference", "detected cycle list" ] }, { "id": "q-unresolved-conflict", "text": "What is recorded when a conflict is detected but no superiority relation resolves it?", "kind": "exception", "answer_data": [ "unresolved conflict record", "escalation route reference", "interim handling note" ] } ], "data_elements": [ { "id": "de-overrides-reference", "name": "overrides reference", "description": "Statement over which this one takes precedence.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-overridden-by-reference", "name": "overridden-by reference", "description": "Statement that takes precedence over this one.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-override-ground", "name": "override ground code", "description": "Declared basis for the superiority relation.", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-unresolved-conflict-record", "name": "unresolved conflict record", "description": "Record naming a detected but unresolved conflict and its escalation route.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003", "SRC-012" ] } ], "artifacts": [], "inline_only_rationale": "Superiority relations are typed edges between statement records with a declared ground; they are answered from inline reference fields, and the model records rather than resolves conflicts, so no adjudication document is produced." } ] }, { "id": "exceptions-and-open-interpretations", "name": "Exceptions and open interpretations", "description": "Registered derogations from the statement and formally recorded competing readings of it.", "source_refs": [ "SRC-001", "SRC-003", "SRC-012", "SRC-013" ], "findings": [ { "id": "derogation-and-waiver-declaration", "name": "Derogation and waiver declaration", "description": "Registered exceptions, waivers and derogations from the statement, their granting authority, scope, period and compensating obligations.", "source_refs": [ "SRC-001", "SRC-003", "SRC-013" ], "questions": [ { "id": "q-registered-derogations", "text": "Which exceptions, waivers or derogations from this statement are currently registered?", "kind": "exception", "answer_data": [ "derogation record reference", "affected rule slot reference", "derogation status" ] }, { "id": "q-granting-authority", "text": "Which authority may grant a derogation, and is that authority distinct from the issuer?", "kind": "authority", "answer_data": [ "granting authority reference", "distinctness assertion", "granting mandate reference" ] }, { "id": "q-derogation-scope-and-period", "text": "For which parties, resources or period does each derogation hold?", "kind": "temporal", "answer_data": [ "beneficiary reference", "scope selector", "validity interval" ] }, { "id": "q-compensating-obligation", "text": "Which compensating obligation or remedy attaches to a granted derogation?", "kind": "requirement", "answer_data": [ "compensating obligation reference", "remedy description", "monitoring pointer" ] } ], "data_elements": [ { "id": "de-derogation-record-reference", "name": "derogation record reference", "description": "Reference to a registered derogation, waiver or exception.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003", "SRC-013" ] }, { "id": "de-granting-authority", "name": "granting authority reference", "description": "Party empowered to grant the derogation.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-derogation-validity-interval", "name": "derogation validity interval", "description": "Start and end instants over which the derogation holds.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-009", "SRC-003" ] }, { "id": "de-compensating-obligation", "name": "compensating obligation reference", "description": "Obligation attached as a condition of the derogation.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001" ] } ], "artifacts": [ { "id": "derogation-instrument", "name": "Granted derogation or waiver instrument", "description": "The instrument by which a competent authority grants a time-bounded exception from named rule slots, with its scope and any compensating obligations.", "media_or_form": [ "signed instrument", "register entry", "structured decision record" ], "serial": true, "identity_strategy": "Authoritative derogation register number issued by the granting authority's system of record; otherwise a governed IRI minted for the derogation; otherwise a ULID minted by the adopting Dimension with the fallback reason recorded.", "source_refs": [ "SRC-003", "SRC-013" ] } ], "inline_only_rationale": null }, { "id": "declared-conflicts-and-alternatives", "name": "Declared conflicts and alternative interpretations", "description": "Competing readings, known contradictions and semantic gaps recorded against the statement so that consumers are not misled into assuming settled meaning.", "source_refs": [ "SRC-003", "SRC-012" ], "questions": [ { "id": "q-recorded-alternatives", "text": "Which competing interpretations of the statement are formally recorded as alternatives?", "kind": "quality", "answer_data": [ "alternative interpretation record", "proposing party reference", "status of the alternative" ] }, { "id": "q-known-contradictions", "text": "Which contradictions with other statements are identified but not yet resolved?", "kind": "validation", "answer_data": [ "contradicting statement reference", "contradiction description", "resolution owner reference" ] }, { "id": "q-semantic-gaps", "text": "Which parts of the applicable standard's semantics are non-normative or incomplete for this statement?", "kind": "interoperability", "answer_data": [ "semantic gap note", "affected standard reference", "claim limitation" ] }, { "id": "q-interpretation-decision", "text": "Who decides between recorded alternatives, and how is that decision captured?", "kind": "decision", "answer_data": [ "deciding authority reference", "interpretation decision reference", "effective instant of the decision" ] } ], "data_elements": [ { "id": "de-alternative-interpretation", "name": "alternative interpretation record", "description": "A recorded competing reading with its proposer and status.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-known-contradiction-note", "name": "known contradiction note", "description": "Narrative record of an unresolved contradiction with another statement.", "value_kind": "text", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003", "SRC-012" ] }, { "id": "de-semantic-gap-note", "name": "semantic gap note", "description": "Recorded incompleteness in an aligned standard's semantics.", "value_kind": "text", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-012" ] } ], "artifacts": [], "inline_only_rationale": "Alternatives, contradictions and semantic gaps are narrative and reference annotations attached to the statement record; they are consumed as inline caveats and would lose their binding to the specific rule slot if separated into a standalone document." } ] } ] }, { "id": "lifecycle-time-and-provenance", "name": "Lifecycle, time and provenance", "description": "How the statement record moves through its states, over which intervals it is in force and efficacious, and where its content came from.", "rationale": "Akoma Ntoso and LegalRuleML separate in-force, efficacy and applicability and require dated lifecycle events; PROV-O supplies the derivation and attribution chain; RFC 3339 fixes the timestamp form and the separation of event time from record time.", "source_refs": [ "SRC-003", "SRC-004", "SRC-008", "SRC-009", "SRC-010", "SRC-011", "SRC-013" ], "layers": [ { "id": "lifecycle-and-supersession", "name": "Lifecycle and supersession", "description": "Permitted states of the statement record and the amendment, replacement and repeal relations between statements.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004", "SRC-011", "SRC-013" ], "findings": [ { "id": "policy-lifecycle-state-model", "name": "Statement lifecycle state model", "description": "The permitted lifecycle states of the statement record, the transitions between them, and which transitions depend on an external approval decision.", "source_refs": [ "SRC-003", "SRC-004", "SRC-013" ], "questions": [ { "id": "q-permitted-states", "text": "What are the permitted lifecycle states of the statement record, from draft to repealed?", "kind": "lifecycle", "answer_data": [ "lifecycle state code", "state definition", "terminal state list" ] }, { "id": "q-transition-approvals", "text": "Which transitions are permitted, and which require an external approval decision?", "kind": "state", "answer_data": [ "permitted transition pair", "approval requirement flag", "approval decision reference" ] }, { "id": "q-suspension-effect", "text": "How is suspension recorded, and what does it change about applicability while it lasts?", "kind": "process", "answer_data": [ "suspension record", "suspension interval", "applicability effect note" ] }, { "id": "q-dated-events", "text": "Which lifecycle events must carry a date, and which are merely recorded?", "kind": "event", "answer_data": [ "event type code", "date requirement flag", "recorded event instant" ] } ], "data_elements": [ { "id": "de-lifecycle-state", "name": "lifecycle state code", "description": "Current state of the statement record.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-004", "SRC-013" ] }, { "id": "de-permitted-transition", "name": "permitted transition", "description": "Allowed from-state to to-state pair with any approval requirement.", "value_kind": "collection", "cardinality": "1..n", "required": true, "source_refs": [ "SRC-004" ] }, { "id": "de-suspension-record", "name": "suspension record", "description": "Recorded suspension with its interval and granting authority.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-003" ] } ], "artifacts": [], "inline_only_rationale": "Lifecycle states and transitions are structured state data on the statement record. The approval decisions that authorise transitions live in decision records owned elsewhere, and this model references them rather than reproducing an approval dossier." }, { "id": "amendment-supersession-and-repeal", "name": "Amendment, supersession and repeal", "description": "Which statements this one amends, replaces or repeals, at what provision granularity, and what a processor must do when replacement is declared.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004", "SRC-011" ], "questions": [ { "id": "q-modification-targets", "text": "Which statements does this one amend, replace or repeal, and at which provision granularity?", "kind": "relationship", "answer_data": [ "amended statement reference", "affected provision anchor", "modification scope" ] }, { "id": "q-amending-instrument", "text": "Which amending instrument produced the current consolidated expression?", "kind": "provenance", "answer_data": [ "amending instrument reference", "application instant", "consolidation note" ] }, { "id": "q-replacement-obligation", "text": "What must a processor do when the statement declares that it has been replaced?", "kind": "requirement", "answer_data": [ "replacement handling rule", "replacement target reference", "voiding consequence" ] }, { "id": "q-partial-versus-full-repeal", "text": "How is a partial repeal distinguished from a full repeal in the record?", "kind": "classification", "answer_data": [ "modification type code", "repealed provision list", "residual validity note" ] } ], "data_elements": [ { "id": "de-amends-reference", "name": "amends reference", "description": "Statement amended, replaced or repealed by this one.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-004", "SRC-011" ] }, { "id": "de-replaced-by-reference", "name": "replaced-by reference", "description": "Statement that replaces this one.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-011" ] }, { "id": "de-modification-type", "name": "modification type code", "description": "Amendment, partial repeal, full repeal or consolidation.", "value_kind": "code", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-004" ] }, { "id": "de-affected-provision-anchor", "name": "affected provision anchor", "description": "Pointer to the specific provision changed by a modification.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-004", "SRC-003" ] } ], "artifacts": [ { "id": "amending-instrument", "name": "Amending or repealing instrument", "description": "The instrument that changes or removes provisions of a statement, carrying the modification set and the provisions it affects.", "media_or_form": [ "legislative or directive instrument", "structured modification set", "published amendment record" ], "serial": true, "identity_strategy": "Authoritative instrument identifier issued by the enacting or publishing system of record; otherwise the governed instrument IRI; otherwise a UUID minted by the adopting Dimension with the fallback reason recorded.", "source_refs": [ "SRC-004", "SRC-011" ] } ], "inline_only_rationale": null } ] }, { "id": "temporal-validity", "name": "Temporal validity", "description": "The intervals over which the statement is in force, efficacious and applicable, and the separation of event time from record time.", "source_refs": [ "SRC-003", "SRC-004", "SRC-009", "SRC-010" ], "findings": [ { "id": "validity-intervals-and-record-time", "name": "Validity intervals and record time", "description": "Distinct in-force, efficacy and applicability intervals, expressed as RFC 3339 instants, with event time kept separate from observation or ingestion time.", "source_refs": [ "SRC-003", "SRC-004", "SRC-009", "SRC-010" ], "questions": [ { "id": "q-entry-into-force", "text": "When does the statement enter into force, and is that distinct from when it was adopted?", "kind": "temporal", "answer_data": [ "entry-into-force instant", "adoption instant", "distinctness note" ] }, { "id": "q-efficacy-interval", "text": "Over which interval is the statement efficacious, and can efficacy begin after entry into force?", "kind": "state", "answer_data": [ "efficacy start instant", "efficacy end instant", "deferred efficacy note" ] }, { "id": "q-applicability-interval", "text": "To which facts or periods does the statement apply, as distinct from when it is in force?", "kind": "constraint", "answer_data": [ "applicability interval", "retroactivity flag", "transitional provision reference" ] }, { "id": "q-event-versus-record-time", "text": "What is the observation or ingestion instant at which each dated occurrence was captured in the register?", "kind": "provenance", "answer_data": [ "event time", "record ingestion time", "capturing system reference" ] }, { "id": "q-unknown-offset", "text": "How is an instant with an unknown local offset represented without falsely asserting UTC local time?", "kind": "requirement", "answer_data": [ "offset-known flag", "negative-zero offset usage rule", "ordering basis code" ] } ], "data_elements": [ { "id": "de-entry-into-force-instant", "name": "entry-into-force instant", "description": "RFC 3339 instant at which the statement enters into force.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003", "SRC-009" ] }, { "id": "de-efficacy-interval", "name": "efficacy interval", "description": "Start and end instants over which the statement is efficacious.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003", "SRC-004" ] }, { "id": "de-applicability-interval", "name": "applicability interval", "description": "Period of facts to which the statement applies, which may precede entry into force.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003" ] }, { "id": "de-record-ingestion-time", "name": "record ingestion time", "description": "Instant at which the register captured the occurrence, distinct from event time.", "value_kind": "timestamp", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-009", "SRC-010" ] } ], "artifacts": [], "inline_only_rationale": "Validity intervals and timestamps are scalar and interval values on the statement record; they are consumed by point-in-time resolution and carry no rendered form, so no artifact is declared and none is required to answer the questions." } ] }, { "id": "provenance-and-source-mapping", "name": "Provenance and source mapping", "description": "Where the statement's content came from, who is accountable for it, and which authoritative provision each rule slot derives from.", "source_refs": [ "SRC-003", "SRC-004", "SRC-007", "SRC-008", "SRC-011" ], "findings": [ { "id": "authoring-derivation-and-source-mapping", "name": "Authoring, derivation and source mapping", "description": "The attribution and derivation chain of the expression, and the mapping from rule slots to authoritative source provisions including fidelity of any machine rendering.", "source_refs": [ "SRC-003", "SRC-004", "SRC-007", "SRC-008" ], "questions": [ { "id": "q-attributed-agents", "text": "Which agents authored, revised or are otherwise accountable for the expression's content?", "kind": "provenance", "answer_data": [ "attributed agent reference", "accountability role code", "attribution instant" ] }, { "id": "q-derivation-activity", "text": "From which prior entity was this expression derived, and by which activity?", "kind": "process", "answer_data": [ "derived-from reference", "generating activity reference", "revision-of reference" ] }, { "id": "q-source-provision-mapping", "text": "Which authoritative source provision does each rule slot derive from?", "kind": "composition", "answer_data": [ "legal source reference", "provision anchor", "slot-to-provision mapping" ] }, { "id": "q-rendering-fidelity", "text": "Is the machine-interpretable statement a faithful rendering of a natural-language original, and who certified that?", "kind": "evidence", "answer_data": [ "fidelity attestation reference", "certifying party reference", "known divergence list" ] }, { "id": "q-primary-versus-compilation", "text": "Which primary source is cited, as distinct from an intermediate compilation or consolidation?", "kind": "quality", "answer_data": [ "primary source reference", "intermediate compilation reference", "preference rule" ] } ], "data_elements": [ { "id": "de-attributed-agent", "name": "attributed agent reference", "description": "Agent to whom the expression or a revision is attributed.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-008" ] }, { "id": "de-derived-from-reference", "name": "derived-from reference", "description": "Prior entity from which the expression was derived.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-008" ] }, { "id": "de-provision-anchor", "name": "provision anchor", "description": "Pointer to a specific provision of an authoritative source text.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-004", "SRC-003" ] }, { "id": "de-rendering-fidelity-attestation", "name": "rendering fidelity attestation", "description": "Reference to an attestation that a machine rendering is faithful to its natural-language original.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-007" ] }, { "id": "de-generation-instant", "name": "expression generation instant", "description": "Instant at which the expression was generated.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-008", "SRC-009" ] } ], "artifacts": [ { "id": "authoritative-source-instrument", "name": "Authoritative source instrument", "description": "The published instrument that is the primary source of the statement's normative content, cited at provision granularity.", "media_or_form": [ "published legal instrument", "official gazette record", "published standard or code of practice" ], "serial": true, "identity_strategy": "Authoritative publication identifier assigned by the official publisher's system of record; otherwise the governed legislation or standard identifier IRI; otherwise a UUID minted by the adopting Dimension with the fallback reason recorded.", "source_refs": [ "SRC-004", "SRC-011", "SRC-003" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "assurance-disclosure-and-interoperability", "name": "Assurance, disclosure and interoperability", "description": "Declared alignments and structural conformance of the statement, its review status, and how the record itself is classified, disclosed and retained.", "rationale": "Standards must be recorded as alignments rather than conformance claims; OSCAL fixes manifestation integrity and metadata change rules; ISO 37301 requires compliance obligations to be documented and kept current; Akoma Ntoso and ELI govern publication and point-in-time retrievability.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004", "SRC-010", "SRC-011", "SRC-012", "SRC-013" ], "layers": [ { "id": "assurance-and-alignment", "name": "Assurance and alignment", "description": "Review status and recorded defects of the statement, and its declared structural conformance and standard alignments.", "source_refs": [ "SRC-001", "SRC-002", "SRC-006", "SRC-010", "SRC-012", "SRC-013" ], "findings": [ { "id": "statement-quality-and-review-status", "name": "Statement quality and review status", "description": "Review cadence, recorded defects in the statement itself, and confidence in any machine-interpretable rendering.", "source_refs": [ "SRC-002", "SRC-006", "SRC-007", "SRC-013" ], "questions": [ { "id": "q-review-cadence", "text": "When was the statement last reviewed, and when is the next review due?", "kind": "quality", "answer_data": [ "last review instant", "next review due instant", "review cadence rule" ] }, { "id": "q-recorded-defects", "text": "Which recorded defects affect the statement, such as ambiguity, unreachable rule slots or missing definitions?", "kind": "validation", "answer_data": [ "defect type code", "affected slot reference", "defect severity" ] }, { "id": "q-rendering-confidence", "text": "What is the declared confidence in the machine-interpretable rendering of the statement?", "kind": "measurement", "answer_data": [ "confidence code", "basis of the confidence assessment", "assessing party reference" ] }, { "id": "q-withdrawal-trigger", "text": "Which review outcomes require the statement to be withdrawn from use?", "kind": "decision", "answer_data": [ "withdrawal trigger code", "deciding role reference", "withdrawal transition reference" ] } ], "data_elements": [ { "id": "de-last-review-instant", "name": "last review instant", "description": "Instant of the most recent recorded review.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-013", "SRC-009" ] }, { "id": "de-next-review-due", "name": "next review due instant", "description": "Instant by which the next review must occur.", "value_kind": "timestamp", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-013" ] }, { "id": "de-recorded-defect", "name": "recorded defect", "description": "Defect recorded against the statement with type, severity and affected slot.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002", "SRC-006" ] } ], "artifacts": [], "inline_only_rationale": "Review status and defect records are governance metadata held inline on the statement record; the review meetings, findings dossiers and assessment reports that produce them belong to a compliance-management model that this model deliberately does not own." }, { "id": "conformance-and-standard-alignment", "name": "Structural conformance and standard alignment", "description": "Which external standards or profiles the statement declares alignment with, which structural requirements make it well-formed, and how published manifestations are integrity-checked.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-010", "SRC-012" ], "questions": [ { "id": "q-alignment-declarations", "text": "Which external standards or profiles does the statement declare alignment with, and on what evidence?", "kind": "interoperability", "answer_data": [ "aligned standard reference", "alignment evidence", "conformance versus alignment flag" ] }, { "id": "q-wellformedness", "text": "Which structural requirements must hold for the statement to be well-formed, independent of any runtime?", "kind": "requirement", "answer_data": [ "well-formedness rule reference", "required element list", "failure consequence" ] }, { "id": "q-partial-alignment", "text": "Which declared alignments are partial, and where do the semantics diverge?", "kind": "quality", "answer_data": [ "divergence note", "unmappable construct list", "fidelity loss description" ] }, { "id": "q-manifestation-integrity", "text": "Which serialization bindings are published, and how is manifestation integrity verified?", "kind": "security", "answer_data": [ "manifestation reference", "content digest", "digest algorithm reference" ] } ], "data_elements": [ { "id": "de-alignment-declaration", "name": "alignment declaration", "description": "Declared alignment to an external standard with its evidence and scope.", "value_kind": "object", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-002", "SRC-003" ] }, { "id": "de-wellformedness-rule-reference", "name": "well-formedness rule reference", "description": "Reference to the structural rule set the statement must satisfy.", "value_kind": "reference", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002" ] }, { "id": "de-divergence-note", "name": "alignment divergence note", "description": "Recorded semantic divergence in a partial alignment.", "value_kind": "text", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-012" ] }, { "id": "de-manifestation-digest", "name": "manifestation integrity digest", "description": "Content digest binding a published manifestation to its expression.", "value_kind": "text", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-010" ] } ], "artifacts": [ { "id": "machine-readable-manifestation", "name": "Machine-readable statement manifestation", "description": "A published serialization of one expression of the statement, paired with a content digest and the identifier of the expression it manifests.", "media_or_form": [ "serialized policy expression", "structured data manifestation", "published exchange package" ], "serial": false, "identity_strategy": "Authoritative manifestation identifier from the publishing system of record; otherwise the governed expression IRI combined with a format token; otherwise a UUID minted by the adopting Dimension, in all cases paired with a content digest.", "source_refs": [ "SRC-010", "SRC-004", "SRC-001" ] } ], "inline_only_rationale": null } ] }, { "id": "disclosure-and-retention", "name": "Disclosure and retention", "description": "Sensitivity classification and publication audience of the statement record, and retention and disposition of superseded expressions.", "source_refs": [ "SRC-004", "SRC-010", "SRC-011", "SRC-013" ], "findings": [ { "id": "record-classification-access-and-retention", "name": "Record classification, access and retention", "description": "How the statement record itself is classified and published, and how long its superseded expressions are retained before a declared disposition.", "source_refs": [ "SRC-004", "SRC-010", "SRC-011", "SRC-013" ], "questions": [ { "id": "q-record-classification", "text": "What sensitivity classification applies to the statement record itself, as distinct from what it governs?", "kind": "security", "answer_data": [ "record classification code", "classification authority reference", "declassification trigger" ] }, { "id": "q-publication-audience", "text": "Which statements are published openly, and which are restricted to named audiences?", "kind": "access", "answer_data": [ "publication audience code", "restricted audience reference", "citation stub content" ] }, { "id": "q-redaction-and-citability", "text": "Which parts of a statement may be redacted while leaving it citable?", "kind": "exception", "answer_data": [ "redaction marker", "redaction basis", "residual citation form" ] }, { "id": "q-retention-period", "text": "How long must superseded expressions be retained to support point-in-time reconstruction?", "kind": "retention", "answer_data": [ "retention period", "reconstruction window", "governing retention schedule reference" ] }, { "id": "q-disposition-and-tombstone", "text": "Which disposition action applies at the end of retention, who executes it, and what tombstone remains resolvable?", "kind": "lifecycle", "answer_data": [ "disposition action code", "executing authority reference", "tombstone record content" ] } ], "data_elements": [ { "id": "de-record-classification", "name": "record classification code", "description": "Sensitivity classification of the statement record.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-010", "SRC-013" ] }, { "id": "de-publication-audience", "name": "publication audience code", "description": "Declared audience for the published expression.", "value_kind": "code", "cardinality": "1", "required": true, "source_refs": [ "SRC-011", "SRC-004" ] }, { "id": "de-retention-period", "name": "retention period", "description": "Minimum period for which superseded expressions must be retained.", "value_kind": "duration", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-013", "SRC-004" ] }, { "id": "de-disposition-action", "name": "disposition action code", "description": "Destruction, transfer or permanent preservation at end of retention.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-013" ] }, { "id": "de-tombstone-record", "name": "tombstone record", "description": "Minimal resolvable record left after disposition of an expression.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-011", "SRC-004" ] } ], "artifacts": [], "inline_only_rationale": "Classification, audience, retention period, disposition class and tombstone are declarative fields on the statement record. Execution of destruction, transfer or preservation, and the log of that execution, belong to the adopting Dimension's records-retention authority, so no artifact is produced here." } ] } ] } ] }, "functions": [ { "id": "register-normative-statement", "name": "Register a normative statement", "description": "Create a governed record for a normative statement with an identifier, an issuing authority, an instrument genre and at least one rule slot.", "inputs": [ "draft statement content or reference", "issuing authority reference", "instrument genre code", "jurisdiction reference", "initial rule slot set" ], "outputs": [ "registered statement record", "assigned master identifier or minted fallback identifier", "initial lifecycle state" ], "preconditions": [ "An issuing authority reference resolves in the party model", "At least one rule slot with a deontic modality and a governed action is supplied", "The identity priority has been applied and any fallback reason recorded" ], "effects": [ "Statement identifier is reserved and made resolvable", "Adoption event time and register ingestion time are recorded separately", "Provenance attribution for the initial expression is recorded" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-008", "SRC-011" ] }, { "id": "issue-version-expression", "name": "Issue a new version expression", "description": "Create a new dated expression of an existing statement work and link it to the expression it supersedes.", "inputs": [ "work identifier", "changed content", "modification type code", "effective instants" ], "outputs": [ "new expression record with version designator", "supersession link", "new record UUID and last-modified instant" ], "preconditions": [ "The work identifier resolves", "The prior expression is in a state that permits supersession", "The modification type is declared" ], "effects": [ "Prior expression is marked superseded with an end of currency", "Work identifier remains stable across expressions", "Point-in-time resolution over the version chain becomes possible" ], "source_refs": [ "SRC-002", "SRC-004", "SRC-010", "SRC-011" ] }, { "id": "declare-applicability-scope", "name": "Declare applicability scope", "description": "Record the jurisdictions, parties, targets, actions and contextual conditions that bring the statement into application.", "inputs": [ "jurisdiction references", "party and target references", "governed action codes", "context condition references" ], "outputs": [ "applicability scope declaration attached to the statement or a named rule slot" ], "preconditions": [ "Referenced party, resource, action-vocabulary and context records resolve in their owning models", "Subject-matter competence is within the issuing authority's mandate" ], "effects": [ "Scope becomes queryable without copying party or resource master data", "Overlapping jurisdictional claims are surfaced for precedence declaration" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-011" ] }, { "id": "bind-constraint-reference", "name": "Bind a constraint expression reference", "description": "Attach a reference to an externally owned constraint or rule expression at a named binding point, with its expression language and unresolved-reference handling.", "inputs": [ "rule slot identifier", "constraint expression reference", "binding point code", "expression language reference" ], "outputs": [ "binding record on the rule slot" ], "preconditions": [ "The referenced expression resolves in the constraint model", "The binding point is valid for the slot type", "The expression language is declared with a version" ], "effects": [ "The slot gains a resolvable condition pointer without importing any expression grammar", "Unresolved-reference handling is fixed before any consumer interprets the slot" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-006" ] }, { "id": "declare-precedence-and-conflict-strategy", "name": "Declare precedence and conflict strategy", "description": "Record the combining or hit-policy strategy identifier, the conflict term, and pairwise superiority relations against other statements.", "inputs": [ "strategy identifier", "conflict term code", "superiority relation pairs and grounds" ], "outputs": [ "precedence declaration", "superiority edge set", "acyclicity assertion" ], "preconditions": [ "The strategy identifier resolves to a published normative definition", "Each superiority relation names a ground and a resolvable counterpart statement" ], "effects": [ "Precedence becomes inspectable ahead of any evaluation", "Cycles in the precedence graph are detected and recorded as unresolved conflicts", "Execution of the declared strategy remains with the referenced decision runtime" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-006" ] }, { "id": "record-lifecycle-transition", "name": "Record a lifecycle transition", "description": "Record a transition of the statement record such as approval, publication, entry into force, suspension, amendment or repeal.", "inputs": [ "statement or expression identifier", "target lifecycle state", "event instant", "approval decision reference" ], "outputs": [ "updated lifecycle state", "dated lifecycle event record" ], "preconditions": [ "The transition is in the permitted transition set", "Any required approval decision reference resolves", "Event instant is RFC 3339 with seconds and an explicit offset" ], "effects": [ "Event time and register ingestion time are stored separately", "Temporal validity intervals are updated where the transition changes force or efficacy" ], "source_refs": [ "SRC-003", "SRC-004", "SRC-009", "SRC-013" ] }, { "id": "resolve-point-in-time-expression", "name": "Resolve the expression applicable at an instant", "description": "Given a work identifier and an instant, return the expression that was in force, efficacious or applicable at that instant.", "inputs": [ "work identifier", "query instant", "temporal dimension selector" ], "outputs": [ "applicable expression reference", "selected validity interval", "gap or ambiguity report" ], "preconditions": [ "Superseded expressions are retained and resolvable", "Validity intervals are recorded on each expression" ], "effects": [ "Returns the applicable normative text and never a decision, permission or denial", "Records any temporal gap or overlap encountered during resolution" ], "source_refs": [ "SRC-003", "SRC-004", "SRC-011" ] }, { "id": "register-derogation", "name": "Register a derogation", "description": "Record a waiver, exception or derogation from named rule slots, with its granting authority, beneficiaries, period and compensating obligations.", "inputs": [ "affected statement and rule slot references", "granting authority reference", "beneficiary and scope selectors", "validity interval", "compensating obligation reference" ], "outputs": [ "derogation record", "derogation instrument reference", "updated exception index on the statement" ], "preconditions": [ "The granting authority has a recorded mandate to derogate", "The affected rule slots resolve", "The validity interval is bounded or its open-endedness is declared" ], "effects": [ "The statement exposes its live derogations without altering its own version chain", "Expiry of a derogation is a dated event on the derogation record, not on the statement" ], "source_refs": [ "SRC-001", "SRC-003", "SRC-013" ] }, { "id": "declare-standard-alignment", "name": "Declare a standard alignment", "description": "Record an alignment to an external standard or profile, with evidence, scope and any semantic divergence, without asserting conformance.", "inputs": [ "aligned standard reference", "alignment scope", "supporting evidence reference", "known divergences" ], "outputs": [ "alignment declaration", "divergence notes", "conformance-versus-alignment flag" ], "preconditions": [ "The aligned standard is cited with a version or date", "Any conformance claim carries a cited test result or certification" ], "effects": [ "Alignment is published as a claim with stated limits rather than as conformance", "Unmappable constructs are recorded so downstream projections do not assume fidelity" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-012" ] } ], "composition": [ { "target": "WM-POL-001", "relation": "CHILD", "purpose": "This model is the instance-level normative statement within the parent policy domain, which retains portfolio taxonomy and cross-policy programme governance.", "required": true, "source_refs": [ "SRC-002", "SRC-013" ] }, { "target": "WM-KNW-013", "relation": "REFERENCE", "purpose": "Bind rule slots to constraint or rule expressions owned there. This model carries the reference, the binding point, the expression-language reference and subject-specific parameter values only, and reproduces neither the expression grammar nor that model's lifecycle or operational functions.", "required": false, "source_refs": [ "SRC-001", "SRC-002", "SRC-006" ] }, { "target": "WM-ACT-003", "relation": "REFERENCE", "purpose": "Carry applicability pointers to governed processes. The governance edge is authored by WM-ACT-003; no activity, task, sequence or execution state is modelled here.", "required": false, "source_refs": [ "SRC-006", "SRC-007" ] }, { "target": "WM-XCT-003", "relation": "EXTEND", "purpose": "Incoming specialisation: projection and disclosure policies specialise this model with output-shape semantics. Generic identity, authority, lifecycle and conflict machinery is retained here per the relation rationale, and output-shape semantics are not modelled here.", "required": false, "source_refs": [ "SRC-001", "SRC-002" ] }, { "target": "Referenced decision or enforcement runtime (XACML PDP/PEP or ABAC access decision function)", "relation": "REFERENCE", "purpose": "Name the runtime that evaluates and enforces this statement. This model owns no evaluation, execution, enforcement or audit-trail semantics and stores no decision result or decision log.", "required": false, "source_refs": [ "SRC-002", "SRC-007", "SRC-012" ] }, { "target": "Party / Agent model (adopting-Dimension registry target unresolved)", "relation": "REFERENCE", "purpose": "Resolve issuing authority, adopting body, assigner, assignee, bearer and responsible-party references; party master data is not held here.", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-010" ] }, { "target": "Resource / Asset model (adopting-Dimension registry target unresolved)", "relation": "REFERENCE", "purpose": "Resolve rule-slot targets and target collections; resource master data is not held here.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "Jurisdiction / Place model (adopting-Dimension registry target unresolved)", "relation": "REFERENCE", "purpose": "Resolve jurisdiction and territorial coverage references used by applicability scope.", "required": false, "source_refs": [ "SRC-003", "SRC-011" ] }, { "target": "ODRL Information Model 2.2 (W3C)", "relation": "ALIGN", "purpose": "Alignment for policy and rule structure, action and target relations, constraint placement, conflict term, inheritFrom and profile conformance. Recorded as alignment, not conformance.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "XACML 3.0 (OASIS) and LegalRuleML 1.0 (OASIS)", "relation": "ALIGN", "purpose": "Alignment for policy-set containment, required identifiers and versions, combining algorithm declaration, deontic operators, superiority relations and temporal characteristics. Recorded as alignment, not conformance.", "required": false, "source_refs": [ "SRC-002", "SRC-003" ] }, { "target": "Akoma Ntoso 1.0 (OASIS) and European Legislation Identifier (Publications Office of the EU)", "relation": "ALIGN", "purpose": "Alignment for FRBR work/expression/manifestation identity, IRI naming, dated lifecycle events and point-in-time consolidation.", "required": false, "source_refs": [ "SRC-004", "SRC-011" ] }, { "target": "PROV-O (W3C)", "relation": "ALIGN", "purpose": "Alignment for attribution, derivation, revision, generation and invalidation of statement expressions.", "required": false, "source_refs": [ "SRC-008" ] }, { "target": "SBVR 1.5 (OMG)", "relation": "MIX-IN", "purpose": "Supplies the alethic-versus-deontic modality distinction, enforcement level as a graded severity scale, and the governed-vocabulary binding used to fix the meaning of terms.", "required": false, "source_refs": [ "SRC-005" ] } ], "serviceLayers": { "dimension": { "owner_package_requirements": [ "The adopting Dimension MUST name one accountable owner package for the policy/rule register and MUST NOT split identifier minting for a single statement work across packages.", "The owner package MUST declare which system of record issues authoritative statement identifiers, and MUST record the reason whenever a governed IRI or a minted UUID/ULID fallback is used instead.", "The owner package MUST name the referenced constraint/rule expression model instance and the referenced decision or enforcement runtime, and MUST record in its own AGENTS.md that it owns neither expression grammar nor evaluation, enforcement or audit semantics.", "The owner package MUST publish the retention-schedule authority for superseded expressions and the party that executes disposition." ], "namespace_guidance": "Mint statement IRIs under a namespace controlled by the issuing authority or, failing that, by the adopting Dimension, using an FRBR-style split into work, expression and manifestation segments. Never encode lifecycle state, sensitivity classification, storage format or a date-as-identifier in the namespace path; dates may appear only as descriptive metadata.", "registry_links": [ "vr.wm-knw-012 is the registry entry for this model and is the sole authority for its structure.", "Link WM-POL-001 as the parent and WM-KNW-013 as the referenced constraint/rule expression model in the adopting Dimension registry before any statement is registered.", "Register ODRL, XACML, LegalRuleML, Akoma Ntoso, ELI, SBVR, DMN, OSCAL and PROV-O as alignment entries; conformance entries require cited test or certification evidence.", "Record WM-ACT-003 and WM-XCT-003 as inbound edges authored by those models, not as structures owned here." ] }, "canon_and_patch": { "canonicalization_rules": [ "The canonical form is the abstract statement record, not any serialization; JSON, YAML, Markdown, XML, RDF, Git trees and database rows are manifestations of it.", "Expand compact statements into atomic rule slots before comparison, so that each slot names one action, one target and one party function.", "Normalise every instant to RFC 3339 with seconds and an explicit offset before hashing; an unknown local offset is preserved as -00:00 and never rewritten to Z.", "Order rule slots by slot identifier, constraint bindings by binding point then reference IRI, and alignment declarations by standard reference, before computing a digest.", "Resolve inherited properties only in derived views; the canonical record stores the inheritFrom edges, not their expansion." ], "patch_rules": [ "A change to normative content MUST create a new expression with a new version designator and MUST NOT mutate a published expression in place.", "Editorial and metadata-only changes MAY patch the current expression, but MUST update the last-modified instant and assign a new record UUID.", "Every patch MUST declare its modification type (amendment, partial repeal, full repeal, consolidation, editorial, tailoring) and the affected provision anchors.", "Parameter tailoring is recorded as a tailoring change against the adopting organisation, separate from the statement's own version chain.", "Patches MUST record acting agent, event time and register ingestion time; a patch that cannot record event time is rejected." ], "compatibility_rules": [ "Removing or narrowing a rule slot, changing a deontic modality, changing the declared combining strategy or changing the conflict term is breaking and requires a new major version designator.", "Adding an optional alignment declaration, a vocabulary binding, a divergence note or a non-normative annotation is non-breaking.", "A consumer that does not understand a declared profile identifier MUST reject the statement rather than interpret it partially.", "Superseded expressions MUST remain resolvable so that point-in-time interpretation stays reproducible for the full retention period.", "Projections to a target language that cannot carry a construct (for example an alethic rule, or separate in-force and efficacy intervals) MUST record the fidelity loss rather than silently drop it." ] }, "artifact_rules": { "identity_priority": [ "Authoritative master-system identifier issued by the system of record for the statement or artifact, such as the enacting or publishing authority's instrument identifier or the policy administration system's policy identifier.", "Governed global identifier or IRI from a recognised scheme, such as an ELI legislation identifier, an Akoma Ntoso FRBR IRI, or an ODRL policy uid.", "UUID or ULID minted by the adopting Dimension, stored together with the recorded reason that no higher-priority identifier was available.", "A date, a title, a version designator alone, a digest alone or a file path is never an identifier and MUST NOT be promoted to one." ], "timestamp_rule": "All instants are recorded as RFC 3339 date-time values that include seconds and an explicit offset, written either as Z or as a signed hh:mm offset; a known UTC instant whose local offset is unknown is written with the -00:00 offset rather than Z. Event time (when the occurrence happened, such as adoption, entry into force, suspension or repeal) is recorded separately from observation or ingestion time (when the register captured it), and both are stored whenever they differ; ordering uses the declared ordering basis, which defaults to event time.", "serial_naming_rule": "Serial artifacts (consolidated expressions, amending instruments, derogation instruments and authoritative source instruments) are named as the statement identifier followed by a serial token, where the serial token is the issuing authority's register number if one exists and otherwise a zero-padded monotonically increasing sequence scoped to that statement. The serial token MUST NOT encode a date, MUST NOT be reused after disposition, and MUST NOT be treated as an identifier on its own.", "integrity_rule": "Every published manifestation carries a content digest and the identifier of the expression it manifests. Any content change forces a new record UUID and a new last-modified instant. Digests are computed over the canonical form defined above; a manifestation whose recomputed digest does not match its recorded digest MUST be treated as unusable and reported, never silently repaired or re-digested." }, "policies": [ "External standards are recorded as alignments and never as conformance claims; a conformance assertion requires a cited test result or certification and is otherwise downgraded to a partial alignment with explicit divergence notes.", "This model records normative statements and their governance metadata only. It never renders, executes or enforces a decision, never stores a decision result, and never owns an audit trail; those belong to the referenced decision or enforcement runtime and to the adopting Dimension's logging service.", "Every rule slot carrying a condition MUST reference the constraint/rule expression model rather than embedding expression grammar, operators or logical operands locally.", "Structural nodes without primary source support are marked as gaps in the coverage record and are not presented as canonical.", "No statement may be published without an issuing authority reference, at least one rule slot, a declared lifecycle state and a record classification." ], "crud": { "read": [ "Resolve a statement by master identifier, governed IRI or tombstone and return the requested expression.", "Resolve the expression that was in force, efficacious or applicable at a supplied RFC 3339 instant, together with any gap or overlap report.", "List rule slots, applicability scope, precedence edges, registered derogations, recorded defects and declared alignments for a named expression.", "Reads of restricted statements return the citation stub, classification and lifecycle state only, never the restricted normative body." ], "create": [ "Create a statement record only with an issuing authority reference, an instrument genre, a jurisdiction reference and at least one rule slot.", "Mint the identifier using the declared identity priority and record the reason for any fallback on the record itself.", "Record adoption event time and register ingestion time separately at creation, both as RFC 3339 instants with seconds and an explicit offset.", "Creation does not publish; publication is a separate recorded lifecycle transition with its own event time." ], "update": [ "Normative changes create a new expression linked by supersession and never mutate a published expression.", "Editorial and metadata-only updates patch the current expression in place and update the last-modified instant and the record UUID.", "Parameter tailoring by an adopting organisation is recorded as a tailoring change and does not advance the statement's version chain.", "Every update records the acting agent, the event time and the ingestion time; updates that would break a declared alignment must also record the divergence." ], "delete": [ "Published expressions are never hard-deleted. Repeal, supersession and withdrawal are lifecycle states, and a resolvable tombstone carrying the identifier, official titles, final lifecycle state, retention basis and disposition reference MUST remain after any disposition.", "Superseded expressions are retained for at least the period needed to reconstruct any instant within the statement's applicability window, and the governing retention schedule is named on the record.", "Draft expressions that were never published MAY be hard-deleted, leaving a tombstone that records the identifier, the deleting agent and the deletion reason.", "Execution of destruction, transfer or permanent preservation is owned by the adopting Dimension's records-retention authority and, where the record sits in an official legal publication system, by that publisher. This model owns only the retention declaration, the disposition class and the tombstone; it owns neither the deletion action nor its audit trail.", "Personal data appearing in a statement record is removed under the adopting Dimension's privacy policy; this model records that a removal occurred, its authority and its instant, but not the removal workflow." ] }, "roles": [ { "name": "Policy register owner", "responsibilities": [ "Own the register, the identifier-minting rule and the fallback justification record", "Approve registration, supersession and disposition of statement records", "Maintain the declared references to the constraint model and the decision runtime" ] }, { "name": "Issuing authority representative", "responsibilities": [ "Assert the mandate under which a statement is issued", "Confirm the adoption decision reference and the entry-into-force instant", "Notify the register of reorganisation or dissolution affecting ownership" ] }, { "name": "Normative editor", "responsibilities": [ "Draft and revise rule slots, modality, enforcement level and defeasibility declarations", "Maintain provision anchors and the mapping from slots to authoritative source text", "Record modification type and affected provisions on every amendment" ] }, { "name": "Interpretation steward", "responsibilities": [ "Record alternative interpretations, known contradictions and semantic gaps", "Maintain superiority relations and the acyclicity assertion of the precedence graph", "Route unresolved conflicts to the deciding authority and record the outcome" ] }, { "name": "Records and retention steward", "responsibilities": [ "Declare the governing retention schedule, retention period and disposition class", "Ensure superseded expressions stay resolvable for the reconstruction window", "Maintain tombstones after disposition executed by the retention authority" ] }, { "name": "Interoperability steward", "responsibilities": [ "Maintain alignment declarations, divergence notes and required profile identifiers", "Verify manifestation digests and reject mismatched manifestations", "Review projections to external languages for recorded fidelity loss" ] } ], "access": { "default_rule": "Statement metadata (identifier, official titles, genre, issuing authority, jurisdiction, lifecycle state and temporal validity) is readable by any authenticated agent of the adopting Dimension. Normative bodies of published expressions are readable by their declared publication audience. Draft expressions, restricted statements and derogation instruments naming individuals are readable only by the owner package and explicitly named roles.", "scopes": [ "bundle", "layer", "finding", "artifact" ], "exceptions": [ "Statements classified as restricted expose only the citation stub, classification and lifecycle state.", "Derogation instruments naming identifiable individuals are restricted to the granting authority and the record owner.", "Draft expressions are withheld from all audiences until a publication transition is recorded.", "Embargoed statements expose metadata but withhold the normative body until the embargo instant passes.", "Where an official publisher already discloses a statement openly, the register MUST NOT apply a stricter classification to the same published text." ], "audit_requirements": [ "Every read of a restricted normative body and every lifecycle transition must be logged with actor, event time and ingestion time by the adopting Dimension's logging service; this model declares the requirement and does not own, define or store the log.", "Identifier minting and every fallback justification are recorded on the statement record itself, so provenance of identity does not depend on an external log.", "Changes to access rules on the register are versioned like any other governed record, with acting agent and event time.", "Disposition of an expression records the executing authority reference on the tombstone; the disposition audit trail itself remains with the retention authority." ] }, "agents_bootstrap": { "filename": "AGENTS.md", "required_fields": [ "Name", "Type", "Specification URL", "Storage type URL", "Interface URL", "Processes URL", "Owner package", "Identity priority and fallback rule", "Referenced constraint model and decision runtime", "Retention authority" ], "read_order": [ "AGENTS.md at the package root, which must be present even when the store is MongoDB or the interface is MCP", "Specification URL: this model's scope, boundary notes and out-of-scope list, read before any structure is assumed", "Storage type URL: the storage projection actually in use (document store, graph, relational, Git tree), which is a manifestation and never the semantics", "Interface URL: the access binding (MCP tool surface, HTTP API, file conventions) and the classification rules that gate reads", "Processes URL: the governed processes for registration, versioning, derogation, alignment declaration and disposition", "Referenced constraint/rule model and referenced decision runtime contracts, read before interpreting any bound condition" ] } }, "coverage": { "claim": "Single-provider (Claude-only) coverage of WM-KNW-012 under the owner-authorised Grok waiver of 2026-08-29T09:06:27Z. The 6 bundles / 13 layers / 24 findings / 101 questions / 6 artifacts / 9 functions are internally consistent: every finding carries at least one primary tier-1 source, and the exclusive artifact rule holds exactly (6 artifact-bearing findings with null inline rationale, 18 inline-only findings with substantive rationale, none doing both). Coverage is asserted only for the governed statement record — identity and version identity, normative force, authority and mandate, applicability scope, rule-slot structure, condition binding by reference, declared precedence and conflict, derogations, lifecycle, temporal validity, provenance and source mapping, alignment, record classification and retention declaration. No universal completeness is claimed. Multilingual authenticity, non-state normative orders, delegation chains, cryptographic signature/LTV and sanction scales remain declared gaps, and the function surface is demonstrably incomplete for record classification, retention declaration, parameter tailoring and defect recording. Because no independent second provider reviewed this result, the coverage is single-source and the artifact remains a reviewable draft, not a validated model.", "confidence": "medium", "checklist": [ { "dimension": "identity", "status": "covered", "notes": "Master identifier, governed IRI, container-versus-slot identifiers, work/expression/manifestation split and version designators, with an explicit rule that a date or title is never an identifier. Grounded in XACML required identifiers, ODRL uid, Akoma Ntoso FRBR IRIs and ELI." }, { "dimension": "lifecycle", "status": "covered", "notes": "Permitted states, transitions and approval dependencies, suspension, amendment, supersession and repeal, plus tailoring recorded as distinct from amendment. Grounded in Akoma Ntoso lifecycle and status values and ISO 37301 obligation currency." }, { "dimension": "relationships", "status": "covered", "notes": "Containment in policy sets, inheritance edges with acyclicity, superiority and override edges, replacement links, derogation links and typed references into party, resource, process and constraint models." }, { "dimension": "temporal", "status": "covered", "notes": "Separate in-force, efficacy and applicability intervals, retroactivity, open-ended validity, and RFC 3339 instants with seconds and explicit offsets including the -00:00 unknown-offset convention." }, { "dimension": "provenance", "status": "covered", "notes": "PROV-O-aligned attribution, derivation, revision and generation, plus source-provision mapping, primary-versus-compilation preference and rendering fidelity attestation." }, { "dimension": "ownership", "status": "covered", "notes": "Issuing authority and mandate at origin are distinguished from post-issuance record ownership, time-bounded responsible-role assignment and owner succession." }, { "dimension": "validation", "status": "covered", "notes": "Structural well-formedness requirements, recorded defects such as ambiguity and unreachable slots, acyclicity checks and manifestation digest verification, all static over the statement and explicitly not runtime evaluation." }, { "dimension": "access", "status": "covered", "notes": "Record classification distinct from what the statement governs, publication audience, redaction with residual citability, restricted-read stubs and a rule preventing over-classification of already-public official text." }, { "dimension": "retention and deletion", "status": "covered", "notes": "Retention period tied to the point-in-time reconstruction window, disposition class, tombstone contents and an explicit statement that execution belongs to the adopting Dimension's retention authority or the official publisher." }, { "dimension": "interoperability", "status": "covered", "notes": "Required profile identifiers, alignment declarations with evidence and divergence notes, expression-language references and recorded fidelity loss on projection, with alignment never presented as conformance." }, { "dimension": "classification", "status": "covered", "notes": "Deontic modality, alethic-versus-deontic family, enforcement level, defeasibility, instrument genre, binding form and expression form." }, { "dimension": "authority and mandate", "status": "covered", "notes": "Issuing authority, enabling instrument, adoption decision reference, competence bounds and ultra vires risk note, plus a distinct derogation-granting authority." }, { "dimension": "conflict and precedence", "status": "covered", "notes": "Combining and hit-policy strategy declaration, conflict term, pairwise superiority with declared grounds, unresolved-conflict records and recorded alternative interpretations. Retained here per the WM-XCT-003 relation rationale." }, { "dimension": "applicability scope", "status": "covered", "notes": "Jurisdiction, territory, subject-matter competence, connecting factors for extraterritorial reach, in-scope parties and targets, governed actions and contextual conditions." }, { "dimension": "exceptions and derogations", "status": "covered", "notes": "Registered derogations with granting authority, beneficiaries, bounded validity and compensating obligations, plus unresolved-reference and unresolved-conflict handling." }, { "dimension": "security and record integrity", "status": "covered", "notes": "Manifestation digests bound to expressions, mandatory new record UUID and last-modified on any content change, and rejection rather than repair on digest mismatch." }, { "dimension": "privacy", "status": "covered", "notes": "Presence of personal data in the statement record is flagged, restricted-read rules apply to derogations naming individuals, and removal is delegated to the adopting Dimension's privacy policy with only the fact and authority recorded here." }, { "dimension": "measurement", "status": "not-applicable", "notes": "Compliance outcome measurement, control effectiveness and violation rates belong to a compliance monitoring model. The only ordinal quantity carried here is the SBVR-style enforcement level and the declared rendering-confidence code." }, { "dimension": "evaluation and enforcement", "status": "not-applicable", "notes": "Deliberately excluded. Decision rendering, obligation discharge, enforcement actions and decision logs are owned by the referenced XACML-style or ABAC-style runtime; this model carries only the strategy declaration and a pointer to the runtime." }, { "dimension": "multilingual authenticity", "status": "gap", "notes": "Official titles carry language tags and vocabulary bindings are versioned, but equivalence between authentic language versions, translation authority and divergence between authentic texts is not modelled. No cited primary source in this set fixes that structure, so it is recorded as a gap rather than invented." } ], "known_omissions": [ "Equivalence, precedence and divergence between multiple authentic language versions of the same statement, and the authority that certifies a translation.", "Customary, religious and indigenous normative orders whose authority structures do not map onto an identifiable issuing body with a dated enactment.", "Negotiation and contract-formation workflow between an ODRL Offer and an Agreement; only the resulting genre and binding form are carried.", "Cryptographic signature, seal and long-term validation of enacted instruments; only a content digest for manifestation integrity is modelled.", "Sanction scales, penalty computation and enforcement outcomes beyond the ordinal enforcement level.", "Machine-checkable semantics for cross-standard conflict resolution, because no cited normative source supplies one.", "Delegation chains where an authority empowers another body to issue subordinate statements; only a single mandate basis reference is modelled." ], "conflicts": [ "ODRL 2.2 makes uid mandatory on Policy but optional on Rule, whereas XACML 3.0 requires identifiers on Rule, Policy and PolicySet. This model requires identifiers at both container and slot level and records the ODRL divergence rather than claiming conformance to either.", "Conflict resolution is modelled three incompatible ways in the cited standards: a single static policy-level term in ODRL 2.2 (perm, prohibit, invalid), per-container combining algorithm identifiers in XACML 3.0, and pairwise superiority relations in LegalRuleML. These are not interchangeable, so all three declarations are carried separately and no mapping is asserted.", "The W3C ODRL Formal Semantics editor's draft leaves policy-level conflict handling unwritten and is non-normative, so no cross-standard conflict semantics can be claimed as settled.", "SBVR distinguishes alethic necessity from deontic obligation; ODRL and XACML have no alethic category, so a structural rule has no faithful counterpart in those languages and projection loses the distinction.", "LegalRuleML and Akoma Ntoso separate in-force, efficacy and applicability intervals, whereas ODRL and XACML express time only through constraint or condition expressions; temporal fidelity is lost when projecting to those languages.", "OSCAL requires a new root UUID on every content change, whereas FRBR-based legal models keep a stable work identifier across expressions. This model keeps both: a stable work identifier and a per-expression record UUID.", "NIST SP 800-162 treats natural-language policy as the authoritative form with a derived machine rendering, while ODRL and XACML treat the machine expression as authoritative; the expression-form code makes the adopted position explicit per statement instead of assuming one." ], "regional_assumptions": [ "Jurisdiction modelling assumes a state, sub-state or supranational legal order with an identifiable issuing authority; ELI and Akoma Ntoso reflect European and Commonwealth drafting practice and may need extension for federal-tribal, customary or religious orders.", "ELI is a European scheme; adopting Dimensions outside the EU must name an equivalent governed legislation identifier or fall back to a locally minted IRI, recording the reason.", "Retention periods, disposition classes and publication-audience categories are jurisdiction-specific and are always declared on the record rather than defaulted by this model.", "Official titles are assumed multilingual and script-neutral; no Latin-script or single-authentic-language assumption is made, though authentic-version equivalence is left as a gap.", "Personal-data handling assumes the adopting Dimension has its own privacy regime; no specific regional data-protection law is presumed." ], "adversarial_checks": [ "Checked every bundle, layer, finding and function against the WM-KNW-013 REFERENCE rationale. No constraint operator vocabulary, operand semantics, logical operand or expression evaluation is modelled; the constraint-expression-binding finding carries only a reference, a binding point, an expression-language reference and unresolved-reference handling, and its artifacts array is deliberately empty with that reasoning stated.", "Checked against the WM-ACT-003 REFERENCE rationale. Applicability scope points at governed processes but no activity, task, sequence flow, execution state or process lifecycle is modelled, and the edge is documented as authored by WM-ACT-003.", "Checked against the WM-XCT-003 EXTEND rationale. Generic identity, authority, lifecycle and conflict machinery is retained here as the rationale requires, and no projection, disclosure output-shape or redaction-transform semantics appears; the redaction markers under record classification are citation metadata about the record, not output shaping.", "Hunted for a runtime-ownership leak. The combining and hit-policy finding was written as a declaration of a strategy identifier plus a pointer to its normative definition, with execution explicitly assigned to the referenced runtime; there is no decision, permit/deny result, obligation-discharge or decision-log element anywhere in the model, and resolve-point-in-time-expression is stated to return text rather than a decision.", "Hunted for an audit-trail ownership leak. Access audit requirements are stated as obligations on the adopting Dimension's logging service, disposition audit stays with the retention authority, and no audit-record entity, event stream or log artifact is declared.", "Tested the attractive structure 'policy effectiveness and compliance metrics' and rejected it: no cited primary source places outcome measurement inside the normative statement, and ISO 37301 locates it in the compliance management system, so the measurement dimension is marked not-applicable rather than padded.", "Tested whether policy negotiation belongs here and rejected it: ODRL models Offer and Agreement as policy subclasses, not as a negotiation process, so only genre and binding form are carried.", "Tested whether an approval dossier should be an artifact and rejected it: adoption decisions are referenced, not reproduced, because owning them would drift into approval audit material the relation ledger keeps outside this model.", "Verified the exclusive artifact rule holds for all findings: six declare artifacts with a null rationale, the rest declare an empty artifacts array with a substantive rationale, and none does both.", "Verified every artifact identity strategy names the authoritative master-system identifier first, then a governed IRI, then a minted UUID or ULID, matching the declared identity priority, and that no local identifier contains a date-like component." ] }, "researchAdjudication": { "providerMode": "single-provider-waiver", "activeProviders": [ "claude" ], "waivedProviders": [ "grok" ], "providerPolicy": { "contract_version": "1.0.0", "mode": "single-provider-waiver", "effective_at": "2026-08-29T09:06:27Z", "scope": "Queued subject-model research from WM-XCT-013 onward", "active_providers": [ "claude" ], "waived_providers": [ { "provider": "grok", "authorized_by": "repository owner", "authorized_at": "2026-08-29T09:06:27Z", "reason": "The repository owner explicitly instructed the research queue to continue without Grok after repeated structured-output failures." } ], "review_rule": "Claude-only results require a separate no-tools adversarial audit and remain reviewable drafts with a visible single-provider hold." }, "boundaryDecision": { "entry_kind": "aggregate", "status": "reclassified", "rationale": "Two axes must not be conflated. Record plane: the frozen registry value 'standalone-mm' classifies how vr.wm-knw-012 sits in the Vercy registry — a standalone meta-model record rather than a profile or mixin of another record — and is retained unchanged; it is not a subject-model kind and must never be copied into boundary_decision.entry_kind. Subject-model plane: the thing modelled is not a lone identified object but a consistency boundary rooted on the abstract statement work, with dated expressions, contained rule slots and published manifestations that have no independent publication lifecycle of their own. The compatibility rules make removing a rule slot, changing a deontic modality, changing the combining strategy or changing the conflict term breaking at the container version; CRUD forbids creating a statement without at least one rule slot; canonicalization digests ordered slots and bindings as one canonical form; patch rules forbid mutating a published expression in place; and the Dimension layer forbids splitting identifier minting for a single statement work across packages. Those are aggregate-root invariants, so Claude's 'entity' understates the boundary that the service layers actually enforce. Fallback instruction for the synthesizer: if the schema reserves 'aggregate' for multi-model clusters rather than intra-model composition, degrade to 'entity' and carry the composition invariants as an explicit aggregate-root note — do not silently re-adopt the record-plane value." }, "decisions": [ { "concept": "Subject-model entry kind versus frozen registry record-plane value", "disposition": "reclassified — entity to aggregate; registry 'standalone-mm' retained on the record plane", "rationale": "The registry classifies the record, the boundary decision classifies the subject. Claude's 'entity' is not wrong so much as under-specified: the enforced invariants (minimum one rule slot, slot removal breaking at container version, single minting authority per work, digest over ordered slots) describe an aggregate root over work, expressions, slots and manifestations." }, { "concept": "Aggregate root identity — stable work identifier plus per-expression record UUID", "disposition": "accepted", "rationale": "The declared OSCAL-versus-FRBR conflict is resolved by keeping both a stable work identifier across expressions and a per-expression record UUID, and the identity_priority correctly orders master-system identifier, governed IRI, then minted UUID/ULID with a recorded fallback reason. This is the only coherent root identity for the aggregate and it is stated explicitly rather than assumed." }, { "concept": "WM-KNW-013 composition relation — pointer-only constraint binding", "disposition": "accepted", "rationale": "The frozen contract types this edge REFERENCE even though its free-text rationale says 'Normative composition'; the typed relation prevails over the prose. The constraint-expression-binding finding carries only a bound-expression reference, binding point, expression-language reference and unresolved-reference handling, with a deliberately empty artifacts array, so no expression grammar, operator or operand vocabulary leaks across the boundary." }, { "concept": "Appeal to the relation ledger inside parameterization-and-tailoring-values", "disposition": "structure accepted; ledger justification rejected and must be re-grounded on SRC-010", "rationale": "The inline rationale asserts that 'the relation ledger permits this model to carry subject-specific parameters', but the frozen three-row contract says nothing of the kind. Carrying parameter definitions and set values is independently defensible on OSCAL set-parameter grounds, so the structure survives; the unsupported citation of the ledger must be struck before publication or it invites adopters to over-read the contract." }, { "concept": "Governed vocabulary artifact versus out-of-scope operand vocabulary", "disposition": "accepted with the boundary line recorded explicitly", "rationale": "The out_of_scope list excludes operator and operand vocabularies, yet this model declares a governed vocabulary artifact including a locally held glossary. The distinction holds on SBVR grounds: term and definition vocabulary that fixes the meaning of words used in the statement is bindable here, while operator and operand vocabularies that make a condition evaluable stay with WM-KNW-013. The synthesizer must publish that line, not leave it inferred." }, { "concept": "Runtime and decision non-ownership, including resolve-point-in-time-expression", "disposition": "accepted", "rationale": "No permit/deny result, obligation discharge, decision record or evaluation semantics appears anywhere in the structure or the nine functions. The combining and hit-policy finding declares a strategy identifier and points at where its normative definition lives; q-strategy-definition-owner asks who owns execution rather than executing. The point-in-time resolver returns an expression, not a decision, which is a read operation over the aggregate." }, { "concept": "Audit-trail non-ownership under access.audit_requirements", "disposition": "accepted", "rationale": "Access and lifecycle logging are stated as obligations placed on the adopting Dimension's logging service, disposition audit stays with the retention authority, and identifier-minting provenance is deliberately kept on the record itself so identity does not depend on an external log. No audit entity, event stream or log artifact is declared, so the disclaimed boundary is actually held rather than merely asserted." }, { "concept": "access.scopes stated in the record plane (bundle, layer, finding, artifact)", "disposition": "deferred — subject-plane mapping required before freeze", "rationale": "The default_rule and exceptions gate reads of statements, expressions, normative bodies and derogation instruments, but the scopes enumerate the research-structure planes instead. If the schema fixes that enum, the synthesizer must publish an explicit mapping from work/expression/rule-slot/manifestation onto those four scopes; otherwise adopters will implement access control against the wrong plane." }, { "concept": "Retention floor derived from an open-ended applicability window", "disposition": "deferred", "rationale": "Retention is defined as at least the period needed to reconstruct any instant within the applicability window, but the model itself lists open-ended validity as in scope, which makes the floor unbounded and therefore not schedulable. It also collides with the delegated privacy-erasure path, where this model records that a removal occurred but not the workflow. The declaration is publishable; the unbounded case needs a stated resolution." }, { "concept": "serial_naming_rule applied to externally issued instruments", "disposition": "deferred — explicit carve-out required for authoritative source, amending and derogation instruments", "rationale": "Three of the four serial artifact classes are issued by external publishers or granting authorities that this model explicitly does not own. Prefixing them with the local statement identifier produces a second citation form for an instrument that already has an official one, which sits badly beside q-titles-and-citation and the primary-versus-compilation preference. Identity is unaffected because identity_priority correctly puts the master-system identifier first." }, { "concept": "Splitting record-classification-access-and-retention into separate findings", "disposition": "deferred to next revision; not a publication blocker", "rationale": "One finding with five questions carries classification, publication audience, redaction, retention period and disposition, and is the only finding in its layer while every comparable layer holds two. Retention, disposition class and tombstone are a distinct governance concern from sensitivity and audience, but splitting after freeze churns stable identifiers for no correctness gain in a reviewable draft." }, { "concept": "Redaction-with-citability versus the WM-XCT-003 EXTEND boundary", "disposition": "accepted with the line stated", "rationale": "q-redaction-and-citability edges toward output shaping, which the EXTEND rationale assigns to WM-XCT-003. The defensible line, which the model states and which should be published rather than left implicit, is that redaction permission and residual citability are properties of the record, while redaction transforms and disclosure projections are the specialising model's." }, { "concept": "Identifier drift — policy-lifecycle-state-model id versus 'Statement' name, and parameterization/Parameterisation spelling", "disposition": "accepted as-is; no post-freeze rename", "rationale": "The model was written in en-GB and renamed policy to statement in its finding names, leaving two identifiers behind. These are stable reference keys and renaming them after freeze breaks inbound citations for a purely cosmetic gain, so the drift is recorded in the draft notes rather than corrected." }, { "concept": "SRC-012 as structural support (non-normative ODRL Formal Semantics editor's draft)", "disposition": "accepted, constrained", "rationale": "Both findings citing SRC-012 also cite tier-1 primary SRC-003, so no structural node rests on a non-normative draft alone, which is what the model's own gap policy requires. The constraint must be made explicit in the synthesis so a later revision does not promote SRC-012 to sole support for a precedence or alignment node." }, { "concept": "Three-way incompatibility of conflict-resolution models carried unmapped", "disposition": "accepted; explicitly not a critical conflict", "rationale": "ODRL's static policy-level term, XACML's per-container combining algorithms and LegalRuleML's pairwise superiority relations are genuinely not interchangeable, and the model carries all three separately while asserting no mapping and claiming no conformance. Declaring an unresolved cross-standard divergence honestly is correct modelling, not a defect blocking a reviewable draft." }, { "concept": "Missing function surface for classification, retention declaration, tailoring and defect recording", "disposition": "deferred — add_functions barred in single-provider mode", "rationale": "The policies forbid publishing a statement without a record classification, and the patch rules make parameter tailoring a distinct change type, yet neither has a function; recorded defects and alternative interpretations likewise have none. Proposing function text here would be this auditor inventing content with no second provider to source it against, so the gap is logged for the next research pass instead." } ], "publicationHolds": [ "Live source and version verification hold: before publication, confirm every accepted source URL resolves and pin a version for the three access-dated entries that currently carry no version token — SRC-010 (OSCAL catalog concepts), SRC-011 (ELI framework pages) and SRC-012 (ODRL Formal Semantics editor's draft, non-normative). Any source that cannot be resolved and pinned must be downgraded and the nodes resting on it re-checked for remaining primary support.", "Single-provider hold: every publication artifact must carry a visible notice that this result was produced by Claude alone and received no independent second-provider review, naming the repository owner's waiver of Grok effective 2026-08-29T09:06:27Z and its stated reason (repeated structured-output failures). The artifact stays a reviewable draft, not a validated model, for as long as that waiver stands.", "Timestamp-rule verification hold: SRC-009 is registered as RFC 3339 'updated by RFC 9557', but RFC 9557 is not itself a registered source while the canonicalization and artifact timestamp rules depend on the exact unknown-local-offset clause. Either register the updating RFC and confirm the -00:00 convention survives it, or restate the rule against the pinned RFC 3339 text before freezing the hashing rule.", "Boundary-review hold: the frozen registry carries status 'candidate' and review_state 'boundary-review-required', and this audit reclassifies the subject-model entry kind from entity to aggregate on the strength of the service-layer invariants. Publication must surface both the outstanding boundary review and the reclassification, so no downstream consumer treats the entry kind as settled.", "Paywalled-source hold: SRC-013 (ISO 37301:2021) grounds lifecycle currency, ownership and compliance-boundary claims but is behind a paywall. Confirm that the cited structure is supported by publicly verifiable scope material or by a licensed reading on record; if neither, downgrade the affected notes to partial support rather than leaving an uncheckable tier-1 citation in a public draft.", "Independent second-provider review was explicitly waived by the repository owner; this Claude-only result remains a reviewable draft." ], "deferredResearch": [ "Multilingual authenticity: equivalence, precedence and divergence between authentic language versions of one statement, and the authority that certifies a translation. Declared as a gap with no cited source fixing the structure; needs a primary source before any structure is invented.", "Delegation chains where an authority empowers a subordinate body to issue statements. Only a single mandate-basis reference is modelled, which cannot express multi-step delegated rule-making or the ultra vires consequences of a broken chain.", "Retention floor when the applicability window is open-ended, and its interaction with the delegated privacy-erasure path where this model records only that a removal occurred. Needs a resolution rule that keeps point-in-time reconstruction reproducible without asserting unbounded retention.", "Function-surface completion for record classification, retention declaration, parameter tailoring and defect or alternative-interpretation recording, each of which is required or distinguished by the service layers but has no function. Deferred because add_functions is barred in single-provider mode and inventing them here would be unsourced.", "Customary, religious and indigenous normative orders whose authority structures do not resolve to an identifiable issuing body with a dated enactment, and the related regional assumption that ELI and Akoma Ntoso drafting practice generalises beyond European and Commonwealth orders.", "Whether the access scope vocabulary should name subject-plane scopes (work, expression, rule slot, manifestation) or publish an explicit mapping onto the fixed record-plane scopes, and whether record-classification-access-and-retention should split into separate classification and retention findings at the next revision." ] }, "statistics": { "sources": 13, "bundles": 6, "layers": 13, "findings": 24, "questions": 101, "artifacts": 6, "functions": 9 } }