# Business requirements registry assertion Closed pilot assertion form. The canonical string is only a projection of rule → norm_template modality=duty; observations from the official register and the verification checklist, as well as heuristic candidates, are represented by separate types and do not substitute for it. ## Versions No accepted version marker is declared. ## Top-level fields No top-level properties: the schema root is no constraint. ## Enumerations | location | values | |---|---| | `$defs/Bearer/properties/businessBearerStatus` | `"proven"`, `"conditional"`, `"unknown"` | | `$defs/Window/properties/kind` | `"interval"` | | `$defs/Goal/properties/kind` | `"achievement"`, `"maintenance"`, `"forbearance"` | | `$defs/OkedMapping/properties/mappingStatus` | `"mapped"`, `"conditional"`, `"not_conditioned"`, `"unknown"` | | `$defs/OkedMapping/allOf/0/if/properties/mappingStatus` | `"mapped"`, `"conditional"` | | `$defs/Sanction/properties/status` | `"not_mapped"`, `"no_sanction"`, `"mapped"` | | `$defs/Sanction/properties/mappingKind` | `"direct"`, `"conditional"`, `"mixed"` | | `$defs/Sanction/allOf/0/if/properties/status` | `"mapped"` | | `$defs/Sanction/allOf/1/if/properties/status` | `"not_mapped"`, `"no_sanction"` | | `$defs/Checklist/properties/mappingStatus` | `"mapped"`, `"partial"`, `"unmapped"`, `"ambiguous"`, `"out_of_scope"` | | `$defs/MachineEvidence/properties/liveness/items` | `"ACTIVE"`, `"SATISFIED"`, `"VIOLATED"`, `"REQUIRES_JUDGMENT"` | | `$defs/OfficialState/properties/presence` | `"present"`, `"excluded"`, `"not_observed"`, `"unknown"` | | `$defs/CanonicalRequirement/properties/assertionType` | `"canonical"` | | `$defs/CanonicalRequirement/properties/sourceFidelity` | `"official_bytes"`, `"pinned_unofficial_copy"`, `"abstract_only"`, `"pinned_editorial_reconstruction"`, `"authored_exposition"` | | `$defs/DeonticCandidate/properties/assertionType` | `"DEONTIC_CANDIDATE"` | | `$defs/OfficialObservation/properties/assertionType` | `"official-observed"` | | `$defs/OfficialObservation/properties/presence` | `"present"`, `"excluded"`, `"not_observed"`, `"unknown"` | | `$defs/ChecklistObservation/properties/assertionType` | `"checklist-observed"` | | `$defs/ChecklistObservation/properties/mappingStatus` | `"mapped"`, `"unmapped"`, `"ambiguous"`, `"out_of_scope"` | | `$defs/ChecklistObservation/allOf/0/if/properties/mappingStatus` | `"mapped"` | ## Raw schema [`https://law.arxo.io/schema/business-requirements.schema.json`](https://law.arxo.io/schema/business-requirements.schema.json) ## `StableId` Type: `string`. ## `Digest` Type: `string`. ## `Date` Type: `string`. ## `Anchor` Type: `object`. Required: `fragment`, `contentHash`. | name | type-or-$ref | description | |---|---|---| | `fragment` | [`#/$defs/StableId`](#stableid) | — | | `contentHash` | [`#/$defs/Digest`](#digest) | — | ## `Bearer` Type: `object`. Required: `type`, `businessBearerStatus`. | name | type-or-$ref | description | |---|---|---| | `type` | [`#/$defs/StableId`](#stableid) | — | | `businessBearerStatus` | `string` | — | ## `Window` Type: `object`. Required: `kind`, `start`, `end`, `startInclusive`, `endInclusive`. | name | type-or-$ref | description | |---|---|---| | `kind` | `"interval"` | — | | `start` | — | — | | `end` | — | — | | `startInclusive` | `boolean` | — | | `endInclusive` | `boolean` | — | ## `Goal` Type: `object`. Required: `kind`, `window`. | name | type-or-$ref | description | |---|---|---| | `kind` | `string` | — | | `window` | [`#/$defs/Window`](#window) | — | ## `Lifecycle` Type: `object`. Required: `editions`, `parameterRows`. | name | type-or-$ref | description | |---|---|---| | `editions` | `array` | — | | `parameterRows` | `array` | — | ## `OkedMapping` Type: `object`. Required: `mappingStatus`. | name | type-or-$ref | description | |---|---|---| | `code` | `string` | — | | `mappingStatus` | `string` | — | ## `Sanction` Type: `object`. Required: `status`. | name | type-or-$ref | description | |---|---|---| | `status` | `string` | — | | `sanctionIds` | `array` | — | | `mappingKind` | `string` | — | | `offencePredicateIds` | `array` | — | | `articleIds` | `array` | — | | `mappingReasons` | `array` | — | | `reason` | `string` | — | | `reviewedScope` | `string` | — | ## `Checklist` Type: `object`. Required: `items`, `mappingStatus`. | name | type-or-$ref | description | |---|---|---| | `items` | `array` | — | | `mappingStatus` | `string` | — | ## `MachineEvidence` Type: `object`. Required: `interpretationGroups`, `judgmentPoints`, `deadlineFindings`, `liveness`, `activationScenarios`, `twoSidedDates`. | name | type-or-$ref | description | |---|---|---| | `interpretationGroups` | `array` | — | | `judgmentPoints` | `array` | — | | `deadlineFindings` | `array` | — | | `liveness` | `array` | — | | `activationScenarios` | `array` | — | | `twoSidedDates` | `array` | — | ## `OfficialState` Type: `object`. Required: `presence`, `snapshotId`. | name | type-or-$ref | description | |---|---|---| | `presence` | `string` | — | | `snapshotId` | `string` | — | ## `CanonicalRequirement` Type: `object`. Required: `assertionType`, `requirementId`, `activationRules`, `bearer`, `goal`, `anchors`, `lifecycle`, `semanticHash`, `sourceFidelity`, `oked`, `sanction`, `checklist`, `machineEvidence`, `official`. | name | type-or-$ref | description | |---|---|---| | `assertionType` | `"canonical"` | — | | `requirementId` | [`#/$defs/StableId`](#stableid) | — | | `activationRules` | `array` | — | | `bearer` | [`#/$defs/Bearer`](#bearer) | — | | `goal` | [`#/$defs/Goal`](#goal) | — | | `anchors` | `array` | — | | `lifecycle` | [`#/$defs/Lifecycle`](#lifecycle) | — | | `semanticHash` | [`#/$defs/Digest`](#digest) | — | | `sourceFidelity` | `string` | — | | `oked` | `array` | — | | `sanction` | [`#/$defs/Sanction`](#sanction) | — | | `checklist` | [`#/$defs/Checklist`](#checklist) | — | | `machineEvidence` | [`#/$defs/MachineEvidence`](#machineevidence) | — | | `official` | [`#/$defs/OfficialState`](#officialstate) | — | ## `DeonticCandidate` Type: `object`. Required: `assertionType`, `ruleId`, `headPredicate`, `anchors`, `semanticHash`, `reason`. | name | type-or-$ref | description | |---|---|---| | `assertionType` | `"DEONTIC_CANDIDATE"` | — | | `ruleId` | [`#/$defs/StableId`](#stableid) | — | | `headPredicate` | [`#/$defs/StableId`](#stableid) | — | | `anchors` | `array` | — | | `semanticHash` | [`#/$defs/Digest`](#digest) | — | | `reason` | `string` | — | ## `OfficialObservation` Type: `object`. Required: `assertionType`, `observationId`, `snapshotId`, `presence`, `sourceUrl`, `contentHash`. | name | type-or-$ref | description | |---|---|---| | `assertionType` | `"official-observed"` | — | | `observationId` | `string` | — | | `snapshotId` | `string` | — | | `presence` | `string` | — | | `sourceUrl` | `string` | — | | `contentHash` | [`#/$defs/Digest`](#digest) | — | ## `ChecklistKey` Type: `object`. Required: `actId`, `appendix`, `editionId`, `controlProfile`, `itemId`. | name | type-or-$ref | description | |---|---|---| | `actId` | `string` | — | | `appendix` | `integer` | — | | `editionId` | [`#/$defs/StableId`](#stableid) | — | | `controlProfile` | `string` | — | | `itemId` | [`#/$defs/StableId`](#stableid) | — | ## `ChecklistObservation` Type: `object`. Required: `assertionType`, `itemId`, `checklistKey`, `anchor`, `legalReferences`, `mappingStatus`. | name | type-or-$ref | description | |---|---|---| | `assertionType` | `"checklist-observed"` | — | | `itemId` | [`#/$defs/StableId`](#stableid) | — | | `checklistKey` | [`#/$defs/ChecklistKey`](#checklistkey) | — | | `anchor` | [`#/$defs/Anchor`](#anchor) | — | | `legalReferences` | `array` | — | | `mappedRequirements` | `array` | — | | `mappingStatus` | `string` | — | | `reason` | `string` | — |