diff --git a/.github/workflows/arco-demo.yml b/.github/workflows/arco-demo.yml
index 676909c..31e158b 100644
--- a/.github/workflows/arco-demo.yml
+++ b/.github/workflows/arco-demo.yml
@@ -102,6 +102,12 @@ jobs:
set -euo pipefail
python -u 03_TECHNICAL_CORE/scripts/test_adversarial_mechanism.py
+ - name: Run canonical-IRI version-pin conformance test
+ shell: bash
+ run: |
+ set -euo pipefail
+ python -u 03_TECHNICAL_CORE/scripts/test_canonical_iris.py
+
- name: Verify artifact files exist
shell: bash
run: |
diff --git a/.github/workflows/arco-smoke-test.yml b/.github/workflows/arco-smoke-test.yml
index a98b296..38875ca 100644
--- a/.github/workflows/arco-smoke-test.yml
+++ b/.github/workflows/arco-smoke-test.yml
@@ -49,3 +49,6 @@ jobs:
- name: Run adversarial-mechanism regression tests
run: python 03_TECHNICAL_CORE/scripts/test_adversarial_mechanism.py
+
+ - name: Run canonical-IRI version-pin conformance test
+ run: python 03_TECHNICAL_CORE/scripts/test_canonical_iris.py
diff --git a/.gitignore b/.gitignore
index a33dec5..c36e0b3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -96,3 +96,6 @@ scripts/render_html_to_pdf_playwright.py
# Public diagrams are reviewed before being added to Git
04_DIAGRAMS_AND_MODELS/*
+
+# NCOR business material - never publish to the public ARCO repo
+docs/NCOR/
diff --git a/03_TECHNICAL_CORE/ontology/ARCO_core.ttl b/03_TECHNICAL_CORE/ontology/ARCO_core.ttl
index 3ad8c85..a6ce554 100644
--- a/03_TECHNICAL_CORE/ontology/ARCO_core.ttl
+++ b/03_TECHNICAL_CORE/ontology/ARCO_core.ttl
@@ -6,6 +6,8 @@
@prefix rdfs: .
@prefix owl: .
@prefix skos: .
+@prefix cco: .
+@prefix xsd: .
rdf:type owl:Ontology ;
rdfs:label "ARCO Core (Gold Standard) — BFO/RO Aligned"@en ;
@@ -42,6 +44,44 @@
# AnnexIII1aApplicableSystem: full three-gate (capability + intent +
# scenario). Defined in governance extension.
+#################################################################
+# 0) REGULATORY-PROVENANCE ANNOTATION PROPERTY
+#
+# Declared in core (not governance) because annotation properties are
+# inert under classification and benefit from being importable across
+# files. Consumers of the governance extension inherit it automatically.
+#
+# :hasRegulatoryBasis is a narrow annotation-only exception to CLAUDE.md
+# Invariant 6 (no custom properties). It is a subproperty of canonical
+# CCO doctrinal_source and definition_source. Full CCO v1.7 declares
+# doctrinal_source as a subproperty of definition_source; ARCO's BOT slim
+# does not currently preserve that annotation-property hierarchy, so both
+# parent links are stated here on the ARCO-local annotation property. This
+# keeps the typed regulatory citations transparently visible to CCO consumers
+# querying either doctrinal source or the broader definition-source predicate.
+# The exception is documented at
+# OPEN_PROBLEMS.md X.13 and docs/modeling_decisions/decisions_justification_map.md S3a.
+#
+# Constraints (do not relax without re-litigating S3a):
+# - Annotation-only; never used in classification, object-property
+# reasoning, or BFO relation modeling.
+# - Subproperty of cco:doctrinal_source preserves the sharper doctrinal
+# signal; subproperty of cco:definition_source preserves broader
+# canonical-consumer compatibility despite BOT dropping the upstream
+# annotation-property hierarchy.
+# - Applied to regulatory universals (the fiat-grouping classes) and
+# to OWL Axiom reifications on regulatory disjointness axioms.
+# NOT applied to leaf capability kinds — those are treated as bona
+# fide capability kinds (real participant-structure / cardinality
+# distinctions); the Smith-Varzi pattern is applied analogically
+# only at regulatory-extension partitions — see S3a.
+#################################################################
+
+:hasRegulatoryBasis a owl:AnnotationProperty ;
+ rdfs:subPropertyOf cco:doctrinal_source , cco:definition_source ;
+ rdfs:label "has regulatory basis"@en ;
+ skos:definition "Annotation property pointing the annotated class or axiom at the regulatory text that determines its extension. Subproperty of cco:doctrinal_source, narrowed to legal-authority citations for regulatory fiat partitions and regulatory disjointness consequences. Also asserted as a subproperty of cco:definition_source because ARCO's BOT slim does not preserve the upstream CCO annotation-property hierarchy from cco:doctrinal_source to cco:definition_source; this keeps regulatory citations visible to consumers querying the broader CCO definition-source predicate while carrying the sharper doctrinal-source signal. Documented narrow exception to ARCO Invariant 6 (no custom properties); annotation-only, semantically inert under OWL-RL classification and HermiT DL reasoning. See docs/modeling_decisions/decisions_justification_map.md S3a and OPEN_PROBLEMS.md X.13."@en .
+
#################################################################
# 1) REALITY-SIDE UNIVERSALS (BFO)
#
@@ -57,7 +97,7 @@
:System rdf:type owl:Class ;
rdfs:label "AI System"@en ;
- skos:definition "An object aggregate of one or more material components, used in ARCO as the assessment target for EU AI Act Annex III gates. The class itself does not formally restrict to AI; the AI scope is supplied by the use case and by the disposition kinds the components bear."@en ;
+ skos:definition "An object aggregate of one or more material components, used in ARCO as the assessment target for EU AI Act Annex III gates. The class itself does not formally restrict to AI; whether the described artifact is an AI system within the meaning of Article 3(1) is a human-adjudicated input commitment held by the instance author — ARCO does not evaluate that threshold, and disposition kinds do not establish it (see LIMITATIONS)."@en ;
rdfs:subClassOf bfo:0000027 ; # Object Aggregate
rdfs:subClassOf [
a owl:Restriction ;
@@ -88,8 +128,8 @@
:BiometricIdentificationCapability rdf:type owl:Class ;
rdfs:label "Biometric Identification Capability"@en ;
- skos:definition "The capability to identify an unknown person from biometric data by comparing a sample against many candidates (one-to-many matching). Triggers Annex III 1(a)."@en ;
- rdfs:comment "1:N biometric identification capability. Realizations identify an unknown individual against a population database. Triggers Annex III 1(a). NOT the same as 1:1 verification (see BiometricVerificationCapability)." ;
+ skos:definition "The capability to identify an unknown person from biometric data by comparing a sample against many candidates (one-to-many matching). Gate 1 capability for ARCO's Annex III 1(a) encoding; classification additionally requires an intended use prescribing a REMOTE biometric identification process (Article 3(41)) and a use scenario designating natural persons."@en ;
+ rdfs:comment "1:N biometric identification capability. Realizations identify an unknown individual against a population database. Gate 1 capability for Annex III 1(a) — the regulated process kind is the REMOTE subkind (Art 3(41)) and all three gates are required for classification; the capability alone fires only the latent-risk flag. NOT the same as 1:1 verification (see BiometricVerificationCapability)." ;
rdfs:subClassOf :CapabilityDisposition .
:BiometricVerificationCapability rdf:type owl:Class ;
@@ -100,8 +140,8 @@
:CreditworthinessEvaluationCapability rdf:type owl:Class ;
rdfs:label "Creditworthiness Evaluation Capability"@en ;
- skos:definition "The capability to evaluate a person's creditworthiness or assign a credit score for access to financial or public services. Triggers Annex III 5(b)."@en ;
- rdfs:comment "Capability to evaluate creditworthiness of natural persons or establish their credit score, for access to financial or public services. Reality-side disposition (the hardware genuinely has this capacity). Regulatory grouping (AnnexIIITriggeringCapability) is asserted in the governance extension. Triggers Annex III 5(b)." ;
+ skos:definition "The capability to evaluate the creditworthiness of natural persons or establish their credit score (the Annex III 5(b) operative scope). Gate 1 capability for ARCO's 5(b) encoding; all three gates are required for classification."@en ;
+ rdfs:comment "Capability to evaluate the creditworthiness of natural persons or establish their credit score — the 5(b) operative text. Benefits-eligibility scoring for public assistance (Annex III 5(a) territory, unmodeled) is NOT this class. Reality-side disposition (the hardware genuinely has this capacity). Regulatory grouping (AnnexIIITriggeringCapability) is asserted in the governance extension. Gate 1 capability for Annex III 5(b)." ;
rdfs:subClassOf :CapabilityDisposition .
# Pairwise disjointness: these are genuinely different capability kinds.
@@ -111,6 +151,21 @@
:BiometricIdentificationCapability owl:disjointWith :CreditworthinessEvaluationCapability .
:BiometricVerificationCapability owl:disjointWith :CreditworthinessEvaluationCapability .
+# Regulatory-fiat annotation on the identification-vs-verification disjointness.
+# The underlying 1:N identification vs 1:1 verification cardinality is a real
+# capability-kind distinction (different participant structures, different
+# realizable process kinds). The regulatory CONSEQUENCE — that verification is
+# carved out of Annex III 1(a) — is a fiat cut grounded in Regulation (EU)
+# 2024/1689. See OPEN_PROBLEMS.md X.13 and decisions_justification_map.md S3a.
+[ a owl:Axiom ;
+ owl:annotatedSource :BiometricIdentificationCapability ;
+ owl:annotatedProperty owl:disjointWith ;
+ owl:annotatedTarget :BiometricVerificationCapability ;
+ :hasRegulatoryBasis "Regulation (EU) 2024/1689, Article 3(35) (biometric identification definition), Article 3(36) (biometric verification definition, 1:1), Article 3(41) (remote biometric identification system definition), Annex III item 1(a), Recitals 15 and 17"@en ;
+ :hasRegulatoryBasis "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"^^xsd:anyURI ;
+ skos:scopeNote "The 1:N identification and 1:1 verification process kinds have real technical content: different required participants, different realizable process kinds, different evaluability metrics (FAR/FRR for verification; rank-N accuracy for identification). The REGULATORY CONSEQUENCE of this disjointness — that biometric verification is excluded from Annex III 1(a) per Recital 15 / Recital 17 / Annex III 1(a) operative carve-out — is a fiat legal cut grounded in Regulation (EU) 2024/1689 Articles 3(35), 3(36), and 3(41). Smith-Varzi fiat/bona-fide distinction used analogically per S3a: the capability kinds are bona fide; the regulatory exclusion that rides on this disjointness is fiat."@en
+] .
+
:OperationalProcess rdf:type owl:Class ;
rdfs:label "Operational Process"@en ;
skos:definition "A process in which an AI system realizes one or more of its capabilities at deployment."@en ;
diff --git a/03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl b/03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl
index 57b17da..8fff9dc 100644
--- a/03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl
+++ b/03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl
@@ -7,6 +7,7 @@
@prefix rdfs: .
@prefix owl: .
@prefix skos: .
+@prefix xsd: .
a owl:Ontology ;
@@ -173,7 +174,7 @@ cco:Organization rdf:type owl:Class ;
:AnnexIII_Condition_1a rdf:type :RegulatoryContent ;
rdfs:label "Annex III 1(a) (Biometric Rule)" ;
- rdfs:comment "Annex III item 1(a): biometric identification of natural persons. cco:prescribes targets the regulated process TYPE (class IRI as concept-individual via OWL 2 punning) — the regulation prescribes process types, not deployment-specific tokens." ;
+ rdfs:comment "Annex III item 1(a): remote biometric identification systems (Article 3(41)), with the biometric-verification carve-out. cco:prescribes targets the regulated process TYPE (class IRI as concept-individual via OWL 2 punning) — the regulation prescribes process types, not deployment-specific tokens." ;
cco:prescribes :RemoteBiometricIdentificationProcess ;
iao:0000136 :BiometricIdentificationCapability ;
iao:0000136 :RemoteBiometricIdentificationProcess ;
@@ -181,7 +182,7 @@ cco:Organization rdf:type owl:Class ;
:AnnexIII_Condition_5b rdf:type :RegulatoryContent ;
rdfs:label "Annex III 5(b) (Creditworthiness Rule)" ;
- rdfs:comment "Annex III item 5(b): AI systems intended to evaluate the creditworthiness of natural persons or establish their credit score, with the exception of AI systems used for the purpose of detecting financial fraud. cco:prescribes targets the regulated process TYPE (class IRI as concept-individual via OWL 2 punning)." ;
+ rdfs:comment "Annex III item 5(b): AI systems intended to be used to evaluate the creditworthiness of natural persons or establish their credit score, with the exception of AI systems used for the purpose of detecting financial fraud. cco:prescribes targets the regulated process TYPE (class IRI as concept-individual via OWL 2 punning)." ;
cco:prescribes :CreditworthinessEvaluationProcess ;
iao:0000136 :CreditworthinessEvaluationCapability ;
iao:0000136 :CreditworthinessEvaluationProcess ;
@@ -219,6 +220,9 @@ cco:Organization rdf:type owl:Class ;
rdfs:label "Annex III Triggering Capability"@en ;
skos:definition "A capability whose presence in an AI system component triggers Annex III applicability under Regulation (EU) 2024/1689. Membership is the union of capability classes named by Annex III, fixed by the regulation rather than by any single shared physical property."@en ;
rdfs:comment "Defined class. Membership is the union of capability classes named by Annex III of Regulation (EU) 2024/1689, fixed by regulation rather than by primitive subsumption. Each member is a real BFO capability disposition; the grouping is by extrinsic regulatory criterion under Article 6. The rdfs:subClassOf :CapabilityDisposition relationship is entailed by the union (each member is a CapabilityDisposition); not stated explicitly to avoid redundancy. Adding a new Annex III capability category requires (a) adding the new class to the owl:unionOf list and (b) asserting rdfs:subClassOf :AnnexIIITriggeringCapability for in-file readability." ;
+ :hasRegulatoryBasis "Regulation (EU) 2024/1689, Article 6(2) and Annex III"@en ;
+ :hasRegulatoryBasis "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"^^xsd:anyURI ;
+ skos:scopeNote "Universal whose instances are real BFO capability dispositions; the GROUPING (owl:unionOf over member capability classes) is determined by Regulation (EU) 2024/1689 Annex III as named under Article 6(2), not by a single shared physical property in reality. Smith-Varzi fiat/bona-fide distinction used analogically per docs/modeling_decisions/decisions_justification_map.md S3a: members are bona-fide capability kinds; the regulatory grouping is a fiat partition by extrinsic criterion under Article 6, not a natural joint."@en ;
owl:equivalentClass [
rdf:type owl:Class ;
owl:unionOf (
@@ -238,6 +242,9 @@ cco:Organization rdf:type owl:Class ;
rdfs:label "Annex III Capability-Precondition Flag"@en ;
skos:definition "An AI system flagged as carrying a capability that triggers Annex III. This is a latent-risk indicator that fires from Gate 1 alone (capability precondition); the full Annex III applicability classification requires all three gates and is recorded by the category-specific applicable-system classes."@en ;
rdfs:comment "Latent-risk flag. Membership is satisfied by Gate 1 alone: the system has a SystemComponent that bears a disposition belonging to AnnexIIITriggeringCapability. This class is INFERRED by the reasoner and presented in the certificate as LATENT-RISK FLAG. It is NOT the full legal high-risk category — that requires all three gates (capability + intended use + use scenario) and is captured by the category-specific classes (AnnexIII1aApplicableSystem, AnnexIII5bApplicableSystem). The IRI is retained as :HighRiskSystem for backward compatibility with downstream consumers; the rdfs:label and this comment reflect what the axiom actually entails." ;
+ :hasRegulatoryBasis "Regulation (EU) 2024/1689, Article 6 and Annex III"@en ;
+ :hasRegulatoryBasis "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"^^xsd:anyURI ;
+ skos:scopeNote "Universal whose instances are AI systems bearing a triggering-capability disposition via a SystemComponent; extension fixed by the latent-flag Gate-1-only axiom. The class denotes systems bearing the triggering capability, not the act of flagging them. This is the LATENT-FLAG layer, NOT the EU AI Act legal high-risk classification — the full Annex III applicability requires three gates per :AnnexIII1aApplicableSystem / :AnnexIII5bApplicableSystem. Smith-Varzi fiat/bona-fide distinction used analogically per S3a: instances are real systems; the partition criterion is regulatory under Article 6, not a natural joint."@en ;
owl:equivalentClass [
rdf:type owl:Class ;
owl:intersectionOf (
@@ -325,11 +332,19 @@ cco:Organization rdf:type owl:Class ;
owl:someValuesFrom :System
] .
+# GENUS (Art 3(35)): general biometric identification process (1:N). Its subkinds are
+# distinguished by the differentia of the subject's active involvement (Art 3(41)).
+:BiometricIdentificationProcess rdf:type owl:Class ;
+ rdfs:label "Biometric Identification Process"@en ;
+ skos:definition "A process that establishes the identity of a natural person by comparing their biometric data against a set of stored reference data (one-to-many matching), per Regulation (EU) 2024/1689 Article 3(35). Genus whose regulated subkind is the remote process (Annex III 1(a), Article 3(41)); no non-remote subkind is minted because the Act defines none, and the bare genus does not trigger Annex III 1(a)."@en ;
+ rdfs:comment "ARCO mints this genus so the non-remote (active-involvement) case is expressible as a positive non-triggering process type rather than only by absence. Gate 2 of AnnexIII1aApplicableSystem keys on the :RemoteBiometricIdentificationProcess subkind via owl:someValuesFrom, so the bare genus does NOT entail Annex III 1(a)." ;
+ rdfs:subClassOf bfo:0000015 . # Process
+
:RemoteBiometricIdentificationProcess rdf:type owl:Class ;
rdfs:label "Remote Biometric Identification Process"@en ;
- skos:definition "A biometric identification process operating remotely against a stored reference set. The regulated process type for Annex III 1(a)."@en ;
- rdfs:comment "1:N biometric identification process regulated under Annex III 1(a). Has a real causal core (biometric feature extraction + matching at distance) but its type-boundary is partly constituted by regulatory fiat. Modeled as a BFO Process subclass; used as the Gate 2 type-check target for AnnexIII1aApplicableSystem. DISCLOSURE: Regulation (EU) 2024/1689 distinguishes real-time remote biometric identification in publicly accessible spaces for law enforcement (Article 5 prohibition with conditional derogations) from post remote biometric identification subject to Annex III high-risk duties. ARCO does NOT currently model the real-time/post distinction or law-enforcement deployer context; this rdfs:comment is disclosure only and does not change Gate 2 evaluation." ;
- rdfs:subClassOf bfo:0000015 . # Process
+ skos:definition "A biometric identification process performed without the subject's active involvement, typically at a distance, by comparison against a stored reference set, per Regulation (EU) 2024/1689 Article 3(41). The regulated process type for Annex III 1(a)."@en ;
+ rdfs:comment "1:N biometric identification process regulated under Annex III 1(a). Has a real causal core (biometric feature extraction + matching without the subject's active involvement) but its type-boundary is partly constituted by regulatory fiat. Modeled as a subclass of :BiometricIdentificationProcess; used as the Gate 2 type-check target for AnnexIII1aApplicableSystem. DISCLOSURE: Regulation (EU) 2024/1689 distinguishes real-time remote biometric identification in publicly accessible spaces for law enforcement (Article 5 prohibition with conditional derogations) from post remote biometric identification subject to Annex III high-risk duties. ARCO does NOT currently model the real-time/post distinction or law-enforcement deployer context; this rdfs:comment is disclosure only and does not change Gate 2 evaluation." ;
+ rdfs:subClassOf :BiometricIdentificationProcess .
:PostRemoteBiometricIdentificationProcess rdf:type owl:Class ;
rdfs:label "Post Remote Biometric Identification Process"@en ;
@@ -346,16 +361,48 @@ cco:Organization rdf:type owl:Class ;
:PostRemoteBiometricIdentificationProcess
owl:disjointWith :RealTimeRemoteBiometricIdentificationProcess .
+# Regulatory-fiat annotation on the post-vs-real-time disjointness.
+# Article 3(42) defines real-time RBI (capture/comparison/identification without
+# significant delay); Article 3(43) defines post RBI (everything else). The
+# temporal-delay boundary is regulatory — there is a continuum of capture-to-
+# identification latencies in real systems; the cut at "significant delay" is a
+# fiat line drawn by the regulation. The regulatory CONSEQUENCE (real-time RBI
+# routing toward Article 5(1)(h) prohibited-practice analysis) is fiat-shaped.
+# See OPEN_PROBLEMS.md X.13 and decisions_justification_map.md S3a.
+[ a owl:Axiom ;
+ owl:annotatedSource :PostRemoteBiometricIdentificationProcess ;
+ owl:annotatedProperty owl:disjointWith ;
+ owl:annotatedTarget :RealTimeRemoteBiometricIdentificationProcess ;
+ :hasRegulatoryBasis "Regulation (EU) 2024/1689, Article 3(42) (real-time RBI definition), Article 3(43) (post RBI definition)"@en ;
+ :hasRegulatoryBasis "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"^^xsd:anyURI ;
+ skos:scopeNote "Real-time vs post temporal-delay distinction. The underlying latency continuum is real (capture-to-identification timing is a continuous parameter of system behavior); the cut at 'significant delay' that distinguishes the two regulatory subkinds is drawn by Articles 3(42) and 3(43). The downstream regulatory consequence — real-time RBI routing toward Article 5(1)(h) prohibited-practice analysis (scoped future work; see :RealTimeRemoteBiometricIdentificationProcess rdfs:comment) — is fiat-shaped. Smith-Varzi fiat/bona-fide distinction used analogically per S3a: the latency parameter is bona fide; the partition by 'significant delay' is fiat under Articles 3(42), 3(43)."@en
+] .
+
+# NON-REMOTE / non-regulated cases are deliberately NOT minted as a positive class. Per
+# Regulation (EU) 2024/1689 there is no "cooperative identification" category: the at-the-door /
+# premises-access case is biometric VERIFICATION (1:1), excluded by Recital 15 and Recital 17
+# (both name "security access to premises"), modeled by :BiometricVerificationProcess below; and
+# 1:N identification not asserted to be remote is the bare genus :BiometricIdentificationProcess,
+# which does not satisfy Gate 2 (keyed on :RemoteBiometricIdentificationProcess). Whether a given
+# walk-up 1:N deployment is "remote" (without active involvement, Art 3(41)) is a deployer-
+# elicitation question, not a baked-in class. (An earlier draft minted a :Cooperative... subkind;
+# removed as an invented regulatory category after verbatim source audit of Recitals 15 and 17.)
+
:BiometricVerificationProcess rdf:type owl:Class ;
rdfs:label "Biometric Verification Process"@en ;
skos:definition "A biometric verification process operating one-to-one against a claimed identity. Out of scope of Annex III 1(a)."@en ;
- rdfs:comment "1:1 biometric verification process. Confirms a claimed identity against a single reference. NOT RemoteBiometricIdentificationProcess — verification is not a subtype of identification. NOT regulated under Annex III 1(a)." ;
+ rdfs:comment "1:1 biometric verification process. Confirms a claimed identity against a single reference. NOT a subtype of :BiometricIdentificationProcess; verification is not identification (Art 3(36) vs Art 3(35)). NOT regulated under Annex III 1(a)." ;
rdfs:subClassOf bfo:0000015 . # Process
+# Mirror the capability-layer disjointness (:BiometricIdentificationCapability owl:disjointWith
+# :BiometricVerificationCapability, ARCO_core.ttl) at the process layer: verification is not
+# identification, so the new :BiometricIdentificationProcess genus does not subsume it.
+:BiometricVerificationProcess owl:disjointWith :BiometricIdentificationProcess .
+
:CreditworthinessEvaluationProcess rdf:type owl:Class ;
rdfs:label "Creditworthiness Evaluation Process"@en ;
skos:definition "A process that evaluates a person's creditworthiness or assigns a credit score. The regulated process type for Annex III 5(b)."@en ;
- rdfs:comment "Process of evaluating the creditworthiness of natural persons or establishing their credit score for access to financial or public services. Regulated under Annex III 5(b). Used as the Gate 2 type-check target for AnnexIII5bApplicableSystem." ;
+ rdfs:comment "Process of evaluating the creditworthiness of natural persons or establishing their credit score — the Annex III 5(b) operative text. Benefits-eligibility scoring for public assistance (Annex III 5(a) territory, unmodeled) is NOT this class. Used as the Gate 2 type-check target for AnnexIII5bApplicableSystem." ;
rdfs:subClassOf bfo:0000015 . # Process
:NaturalPersonRole rdf:type owl:Class ;
@@ -443,12 +490,15 @@ cco:Organization rdf:type owl:Class ;
:AnnexIII1aApplicableSystem rdf:type owl:Class ;
rdfs:label "Annex III 1(a) Applicable System"@en ;
skos:definition "An AI system that satisfies all three gates for Annex III 1(a) (biometric identification): a component bearing a triggering capability, an intended use prescribing a remote biometric identification process, and a use scenario designating natural persons as the affected role."@en ;
- rdfs:comment """System that meets Annex III 1(a) conditions via three independently necessary gates:
+ rdfs:comment """System that satisfies ARCO's three-gate encoding of Annex III 1(a) via three independently necessary gates:
Gate 1 (reality-side): capability — system has_part a component that has_disposition BiometricIdentificationCapability.
Gate 2 (representation-side): prescribed process — an IntendedUseSpecification is_about the system AND cco:prescribes some instance of :RemoteBiometricIdentificationProcess. Uses owl:someValuesFrom for genuine type-checking; any correctly typed process token satisfies the gate.
Gate 3 (representation-side): affected role — a UseScenarioSpecification (a Designative ICE) is_about the system AND cco:designates :NaturalPersonRole. Uses cco:designates with owl:hasValue at the universal level: the designation property's range admits universals, so the gate references the role category by its class IRI without requiring a role-bearer (BFO Roles are bearer-dependent specifically dependent continuants; designation by inscription is the canonical CCO pattern for naming a category).
Classification is OWL-entailed under owlrl; gate independence verified by regression test (test_gate_removal.py).
- SPARQL ASK queries (check_intended_use, check_regulatory_alignment) are downstream audit-layer checks that inspect declared documentary content on the reasoned graph; they do not contribute to this entailment and cannot affect it.""" ;
+ SPARQL ASK queries (check_intended_use, check_regulatory_alignment) are downstream audit-layer checks that inspect declared documentary content on the reasoned graph; they do not contribute to this entailment and cannot affect it. Encoding note: Gates 2 and 3 carry the Act's intended-use and affected-population conditions; Gate 1 (capability) is ARCO's design-time evidential addition, stricter than the Annex III text — absence of a capability assertion blocks entailment even when regulated intent is documented (under-classification direction; see LIMITATIONS §3.9).""" ;
+ :hasRegulatoryBasis "Regulation (EU) 2024/1689, Annex III item 1(a); Article 6(2); Article 3(41) (remote biometric identification system definition); Article 3(36) (verification carve-out); Recitals 15 and 17"@en ;
+ :hasRegulatoryBasis "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"^^xsd:anyURI ;
+ skos:scopeNote "Universal whose instances are AI systems satisfying the three-gate defined-class axiom for Annex III 1(a); ARCO reports membership only as entailed under reviewed commitments. The partition criterion is the conjunction of the intended-use and use-scenario gates carried by Annex III item 1(a) with ARCO's added capability gate (LIMITATIONS §3.9) — a regulatory fiat boundary plus an ARCO-added capability condition (not part of the Annex III text; evidential in effect, since entailment requires a reviewed capability commitment), not a natural joint in the system space. Smith-Varzi fiat/bona-fide distinction used analogically per S3a: instances are real systems; the boundary that picks them out is determined by Regulation (EU) 2024/1689, not by a shared physical property."@en ;
rdfs:subClassOf :System ;
owl:equivalentClass [
rdf:type owl:Class ;
@@ -522,20 +572,23 @@ cco:Organization rdf:type owl:Class ;
# — genuine type-check, same pattern as 1(a) Gate 3.
#
# Conservative claim: demonstrates category extension for
-# creditworthiness evaluation. Micro-enterprise exclusions and
-# other 5(b) legal nuances are not modeled at this stage.
+# creditworthiness evaluation. The 5(b) fraud-detection carve-out
+# and other 5(b) legal nuances are not modeled at this stage.
#################################################################
:AnnexIII5bApplicableSystem rdf:type owl:Class ;
rdfs:label "Annex III 5(b) Applicable System"@en ;
skos:definition "An AI system that satisfies all three gates for Annex III 5(b) (creditworthiness): a component bearing a triggering capability, an intended use prescribing a creditworthiness evaluation process, and a use scenario designating natural persons as the affected role."@en ;
- rdfs:comment """System meeting Annex III 5(b) conditions via three independently necessary gates:
+ rdfs:comment """System satisfying ARCO's three-gate encoding of Annex III 5(b) via three independently necessary gates:
Gate 1 (reality-side): capability — system has_part a component that has_disposition CreditworthinessEvaluationCapability.
Gate 2 (representation-side): prescribed process — an IntendedUseSpecification is_about the system AND cco:prescribes some instance of :CreditworthinessEvaluationProcess. Same pattern as 1(a); any correctly typed process token satisfies the gate.
Gate 3 (representation-side): affected role — a UseScenarioSpecification (a Designative ICE) is_about the system AND cco:designates :NaturalPersonRole. Same pattern as 1(a) Gate 3: cco:designates with owl:hasValue references the role universal at the class-IRI level via a typed designation property whose range admits universals; no role tokens required.
Classification is OWL-entailed under owlrl.
- Conservative scope: demonstrates category extension; micro-enterprise exclusions and other 5(b) nuances remain deferred.
- Cross-category non-entailment: a system bearing only CreditworthinessEvaluationCapability is NOT entailed as AnnexIII1aApplicableSystem; a system bearing only BiometricIdentificationCapability is NOT entailed as AnnexIII5bApplicableSystem. (OWA — both claims hold under current assertions.)""" ;
+ Conservative scope: demonstrates category extension; the fraud-detection carve-out and other 5(b) nuances remain deferred (audit-layer flag only, not a classification gate).
+ Cross-category non-entailment: a system bearing only CreditworthinessEvaluationCapability is NOT entailed as AnnexIII1aApplicableSystem; a system bearing only BiometricIdentificationCapability is NOT entailed as AnnexIII5bApplicableSystem. (OWA — both claims hold under current assertions.) Encoding note: Gates 2 and 3 carry the Act's intended-use and affected-population conditions; Gate 1 (capability) is ARCO's design-time evidential addition, stricter than the Annex III text (under-classification direction; see LIMITATIONS §3.9).""" ;
+ :hasRegulatoryBasis "Regulation (EU) 2024/1689, Annex III item 5(b); Article 6(2)"@en ;
+ :hasRegulatoryBasis "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"^^xsd:anyURI ;
+ skos:scopeNote "Universal whose instances are AI systems satisfying the three-gate defined-class axiom for Annex III 5(b); ARCO reports membership only as entailed under reviewed commitments. The partition criterion is the conjunction of the intended-use and use-scenario gates carried by Annex III item 5(b) with ARCO's added capability gate (LIMITATIONS §3.9) — a regulatory fiat boundary plus an ARCO-added capability condition (not part of the Annex III text; evidential in effect, since entailment requires a reviewed capability commitment), not a natural joint in the system space. Smith-Varzi fiat/bona-fide distinction used analogically per S3a: instances are real systems; the boundary that picks them out is determined by Regulation (EU) 2024/1689, not by a shared physical property. Conservative scope: the fraud-detection carve-out (the single exception clause in Annex III 5(b)) is not modeled as a classification gate; it is disclosed at LIMITATIONS §2 and surfaced by the audit-layer flag query, and carve-out-as-OWL-consequence is deliberately held closed pending firm legal interpretation. Fiat-boundary annotation for the carve-out class is queued as X.14."@en ;
rdfs:subClassOf :System ;
owl:equivalentClass [
rdf:type owl:Class ;
diff --git a/03_TECHNICAL_CORE/ontology/ARCO_instances_creditscoring.ttl b/03_TECHNICAL_CORE/ontology/ARCO_instances_creditscoring.ttl
index 6727edb..0314308 100644
--- a/03_TECHNICAL_CORE/ontology/ARCO_instances_creditscoring.ttl
+++ b/03_TECHNICAL_CORE/ontology/ARCO_instances_creditscoring.ttl
@@ -17,7 +17,7 @@
- CreditScorer_001 is NOT entailed as AnnexIII1aApplicableSystem (no biometric identification capability; Gate 1 of 1(a) fails).
- Sentinel_ID_System (from instances_sentinel.ttl) is NOT entailed as AnnexIII5bApplicableSystem (no creditworthiness capability; Gate 1 of 5(b) fails).
- Conservative scope: demonstrates category extension for creditworthiness evaluation. Micro-enterprise exclusions and other 5(b) nuances are not modeled at this stage.""" ;
+ Conservative scope: demonstrates category extension for creditworthiness evaluation. The fraud-detection carve-out and other 5(b) nuances are not modeled at this stage.""" ;
owl:imports .
#################################################################
diff --git a/03_TECHNICAL_CORE/ontology/imports/cco_bot.owl b/03_TECHNICAL_CORE/ontology/imports/cco_bot.owl
index 9c63e52..8516606 100644
--- a/03_TECHNICAL_CORE/ontology/imports/cco_bot.owl
+++ b/03_TECHNICAL_CORE/ontology/imports/cco_bot.owl
@@ -1,6 +1,6 @@
-
-
- BSD 3-Clause: https://github.com/CommonCoreOntology/CommonCoreOntologies/blob/master/LICENSE
- CUBRC Inc., see full license.
- This ontology is designed to represent agents, especially persons and organizations, and their roles.
- Agent Ontology
- Version 1.7
-
+
@@ -33,164 +27,81 @@
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
-
-
-
+
-
-
-
+
-
+ http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
+ definition source
+ A citation of where all or some of the information used to create the term's Definition was acquired from.
-
+
-
-
+
+ http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
+ doctrinal source
+ A Definition Source that consists of a formalized doctrine in which the term is authoritatively defined.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
-
-
-
+
-
-
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -227,10 +138,9 @@
250-BFO
-
participates in
(Elucidation) participates in holds between some b that is either a specifically dependent continuant or generically dependent continuant or independent continuant that is not a spatial region & some process p such that b participates in p some way
- Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <Link>
+ Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <https://github.com/BFO-ontology/BFO-2020/tree/master/src/owl/profiles/temporal%20extensions>
@@ -256,10 +166,9 @@
248-BFO
-
has participant
p has participant c =Def c participates in p
- Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <Link>
+ Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <https://github.com/BFO-ontology/BFO-2020/tree/master/src/owl/profiles/temporal%20extensions>
@@ -272,10 +181,9 @@
230-BFO
-
has member part
b has member part c =Def c member part of b
- Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <Link>
+ Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <https://github.com/BFO-ontology/BFO-2020/tree/master/src/owl/profiles/temporal%20extensions>
@@ -287,10 +195,9 @@
228-BFO
-
member part of
b member part of c =Def b is an object & c is a material entity & there is some time t such that b continuant part of c at t & there is a mutually exhaustive and pairwise disjoint partition of c into objects x1, ..., xn (for some n ≠ 1) with b = xi (for some 1 <= i <= n)
- Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <Link>
+ Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <https://github.com/BFO-ontology/BFO-2020/tree/master/src/owl/profiles/temporal%20extensions>
@@ -302,11 +209,10 @@
221-BFO
-
continuant part of
b continuant part of c =Def b and c are continuants & there is some time t such that b and c exist at t & b continuant part of c at t
Milk teeth continuant part of human; surgically removed tumour continuant part of organism
- Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <Link>
+ Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <https://github.com/BFO-ontology/BFO-2020/tree/master/src/owl/profiles/temporal%20extensions>
@@ -317,10 +223,9 @@
271-BFO
-
has continuant part
b has continuant part c =Def c continuant part of b
- Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <Link>
+ Users that require more sophisticated representations of time are encouraged to import a temporal extension of BFO-Core provided by the BFO development team. See documentation for guidance: <https://github.com/BFO-ontology/BFO-2020/tree/master/src/owl/profiles/temporal%20extensions>
@@ -346,7 +251,6 @@
260-BFO
-
specifically depended on by
s-depended on by
b specifically depended on by c =Def c specifically depends on b
@@ -375,7 +279,6 @@
012-BFO
-
specifically depends on
s-depends on
(Elucidation) specifically depends on is a relation between a specifically dependent continuant b and specifically dependent continuant or independent continuant that is not a spatial region c such that b and c share no parts in common & b is of a nature such that at all times t it cannot exist unless c exists & b is not a boundary of c
@@ -402,7 +305,6 @@
053-BFO
-
bearer of
b bearer of c =Def c inheres in b
A patch of ink is the bearer of a colour quality; an organism is the bearer of a temperature quality
@@ -426,7 +328,6 @@
051-BFO
-
inheres in
b inheres in c =Def b is a specifically dependent continuant & c is an independent continuant that is not a spatial region & b specifically depends on c
A shape inheres in a shaped object; a mass inheres in a material entity
@@ -441,7 +342,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
designated by
x designated_by y iff y is an instance of Information Content Entity and x is an instance of Entity, such that given some context, y uniquely distinguishes x from other entities.
@@ -454,7 +354,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
designates
x designates y iff x is an instance of an Information Content Entity, and y is an instance of an Entity, such that given some context, x uniquely distinguishes y from other entities.
a URL designates the location of a Web Page on the internet
@@ -474,7 +373,6 @@
https://en.wikipedia.org/w/index.php?title=IPO_model&oldid=1024398398
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
-
has output
y has_output x iff x is an instance of Continuant and y is an instance of Process, such that the presence of x at the end of y is a necessary condition for the completion of y.
@@ -489,7 +387,6 @@
http://purl.obolibrary.org/obo/IAO_0000136
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
is about
A primitive relationship between an Information Content Entity and some Entity.
@@ -503,7 +400,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
-
is output of
x is_output_of y iff x is an instance of Continuant and y is an instance of Process, such that the presence of x at the end of y is a necessary condition for the completion of y.
@@ -515,7 +411,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
is subject of
A primitive relationship between an instance of an Entity and an instance of an Information Content Entity.
@@ -529,7 +424,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
prescribed by
x prescribed_by y iff y is an instance of Information Content Entity and x is an instance of Entity, such that y serves as a rule or guide for x if x is an Occurrent, or y serves as a model for x if x is a Continuant.
@@ -542,7 +436,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
prescribes
x prescribes y iff x is an instance of Information Content Entity and y is an instance of Entity, such that x serves as a rule or guide for y if y an Occurrent, or x serves as a model for y if y is a Continuant.
A blueprint prescribes some artifact or facility by being a model for it.
@@ -567,7 +460,6 @@
001-BFO
-
entity
(Elucidation) An entity is anything that exists or has existed or will exist
Julius Caesar; the Second World War; your body mass index; Verdi's Requiem
@@ -587,7 +479,6 @@
008-BFO
-
continuant
(Elucidation) A continuant is an entity that persists, endures, or continues to exist through time while maintaining its identity
A human being; a tennis ball; a cave; a region of space; someone's temperature
@@ -600,7 +491,6 @@
077-BFO
-
occurrent
(Elucidation) An occurrent is an entity that unfolds itself in time or it is the start or end of such an entity or it is a temporal or spatiotemporal region
As for process, history, process boundary, spatiotemporal region, zero-dimensional temporal region, one-dimensional temporal region, temporal interval, temporal instant.
@@ -619,7 +509,6 @@
017-BFO
-
independent continuant
b is an independent continuant =Def b is a continuant & there is no c such that b specifically depends on c or b generically depends on c
An atom; a molecule; an organism; a heart; a chair; the bottom right portion of a human torso; a leg; the interior of your mouth; a spatial region; an orchestra
@@ -638,7 +527,6 @@
035-BFO
-
spatial region
(Elucidation) A spatial region is a continuant entity that is a continuant part of the spatial projection of a portion of spacetime at a given time
As for zero-dimensional spatial region, one-dimensional spatial region, two-dimensional spatial region, three-dimensional spatial region
@@ -651,7 +539,6 @@
083-BFO
-
process
event
(Elucidation) p is a process means p is an occurrent that has some temporal proper part and for some time t, p has some material entity as participant
@@ -665,7 +552,6 @@
058-BFO
-
realizable entity
(Elucidation) A realizable entity is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region & which is of a type some instances of which are realized in processes of a correlated type
The role of being a doctor; the role of this boundary to delineate where Utah and Colorado meet; the function of your reproductive organs; the disposition of your blood to coagulate; the disposition of this piece of metal to conduct electricity
@@ -678,7 +564,6 @@
050-BFO
-
specifically dependent continuant
b is a specifically dependent continuant =Def b is a continuant & there is some independent continuant c which is not a spatial region & which is such that b specifically depends on c
(with multiple bearers) John's love for Mary; the ownership relation between John and this statue; the relation of authority between John and his subordinates
@@ -692,7 +577,6 @@
025-BFO
-
object aggregate
(Elucidation) An object aggregate is a material entity consisting exactly of a plurality (≥1) of objects as member parts which together form a unit
The aggregate of the musicians in a symphony orchestra and their instruments; the aggregate of bearings in a constant velocity axle joint; the nitrogen atoms in the atmosphere; a collection of cells in a blood biobank
@@ -733,7 +617,6 @@
034-BFO
-
site
(Elucidation) A site is a three-dimensional immaterial entity whose boundaries either (partially or wholly) coincide with the boundaries of one or more material entities or have locations determined in relation to some material entity
A hole in a portion of cheese; a rabbit hole; the Grand Canyon; the Piazza San Marco; the kangaroo-joey-containing hole of a kangaroo pouch; your left nostril (a fiat part - the opening - of your left nasal cavity); the lumen of your gut; the hold of a ship; the interior of the trunk of your car; hole in an engineered floor joist
@@ -746,7 +629,6 @@
024-BFO
-
object
(Elucidation) An object is a material entity which manifests causal unity & is of a type instances of which are maximal relative to the sort of causal unity manifested
An organism; a fish tank; a planet; a laptop; a valve; a block of marble; an ice cube
@@ -760,7 +642,6 @@
074-BFO
-
generically dependent continuant
g-dependent continuant
(Elucidation) A generically dependent continuant is an entity that exists in virtue of the fact that there is at least one of what may be multiple copies which is the content or the pattern that multiple copies would share
@@ -795,7 +676,6 @@
019-BFO
-
material entity
(Elucidation) A material entity is an independent continuant has some portion of matter as continuant part
A human being; the undetached arm of a human being; an aggregate of human beings
@@ -814,7 +694,6 @@
029-BFO
-
continuant fiat boundary
(Elucidation) A continuant fiat boundary b is an immaterial entity that is of zero, one or two dimensions & such that there is no time t when b has a spatial region as continuant part & whose location is determined in relation to some material entity
As for fiat point, fiat line, fiat surface
@@ -827,7 +706,6 @@
028-BFO
-
immaterial entity
b is an immaterial entity =Def b is an independent continuant which is such that there is no time t when it has a material entity as continuant part
As for fiat point, fiat line, fiat surface, site
@@ -852,7 +730,6 @@
Schlosser, Markus, "Agency", The Stanford Encyclopedia of Philosophy (Winter 2019 Edition), Edward N. Zalta (ed.), available at: https://plato.stanford.edu/archives/win2019/entries/agency/
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
-
Agent
A Material Entity that bears an Agent Capability.
@@ -865,7 +742,6 @@
Schlosser, Markus, "Agency", The Stanford Encyclopedia of Philosophy (Winter 2019 Edition), Edward N. Zalta (ed.), available at: https://plato.stanford.edu/archives/win2019/entries/agency/
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
-
Agent Capability
A Realizable Entity that inheres in a Material Entity in virtue of that Material Entity's capacity to realize it in some Planned Act.
@@ -878,7 +754,6 @@
https://en.wikipedia.org/w/index.php?title=Animal&oldid=1063873549
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
-
Animal
An Organism that is multicellular, eukaryotic, heterotrophic, and capable of motility for part of its life.
@@ -890,7 +765,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Calendar System
A Temporal Reference System that is designed to organize and identify dates.
Calendars typically organize dates through the use of naming and temporal conventions based on Days, Weeks, Months, and Years.
@@ -904,7 +778,6 @@
https://en.wikipedia.org/w/index.php?title=Cartesian_coordinate_system&oldid=1058613323
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Cartesian Coordinate System
Rectangular Coordinate System
A Spatial Reference System that identifies each point in a spatial region of n-dimensions using an ordered n-tuple of numerical coordinates that are the signed (i.e. positive or negative) distances measured in the same unit of length from the zero point where the fixed perpendicular Coordinate System Axes meet.
@@ -919,7 +792,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
In traditional astronomical usage, civil time is mean solar time as calculated from midnight as the beginning of the Civil Day.
Note that Civil Time Reference System is more accurately represented as a Temporal Reference System that participates in an act of usage that is sanctioned by an appropriate civil authority. As such, it should be represented as a defined class.
-
Civil Time Reference System
A Temporal Reference System that is a statutory time scale as designated by civilian authorities to determine local time(s).
@@ -932,7 +804,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
A single Clock Time System does not provide a complete means for identifying or measuring times. Depending on the particular Clock Time System, it may be compatible for use with one or more other Temporal Reference Systems.
-
Clock Time System
A Temporal Reference System that is a convention for keeping and displaying the Time of Day.
@@ -944,7 +815,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Measurement Unit of Currency
A Measurement Unit used in measurements of financial values.
U.S. Dollar, Euro, Yuan, South African Rand
@@ -959,7 +829,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Descriptive Information Content Entity
Descriptive ICE
An Information Content Entity that consists of a set of propositions that describe some Entity.
@@ -984,7 +853,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Designative Information Content Entity
Designative ICE
An Information Content Entity that consists of a set of symbols that denote some Entity.
@@ -1008,7 +876,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Directive Information Content Entity
Directive ICE
An Information Content Entity that consists of a set of propositions or images (as in the case of a blueprint) that prescribe some Entity.
@@ -1021,7 +888,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Geospatial Coordinate Reference System
Geographic Coordinate System
A Spatial Reference System that is used to determine and identify the location of a point or object at or near the surface of the Earth.
@@ -1035,7 +901,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Greenwich Mean Time (GMT) is the mean solar time at the Royal Observatory in Greenwich, London and has been superseded by Coordinated Universal Time (UTC).
-
Greenwich Mean Time Zone Identifier
A Time Zone Identifier that designates a spatial region where the local time is calculated according to the specified offset from Greenwich Mean Time.
@@ -1061,7 +926,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
-
Group of Agents
An Object Aggregate that has only Agents as parts.
@@ -1085,7 +949,6 @@
http://purl.obolibrary.org/obo/IAO_0000030
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Information Content Entity
ICE
A Generically Dependent Continuant that generically depends on some Information Bearing Entity and stands in relation of aboutness to some Entity.
@@ -1100,7 +963,6 @@
https://en.wikipedia.org/w/index.php?title=Unit_of_measurement&oldid=1061038125
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Measurement Unit
A Descriptive Information Content Entity that describes a definite magnitude of a physical quantity, defined and adopted by convention and/or by law, that is used as a standard for measurement of the same physical quantity.
@@ -1112,7 +974,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Acceleration
A Measurement Unit that is used as a standard for measurement of the rate at which objects change their velocities per unit of time.
feet per second per second, kilometers per second per second
@@ -1126,7 +987,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
The type of particle quantified is typically either atoms or molecules, but may also be protons, neutrons, electrons, quarks, or other particles. The type of particle being measured should always be specified along with the measurement and its unit.
-
Measurement Unit of Amount of Substance
Measurement Unit of Chemical Amount
Measurement Unit of Enplethy
@@ -1141,7 +1001,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Angle
A Measurement Unit that is used as a standard for measurement of the angle between two lines or planes in relation to a vertex.
degrees, radians
@@ -1154,7 +1013,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Area
A Measurement Unit that is used as a standard for measurement of two-dimensional regions or Geospatial Regions.
square feet, square meters, acre, hectare
@@ -1167,7 +1025,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Area Moment of Inertia
Measurement Unit of Second Area Moment
A Measurement Unit that is used as a standard for measurement of the distribution of Mass of an object with respect to an axis.
@@ -1181,7 +1038,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Density
A Measurement Unit that is used as a standard for measurement of the mass of an object per unit of its total volume.
@@ -1193,7 +1049,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Electromagnetic Force
A Measurement Unit that is used as a standard for measurement of the electromagnetic force between electrically charged entities.
volt, ampere, coulomb
@@ -1206,7 +1061,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Energy
A Measurement Unit that is used as a standard for measurement of the Amount of work that is available in an object.
ft-lbs, calorie, horsepower, kilowatt
@@ -1219,7 +1073,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Flow
A Measurement Unit that is used as a standard for measurement of the rate at which portions of a substance pass per unit of time.
@@ -1231,7 +1084,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Force
A Measurement Unit that is used as a standard for measurement of interactions in which the Motion or Velocity of an object is changed, unless the interaction is opposed.
newton, dyne, pound force
@@ -1244,7 +1096,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Frequency
A Measurement Unit that is used as a standard for measurement of the number of times an event repeats per unit of time.
hertz, revolutions per minute
@@ -1257,7 +1108,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Impulse
A Measurement Unit that is used as a standard for measurement of the integral of a Force applied to a portion of matter over a temporal interval.
N s, dyne second
@@ -1270,7 +1120,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Length
A Measurement Unit that is used as a standard for measurement of one-dimensional regions or Geospatial Regions.
foot, meter, kilometer, mile
@@ -1283,7 +1132,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Mass
A Measurement Unit that is used as a standard for measurement of an object's resistance to Acceleration when a Force is applied to the object.
ounce, gram, pound
@@ -1296,7 +1144,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Mass Flow Rate
A Measurement Unit of Flow that is used as a standard for measurement of the rate at which the Mass of a substance passes per unit time.
kilogram per second, slug per second, pound per second
@@ -1309,7 +1156,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Momentum
A Measurement Unit that is used as a standard for measurement of the Momentum of a portion of matter that is in Motion.
kg m/s, slug ft/s, g m/s
@@ -1322,7 +1168,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Power
A Measurement Unit that is used as a standard for measurement of rates of work.
watt, horsepower
@@ -1335,7 +1180,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Pressure
A Measurement Unit that is used as a standard for measurement of Force applied perpendicular to a surface per unit area.
pascal, atmosphere, pound-force per square inch
@@ -1348,7 +1192,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Rotational Inertia
Measurement Unit of Moment of Inertia
Measurement Unit of Rotational Mass
@@ -1363,7 +1206,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Sound Level
A Measurement Unit that is used as a standard for measurement of the level (the loudness) of sounds.
decibels, sones
@@ -1376,7 +1218,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Speed
A Measurement Unit that is used as a standard for measurement of the rates at which objects traverse distance.
miles per hour, kilometers per hour, knot, mach
@@ -1389,7 +1230,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Temperature
A Measurement Unit that is used as a standard for measurement of the thermal energy in an object.
celsius, fahrenheit, kelvin
@@ -1402,7 +1242,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Time
A Measurement Unit that is used as a standard for measurement of temporal regions.
second, minute, hour, day
@@ -1415,7 +1254,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Torque
Measurement Unit of Moment of Force
Measurement Unit of Rotational Force
@@ -1429,7 +1267,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Volume
A Measurement Unit that is used as a standard for measurement of sites or three-dimensional regions or Geospatial Regions.
cubic feet, cubic meter, quart, liter
@@ -1442,7 +1279,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Volumetric Flow Rate
A Measurement Unit of Flow that is used as a standard for measurement of the rate at which volumes of fluid pass per unit time.
cubic metres per second, standard cubic centimeters per minute, cubic feet per second, gallons per minute
@@ -1455,7 +1291,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Measurement Unit of Work
A Measurement Unit that is used as a standard for measurement of displacements of points to which Forces have been applied.
joule, erg, kilowatt hour
@@ -1468,7 +1303,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Military Time Zone Identifier
A Time Zone Identifier that designates a spatial region where the local time is calculated according to the specified offset from Zulu time, which has no offset from Coordinated Universal Time.
@@ -1480,7 +1314,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
-
Organism
An Object that is an Animal or Plant.
@@ -1494,7 +1327,6 @@
http://purl.obolibrary.org/obo/OBI_0000245
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
Members of organizations are either Organizations themselves or individual Persons. Members can bear specific Organization Member Roles that are determined in the organization rules. The organization rules also determine how decisions are made on behalf of the Organization by the organization members.
-
Organization
A Group of Agents which can be the bearer of roles, has members, and has a set of organization rules.
@@ -1507,7 +1339,6 @@
https://en.wikipedia.org/w/index.php?title=Human&oldid=1063145185
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
-
Person
Human
An Animal that is a member of the species Homo sapiens.
@@ -1520,7 +1351,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Reference System
A Descriptive Information Content Entity that describes a set of standards for organizing and understanding data of the specified type or domain.
@@ -1533,7 +1363,6 @@
https://en.wikipedia.org/w/index.php?title=Solar_calendar&oldid=1058016588
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Solar Calendar System
A Calendar System that is designed to organize and identify dates based on the cycles of an Astronomical Body's Orbit around the Sun.
Unless otherwise specified, a Solar Calendar System is assumed to be relative to the Orbit of the Earth around the Sun.
@@ -1546,7 +1375,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Solar Time Reference System
A Temporal Reference System that is based on the position of the Sun in the sky.
@@ -1560,7 +1388,6 @@
https://en.wikipedia.org/w/index.php?title=Coordinate_system&oldid=1060461397
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Note that, while reference systems and reference frames are treated as synonyms here, some people treat them as related but separate entities. See: http://www.ggos-portal.org/lang_en/GGOS-Portal/EN/Topics/GeodeticApplications/GeodeticReferenceSystemsAndFrames/GeodeticReferenceSystemsAndFrames.html
-
Spatial Reference System
Coordinate System
Spatial Coordinate System
@@ -1586,7 +1413,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Spatial Region Identifier
A Designative Information Content Entity that designates some Spatial Region.
@@ -1598,7 +1424,6 @@
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Temporal Reference System
Temporal Reference Frame
Time Scale
@@ -1616,7 +1441,6 @@
ISO/WD 8601-2 (http://www.loc.gov/standards/datetime/iso-tc154-wg5_n0039_iso_wd_8601-2_2016-02-16.pdf)
W3C (https://www.w3.org/TR/NOTE-datetime)
There is no class 'Time Zone' (the region), only 'Time Zone Identifier' (the designator for some region). Instances of 'Time Zone Identifier' should be related to instances of 'Information Bearing Entity' by means of the object properites 'uses time zone identifier' and 'time zone identifier used by' as appropriate. This is supposed to be analogous to the way we represent the relationship between measurement values and measurement units, where the relevant instance of Information Bearing Entity 'uses measurement unit' some instance of Measurement Unit (i.e., an instance of Information Content Entity).
-
Time Zone Identifier
A Spatial Region Identifier that designates the region associated with some uniform standard time for legal, commercial, or social purposes.
@@ -1629,10 +1453,8 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
UT
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Universal Time Reference System
A Solar Time Reference System that is based on the average speed of the Earth's rotation and which uses the prime meridian at 0° longitude as a reference point.
- A Solar Time Reference System that is based on the average speed of the Earth's rotation and which uses the prime meridian at 0� longitude as a reference point.
@@ -1653,7 +1475,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Acre Measurement Unit
acre
@@ -1665,7 +1486,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Afghanistan Afghani
@@ -1676,7 +1496,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Albania Lek
@@ -1687,7 +1506,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Algerian Dinar
@@ -1700,7 +1518,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
A
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+1
-
Alpha Time Zone
@@ -1711,7 +1528,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Angolan Kwanza
@@ -1722,7 +1538,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Angstrom Measurement Unit
Angstrom
Å
@@ -1736,7 +1551,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Argentine Peso
@@ -1747,7 +1561,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Armenian Dram
@@ -1758,7 +1571,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Atmosphere Measurement Unit
atm
@@ -1770,7 +1582,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Australian Dollar
@@ -1781,7 +1592,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Azerbaijan Manat
@@ -1792,7 +1602,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Bangladesh Taka
@@ -1803,7 +1612,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Bar Measurement Unit
bar
@@ -1818,9 +1626,6 @@ W3C (https://www.w3.org/TR/NOTE-datetime)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
"Barycentric Coordinate Time (TCB, from the French Temps-coordonnée barycentrique) is a coordinate time standard intended to be used as the independent variable of time for all calculations pertaining to orbits of planets, asteroids, comets, and interplanetary spacecraft in the Solar system. It is equivalent to the proper time experienced by a clock at rest in a coordinate frame co-moving with the barycenter of the Solar system: that is, a clock that performs exactly the same movements as the Solar system but is outside the system's gravity well. It is therefore not influenced by the gravitational time dilation caused by the Sun and the rest of the system."
From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
- "Barycentric Coordinate Time (TCB, from the French Temps-coordonn�e barycentrique) is a coordinate time standard intended to be used as the independent variable of time for all calculations pertaining to orbits of planets, asteroids, comets, and interplanetary spacecraft in the Solar system. It is equivalent to the proper time experienced by a clock at rest in a coordinate frame co-moving with the barycenter of the Solar system: that is, a clock that performs exactly the same movements as the Solar system but is outside the system's gravity well. It is therefore not influenced by the gravitational time dilation caused by the Sun and the rest of the system."
-From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
-
Barycentric Coordinate Time
@@ -1833,7 +1638,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
TDB
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
TDB is a linear scaling of Barycentric Coordinate Time (TCB) and is a relativistic coordinate time scale used in astronomy as a time standard that accounts for time dilation when calculating Orbits and Ephemerides of Astronomical Bodies and interplanetary Spacecraft in the Solar System. TDB is a successor of Ephemeris Time (ET) and is nearly equivalent to the time scale Teph used for DE405 planetary and lunar ephemerides generated by the Jet Propulsion Laboratory.
-
Barycentric Dynamical Time
@@ -1844,7 +1648,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Bayre Measurement Unit
ba
@@ -1856,7 +1659,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Belarussian Ruble
@@ -1867,7 +1669,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Bhutan Ngultrum
@@ -1878,7 +1679,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Binary Degree Measurement Unit
Binary Radian
Brad
@@ -1891,7 +1691,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Bolivia Boliviano
@@ -1902,7 +1701,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Bosnia And Herzegovina Convertible Mark
@@ -1913,7 +1711,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Botswana Pula
@@ -1926,7 +1723,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
B
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+2
-
Bravo Time Zone
@@ -1937,7 +1733,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Brazilian Real
@@ -1950,7 +1745,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
British Thermal Unit Measurement Unit
BTU
Btu
@@ -1963,7 +1757,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Brunei Dollar
@@ -1974,7 +1767,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Bulgarian Lev
@@ -1985,7 +1777,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Burundi Franc
@@ -1996,7 +1787,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
CFA Franc
@@ -2007,7 +1797,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
CFP Franc
@@ -2020,7 +1809,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Calorie Measurement Unit
cal
@@ -2032,7 +1820,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Cambodian Riel
@@ -2043,7 +1830,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Canadian Dollar
@@ -2054,7 +1840,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Cape Verde Escudo
@@ -2065,7 +1850,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Centigram Measurement Unit
cg
@@ -2077,7 +1861,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Centiliter Measurement Unit
cL
@@ -2089,7 +1872,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Centimeter Measurement Unit
cm
@@ -2103,7 +1885,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
C
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+3
-
Charlie Time Zone
@@ -2114,7 +1895,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Chilean Peso
@@ -2125,7 +1905,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Chinese Renminbi
@@ -2136,7 +1915,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Colombian Peso
@@ -2147,7 +1925,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Comoros Franc
@@ -2161,7 +1938,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
UTC
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
UTC is a variant of Universal Time that is calculated by combining Universal Time 1 with International Atomic Time by occasionally adding leap seconds to TAI in order to maintain UTC within 0.9 seconds of UT1. The difference between UTC and UT1 is called DUT1 and always has a value between -0.9 seconds and +0.9 seconds. Coordinated Universal Time is the current basis for civil time and is the reference time for time zones, whose local times are defined based on an offset from UTC.
-
Coordinated Universal Time
@@ -2172,7 +1948,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Costa Rica Colon
@@ -2183,7 +1958,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Croatia Kuna
@@ -2194,7 +1968,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Centimeter Measurement Unit
cm^3
@@ -2206,7 +1979,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Decimeter Measurement Unit
dm^3
@@ -2219,7 +1991,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
cusec
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Feet Per Second Measurement Unit
ft^3/s
@@ -2231,7 +2002,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Foot Measurement Unit
ft^3
@@ -2243,7 +2013,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Inch Measurement Unit
in^3
@@ -2255,7 +2024,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Meter Measurement Unit
m^3
@@ -2269,7 +2037,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
m^3/s
cumec
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Meter Per Second Measurement Unit
@@ -2280,7 +2047,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Millimeter Measurement Unit
mm^3
@@ -2292,7 +2058,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Cubic Yard Measurement Unit
yrd^3
@@ -2304,7 +2069,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Czech Koruna
@@ -2315,7 +2079,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Danish Krone
@@ -2326,7 +2089,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Day Measurement Unit
@@ -2342,7 +2104,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
https://shopdelta.eu/dbi-power-gain-of-isotropic-antenna_l2_aid836.html
https://www.techtarget.com/whatis/definition/decibels-relative-to-isotropic-radiator-dBi
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Decibel Isotropic Measurement Unit
Decibels Over Isotropic
Decibels Over Isotropic Antenna
@@ -2359,7 +2120,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
dB
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Decibel Measurement Unit
@@ -2370,7 +2130,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Decigram Measurement Unit
dg
@@ -2382,7 +2141,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Deciliter Measurement Unit
dL
@@ -2394,7 +2152,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Decimeter Measurement Unit
dm
@@ -2408,7 +2165,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
degree Celsius
°C
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Degree Celsius Measurement Unit
@@ -2419,7 +2175,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Degree Fahrenheit Measurement Unit
°F
@@ -2432,7 +2187,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
°
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Degree Measurement Unit
@@ -2445,7 +2199,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
D
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+4
-
Delta Time Zone
@@ -2456,7 +2209,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Democratic Republic Of Congo Franc
@@ -2467,7 +2219,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Dominican Peso
@@ -2478,7 +2229,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Dyne Measurement Unit
dyn
@@ -2490,7 +2240,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Dyne Second Measurement Unit
dyne s
dyne second
@@ -2505,7 +2254,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
https://en.wikipedia.org/w/index.php?title=Earth-centered,_Earth-fixed_coordinate_system&oldid=1062678600
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Earth-Centered Earth-Fixed Coordinate System
Conventional Terrestrial Coordinate System
ECEF
@@ -2526,7 +2274,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
E
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+5
-
Echo Time Zone
@@ -2537,7 +2284,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Egyptian Pound
@@ -2550,7 +2296,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
ET
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
ET is an astronomical time scale that was adopted as a standard in 1952 by the IAU but has since been superseded and is no longer actively used. ET is based on the ephemeris second, which was defined as a fraction of the tropical year for 1900 January 01 as calculated using Newcomb's 1895 tables of the Sun. ET was designed to avoid problems caused by variations in Earth's rotational period and was used for Solar System ephemeris calculations until being replaced by Terrestrial Dynamical Time (TDT) in 1979.
-
Ephemeris Time
@@ -2563,7 +2308,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Erg Measurement Unit
erg
@@ -2575,7 +2319,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Ethiopian Birr
@@ -2586,7 +2329,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Euro
@@ -2597,7 +2339,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Feet Per Second Measurement Unit
ft/s
@@ -2609,7 +2350,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Feet Per Second Per Second Measurement Unit
ft/s/s
ft/s^2
@@ -2622,7 +2362,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Fiji Dollar
@@ -2633,7 +2372,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Foot Measurement Unit
ft
@@ -2647,7 +2385,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
F
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+6
-
Foxtrot Time Zone
@@ -2659,7 +2396,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+0
-
GMT
Greenwich Mean Time
@@ -2672,7 +2408,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
NST
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-3:30
Newfoundland Standard Time
@@ -2684,7 +2419,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-1
CAT
Central African Time
@@ -2697,7 +2431,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-10
HST
Hawaii Standard Time
@@ -2710,7 +2443,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-11
MIT
Midway Islands Time
@@ -2723,7 +2455,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-2
BET
Brazil Eastern Time
@@ -2736,7 +2467,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-3
AGT
Argentina Standard Time
@@ -2749,7 +2479,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-4
PRT
Puerto Rico and US Virgin Islands Time
@@ -2762,7 +2491,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-5
EST
Eastern Standard Time
@@ -2777,7 +2505,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-6
CST
Central Standard Time
@@ -2790,7 +2517,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-7
MST
Mountain Standard Time
@@ -2805,7 +2531,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-8
PST
Pacific Standard Time
@@ -2818,7 +2543,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT-9
AST
Alaska Standard Time
@@ -2833,7 +2557,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
IRST
IT
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+3:30
Iran Standard Time
Iran Time
@@ -2848,7 +2571,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
IST
SLST
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+5:30
Indian Standard Time
Sri Lanka Standard Time
@@ -2862,7 +2584,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
ACST
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+9:30
Australian Central Standard Time
@@ -2874,7 +2595,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+1
ECT
European Central Time
@@ -2887,7 +2607,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+10
AET
Australia Eastern Time
@@ -2900,7 +2619,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+11
SST
Solomon Standard Time
@@ -2913,7 +2631,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+12
NST
New Zealand Standard Time
@@ -2926,7 +2643,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+2
EET
Eastern European Time
@@ -2939,7 +2655,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+3
EAT
Eastern African Time
@@ -2952,7 +2667,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+4
NET
Near East Time
@@ -2965,7 +2679,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+5
PLT
Pakistan Lahore Time
@@ -2978,7 +2691,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+6
BST
Bangladesh Standard Time
@@ -2991,7 +2703,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+7
VST
Vietnam Standard Time
@@ -3004,7 +2715,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+8
CTT
China Taiwan Time
@@ -3017,7 +2727,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
GMT+9
JST
Japan Standard Time
@@ -3030,7 +2739,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gallon Measurement Unit
gal
@@ -3042,7 +2750,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gallon Per Minute Measurement Unit
gal/min
@@ -3054,7 +2761,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Gambian Dalasi
@@ -3068,7 +2774,6 @@ From: (https://en.wikipedia.org/wiki/Barycentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
"TCG is a coordinate time standard intended to be used as the independent variable of time for all calculations pertaining to precession, nutation, the Moon, and artificial satellites of the Earth. It is equivalent to the proper time experienced by a clock at rest in a coordinate frame co-moving with the center of the Earth: that is, a clock that performs exactly the same movements as the Earth but is outside the Earth's gravity well. It is therefore not influenced by the gravitational time dilation caused by the Earth."
From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
-
Geocentric Coordinate Time
@@ -3079,7 +2784,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Georgian Lari
@@ -3090,7 +2794,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Ghana Cedi
@@ -3101,7 +2804,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gigahertz Measurement Unit
GHz
@@ -3114,7 +2816,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
GARS
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Global Area Reference System
@@ -3127,7 +2828,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
G
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+7
-
Golf Time Zone
@@ -3138,7 +2838,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gradian Measurement Unit
Gon
Grad
@@ -3152,7 +2851,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gram Measurement Unit
g
@@ -3164,7 +2862,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gram-Mole Measurement Unit
g-mol
gram-mole
@@ -3178,7 +2875,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
g/cm^3
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gram Per Cubic Centimeter Measurement Unit
@@ -3189,7 +2885,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Gram Per Second Measurement Unit
g/s
@@ -3203,7 +2898,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
https://en.wikipedia.org/w/index.php?title=Gregorian_calendar&oldid=1062360692
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
The Gregorian Calendar was instituted by Pope Gregory XIII via papal bull on 24 February 1582 as a reform of the Julian Calendar to stop the drift of the calendar with respect to the equinoxes and solstices. The Gregorian Calendar is currently the most widely used civil Calendar System in the world and is 13 days ahead of the Julian Calendar Date.
-
Gregorian Calendar
A Solar Calendar System that has a regular Year of 365 24-Hour Days divided into 12 Months with a leap day added at the end of February every 4 Years except Years that are evenly divisible by 100 but not 400 such that there are 97 leap Years every 400 Years and the average length of a Gregorian Year is 365.2425 Days (365 Days 5 Hours 49 Minutes 12 Seconds).
@@ -3215,7 +2909,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Guatemala Quetzal
@@ -3226,7 +2919,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Guinean Franc
@@ -3237,7 +2929,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Guyana Dollar
@@ -3248,7 +2939,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Haiti Gourde
@@ -3261,7 +2951,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
hertz
Hz
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Hertz Measurement Unit
cycles per second
@@ -3273,7 +2962,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Honduras Lempira
@@ -3284,7 +2972,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
HongKong Dollar
@@ -3297,7 +2984,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Horsepower Measurement Unit
hp
@@ -3311,7 +2997,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
H
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+8
-
Hotel Time Zone
@@ -3323,7 +3008,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
h
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Hour Measurement Unit
hr
@@ -3335,7 +3019,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Hungary Forint
@@ -3346,7 +3029,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Iceland Krona
@@ -3357,7 +3039,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Inch Measurement Unit
in
@@ -3371,7 +3052,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
I
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+9
-
India Time Zone
@@ -3382,7 +3062,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Indian Rupee
@@ -3393,7 +3072,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Indonesia Rupiah
@@ -3406,7 +3084,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
TAI
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
TAI is a time standard the values of which are generated by calculating the weighted average of the measurements of more than 400 atomic clocks and is based on the International System of Units (SI) definition of one second equals the time it takes a Cesium-133 atom at the ground state to oscillate exactly 9,192,631,770 times. TAI is extremely precise, but does not perfectly synchronize with Earth times, which is why TAI and UT1 are both used to determine UTC. TAI serves as the main realization of TT.
-
International Atomic Time
@@ -3417,9 +3094,7 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
Alken, P., Thébault, E., Beggan, C.D. et al. International Geomagnetic Reference Field: the thirteenth generation. Earth Planets Space 73, 49 (2021). https://doi.org/10.1186/s40623-020-01288-x , https://www.iaga-aiga.org/
- Alken, P., Th�bault, E., Beggan, C.D. et al. International Geomagnetic Reference Field: the thirteenth generation. Earth Planets Space 73, 49 (2021). https://doi.org/10.1186/s40623-020-01288-x , https://www.iaga-aiga.org/
This global main field model provides magnetic field values for any location on Earth, e.g. for navigational purposes (declination) or as a standard for core field subtraction for aeromagnetic surveys. An updated version is adopted by International Association of Geomagnetism and Aeronomy (IAGA) every 5 years).
-
International Geomagnetic Reference Field
@@ -3437,7 +3112,6 @@ From: (https://en.wikipedia.org/wiki/Geocentric_Coordinate_Time)
3. Its orientation was initially given by the BIH orientation at 1984.0.
4. The time evolution of the orientation is ensured by using a no-net-rotation condition with regards to horizontal tectonic motions over the whole earth.
From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
-
International Terrestrial Reference System
@@ -3448,7 +3122,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Iranian Rial
@@ -3459,7 +3132,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Israel Shekel
@@ -3470,7 +3142,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Jamaican Dollar
@@ -3481,7 +3152,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Japanese Yen
@@ -3494,7 +3164,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
Teph
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Teph (the 'eph' is written as subscript) is an ephemeris time argument developed and calculated at the Jet Propulsion Laboratory (JPL) and implemented in a series of numerically integrated Development Ephemerides (DE), including the currently used DE405. Teph is characterized as a relativistic coordinate time that is nearly equivalent to the IAU's definition of TCB, though Teph is not currently an IAU time standard. Teph is used by the JPL to generate the ephemerides it publishes to support spacecraft navigation and astronomy.
-
Jet Propulsion Laboratory Ephemeris Time Argument
JPL Ephemeris Time
@@ -3510,7 +3179,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
joule
J
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Joule Measurement Unit
@@ -3523,7 +3191,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
https://en.wikipedia.org/w/index.php?title=Julian_calendar&oldid=1063127575
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
The Julian Calendar was proposed by Julius Caesar as a reform of the Roman Calendar, took effect on 1 January 46 BC, and was the predominant Calendar System in Europe until being largely replaced by the Gregorian Calendar.
-
Julian Calendar
A Solar Calendar System that has a regular Year of 365 24-Hour Days divided into 12 Months with a leap day added at the end of February every 4 Years such that the average length of a Julian Year is 365.25 Days.
@@ -3537,7 +3204,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
J
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Juliet time is used as an indexical to refer to local time without otherwise specifying the time zone.
-
Juliet Time Zone
@@ -3548,7 +3214,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Kazakhstan Tenge
@@ -3561,7 +3226,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kelvin
K
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kelvin Measurement Unit
@@ -3572,7 +3236,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Kenyan Shilling
@@ -3585,7 +3248,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
K
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+10
-
Kilo Time Zone
@@ -3598,7 +3260,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kg/cm^2
kgf/cm^2
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Force Per Centimeter Square Measurement Unit
Kilogram Per Square Centimeter Measurement Unit
Kilopond Per Centimeter Square Measurement Unit
@@ -3613,7 +3274,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kilogram
kg
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Measurement Unit
@@ -3624,7 +3284,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Meter Per Second Measurement Unit
kg m/s
@@ -3637,7 +3296,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kg-m^2
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Meter Square Measurement Unit
@@ -3648,7 +3306,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram-Mole Measurement Unit
kg-mol
kilogram-mole
@@ -3662,7 +3319,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kg/m^3
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Per Cubic Meter Measurement Unit
@@ -3674,7 +3330,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kg/L
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Per Liter Measurement Unit
@@ -3686,7 +3341,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
kg/s
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilogram Per Second Measurement Unit
@@ -3697,7 +3351,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilohertz Measurement Unit
kHz
@@ -3709,7 +3362,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kiloliter Measurement Unit
kL
@@ -3721,7 +3373,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilometer Measurement Unit
km
@@ -3733,7 +3384,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilometers Per Hour Measurement Unit
km/h
@@ -3745,7 +3395,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilometers Per Second Measurement Unit
km/s
@@ -3757,7 +3406,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilometers Per Second Per Second Measurement Unit
km/s/s
@@ -3769,7 +3417,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilomole Measurement Unit
kilomole
kmol
@@ -3782,7 +3429,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilonewton Measurement Unit
kN
@@ -3794,7 +3440,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilopond Measurement Unit
Kilogram Force Measurement Unit
Kilogram-Force
@@ -3808,7 +3453,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Kilovolt Ampere Measurement Unit
kVA
@@ -3820,7 +3464,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Knot Measurement Unit
kn
@@ -3832,7 +3475,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Kuwaiti Dinar
@@ -3843,7 +3485,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Kyrgyzstan Som
@@ -3854,7 +3495,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Laos Kip
@@ -3865,7 +3505,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Lebanese Pound
@@ -3876,7 +3515,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Lesotho Loti
@@ -3887,7 +3525,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Liberian Dollar
@@ -3898,7 +3535,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Libyan Dinar
@@ -3911,7 +3547,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
L
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+11
-
Lima Time Zone
@@ -3923,7 +3558,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
L
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Liter Measurement Unit
Litre
@@ -3935,7 +3569,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Liter Per Second Measurement Unit
l/s
@@ -3947,7 +3580,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Long Ton Measurement Unit
Displacement Ton
Gross Ton
@@ -3963,7 +3595,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Macao Pataca
@@ -3974,7 +3605,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Macedonian Denar
@@ -3985,7 +3615,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Mach Measurement Unit
M
Ma
@@ -3998,7 +3627,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Madagascar Malagasy Ariary
@@ -4009,7 +3637,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Malawi Kwacha
@@ -4020,7 +3647,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Malaysia Ringgit
@@ -4031,7 +3657,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Mauritania Ouguiya
@@ -4042,7 +3667,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Mauritius Rupee
@@ -4053,7 +3677,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Megahertz Measurement Unit
MHz
@@ -4067,7 +3690,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
meter
m
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Meter Measurement Unit
@@ -4078,7 +3700,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Meters Per Second Measurement Unit
m/s
@@ -4090,7 +3711,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Meters Per Second Per Second Measurement Unit
m/s/s
m/s^2
@@ -4104,7 +3724,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
t
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Metric Ton Measurement Unit
tonne
@@ -4116,7 +3735,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Mexican Peso
@@ -4130,7 +3748,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Mike Time Zone is the same local time as Yankee Time Zone, but is 1 Day (i.e. 24 Hours) ahead of Yankee Time Zone as they are on opposite sides of the International Date Line.
Offset from Universal Coordinated Time = UTC+12
-
Mike Time Zone
@@ -4141,7 +3758,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Mile Measurement Unit
mi
@@ -4153,7 +3769,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Miles Per Hour Measurement Unit
mi/h
mph
@@ -4166,7 +3781,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Miles Per Second Measurement Unit
mi/s
@@ -4178,7 +3792,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Miles Per Second Per Second Measurement Unit
mi/s/s
@@ -4190,7 +3803,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Milliampere Measurement Unit
mA
@@ -4202,7 +3814,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Millibar Measurement Unit
mb
mbar
@@ -4215,7 +3826,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Milligram Measurement Unit
mg
@@ -4227,7 +3837,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Milliliter Measurement Unit
mL
@@ -4239,7 +3848,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Millimeter Measurement Unit
mm
@@ -4252,7 +3860,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
min
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Minute Measurement Unit
@@ -4264,7 +3871,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
'
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Minute of Arc Measurement Unit
Arcminute
MOA
@@ -4280,7 +3886,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Moldovan Leu
@@ -4294,7 +3899,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
mol
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
One mole contains exactly 6.02214076×10^23 elementary entities.
-
Mole Measurement Unit
@@ -4305,7 +3909,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Mongolia Tugrik
@@ -4316,7 +3919,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Month Measurement Unit
@@ -4327,7 +3929,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Morocco Dirham
@@ -4338,7 +3939,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Mozambique Metical
@@ -4349,7 +3949,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Myanmar Kyat
@@ -4360,7 +3959,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Namibia Dollar
@@ -4371,7 +3969,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Nanometer Measurement Unit
Nanometre
nm
@@ -4384,7 +3981,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Nautical Mile Measurement Unit
M
NM
@@ -4398,7 +3994,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Nepalese Rupee
@@ -4409,7 +4004,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
New Zealand Dollar
@@ -4422,7 +4016,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
newton
N
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Newton Measurement Unit
@@ -4434,7 +4027,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
N-m
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Newton Meter Measurement Unit
@@ -4445,7 +4037,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Newton Second Measurement Unit
N s
Newton second
@@ -4459,7 +4050,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Newton Second Per Kilogram Measurement Unit
Ns/kg
@@ -4471,7 +4061,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Nicaragua Cordoba Oro
@@ -4482,7 +4071,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Nigeria Naira
@@ -4493,7 +4081,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
North Korean Won
@@ -4504,7 +4091,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Norwegian Krone
@@ -4517,7 +4103,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
N
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-1
-
November Time Zone
@@ -4530,7 +4115,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
O
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-2
-
Oscar Time Zone
@@ -4541,7 +4125,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Ounce Measurement Unit
oz
@@ -4553,7 +4136,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Pakistani Rupee
@@ -4566,7 +4148,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
P
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-3
-
Papa Time Zone
@@ -4577,7 +4158,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Papua New Guinea Kina
@@ -4588,7 +4168,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Paraguay Guarani
@@ -4601,7 +4180,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
pascal
Pa
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pascal Measurement Unit
@@ -4612,7 +4190,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Peru Nuevo Sol
@@ -4623,7 +4200,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Philippine Peso
@@ -4634,7 +4210,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Phon Measurement Unit
phon
@@ -4646,7 +4221,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pint Measurement Unit
pt
@@ -4658,7 +4232,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Poland Zloty
@@ -4670,7 +4243,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
lb ft
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pound Foot Measurement Unit
@@ -4682,7 +4254,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
lb ft s^2
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pound Foot Second Square Measurement Unit
@@ -4693,7 +4264,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pound Force Measurement Unit
lbf
@@ -4705,7 +4275,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pound Measurement Unit
lb
@@ -4717,7 +4286,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pound-Mole Measurement Unit
lb-mol
lbmol
@@ -4731,7 +4299,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pound Per Second Measurement Unit
lb/s
@@ -4743,7 +4310,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Pounds Per Square Inch Measurement Unit
psi
@@ -4756,7 +4322,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
qt
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Quart Measurement Unit
@@ -4768,7 +4333,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
m^4
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Quartic Meter Measurement Unit
@@ -4781,7 +4345,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
Q
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-4
-
Quebec Time Zone
@@ -4794,7 +4357,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
radian
rad
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Radian Measurement Unit
@@ -4805,7 +4367,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Revolutions Per Day Measurement Unit
r/day
@@ -4817,7 +4378,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Revolutions Per Minute Measurement Unit
r/min
rpm
@@ -4830,7 +4390,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Romanian Leu
@@ -4843,7 +4402,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
R
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-5
-
Romeo Time Zone
@@ -4854,7 +4412,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Russian Rouble
@@ -4865,7 +4422,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Rwanda Franc
@@ -4876,7 +4432,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Samoa Tala
@@ -4887,7 +4442,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Sao Tome Principe Dobra
@@ -4900,7 +4454,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
second
s
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Second Measurement Unit
@@ -4912,7 +4465,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
"
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Second of Arc Measurement Unit
Arcsecond
arcsec
@@ -4927,7 +4479,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Serbian Dinar
@@ -4938,7 +4489,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Seychelles Rupee
@@ -4949,7 +4499,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Shaft Horsepower Measurement Unit
shp
@@ -4961,7 +4510,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Short Ton Measurement Unit
Net Ton
ton (US)
@@ -4974,7 +4522,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Sierra Leone Leone
@@ -4987,7 +4534,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
S
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-6
-
Sierra Time Zone
@@ -4998,7 +4544,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Singapore Dollar
@@ -5009,7 +4554,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Slug Foot Per Second Measurement Unit
slug ft/s
@@ -5021,7 +4565,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Slug Measurement Unit
slug
@@ -5033,7 +4576,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Slug Per Second Measurement Unit
slug/s
@@ -5045,7 +4587,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Solomon Island Dollar
@@ -5056,7 +4597,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Sone Measurement Unit
sone
@@ -5068,7 +4608,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
South Africa Rand
@@ -5079,7 +4618,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
South Korean Won
@@ -5090,7 +4628,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
South Sudanese Pound
@@ -5101,7 +4638,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Centimeter Measurement Unit
cm^2
@@ -5113,7 +4649,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Decimeter Measurement Unit
dm^2
@@ -5125,7 +4660,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Foot Measurement Unit
ft^2
@@ -5137,7 +4671,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Inch Measurement Unit
in^2
@@ -5149,7 +4682,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Kilometer Measurement Unit
km^2
@@ -5161,7 +4693,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Meter Measurement Unit
m^2
@@ -5173,7 +4704,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Mile Measurement Unit
mi^2
@@ -5185,7 +4715,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Millimeter Measurement Unit
mm^2
@@ -5197,7 +4726,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Square Yard Measurement Unit
yd^2
@@ -5209,7 +4737,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Sri Lanka Rupee
@@ -5220,7 +4747,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
St Helena Pound
@@ -5232,7 +4758,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
sccm
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Standard Cubic Centimeter Per Minute Measurement Unit
cm^3/min
@@ -5244,7 +4769,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Sudanese Pound
@@ -5255,7 +4779,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Surinamese Dollar
@@ -5266,7 +4789,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Swaziland Lilangeni
@@ -5277,7 +4799,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Swedish Krona
@@ -5288,7 +4809,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Swiss Franc
@@ -5299,7 +4819,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Syrian Pound
@@ -5311,7 +4830,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
T
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Tablespoon Measurement Unit
@@ -5322,7 +4840,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Tajikistan Somoni
@@ -5335,7 +4852,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
T
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-7
-
Tango Time Zone
@@ -5346,7 +4862,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Tanzania Shilling
@@ -5358,7 +4873,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
t
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Teaspoon Measurement Unit
@@ -5369,7 +4883,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Terahertz Measurement Unit
THz
@@ -5383,7 +4896,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
TT
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
TT is an astronomical time standard that is a theoretical ideal designed to be free of the irregularities in Earth's rotation and is primarily used for time measurements of astronomical observations made from the surface of Earth. It was formerly called Terrestrial Dynamical Time (TDT), which was formulated to replace Ephemeris Time (ET).
-
Terrestrial Time
@@ -5394,7 +4906,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Thai Baht
@@ -5405,7 +4916,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Tonga Pa anga
@@ -5416,7 +4926,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Trinidad and Tobago Dollar
@@ -5427,7 +4936,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Tunisian Dinar
@@ -5438,7 +4946,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Turkish Lira
@@ -5449,7 +4956,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Turkmenistan Manat
@@ -5460,7 +4966,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Turn Measurement Unit
Cycle
Full Circle
@@ -5476,7 +4981,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
https://en.wikipedia.org/w/index.php?title=12-hour_clock&oldid=1057602523
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Twelve-Hour Clock Time System
12-Hour Clock
12-Hour Clock Time System
@@ -5493,7 +4997,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Twenty Foot Equivalent Unit
@@ -5505,7 +5008,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
https://en.wikipedia.org/w/index.php?title=24-hour_clock&oldid=1063744105
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Twenty-Four-Hour Clock Time System
24-Hour Clock
24-Hour Clock Time System
@@ -5523,7 +5025,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Uganda Shilling
@@ -5534,7 +5035,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Ukraine Hryvnia
@@ -5547,7 +5047,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
U
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-8
-
Uniform Time Zone
@@ -5558,7 +5057,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
United Kingdom Pound
@@ -5569,7 +5067,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
United States Dollar
@@ -5582,7 +5079,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT0
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
UT0 is a variant of Universal Time that is measured by observing the diurnal motion of stars or extragalactic radio sources at a specific location on Earth. It does not take into consideration distorting factors, in particular polar motion, such that its value will differ based on the location it is measured at.
-
Universal Time 0
@@ -5595,7 +5091,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT1
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
UT1 is a derivation of UT0 that takes into account distortions caused by polar motion and is proportional to the rotation angle of the Earth with respect to distant quasars, specifically, the International Celestial Reference Frame (ICRF). UT1 is currently the most widely used variant of Universal Time and has the same value everywhere on Earth.
-
Universal Time 1
Astronomical Time
@@ -5608,7 +5103,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT1A
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Universal Time 1 A
@@ -5620,7 +5114,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT1D
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Universal Time 1 D
@@ -5632,7 +5125,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT1F
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Universal Time 1 F
@@ -5645,7 +5137,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT1R
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
UT1R is a variant of Universal Time that is a smoothed version of UT1 by filtering out periodic variations due to tidal waves.
-
Universal Time 1 R
@@ -5658,7 +5149,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UT2
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
UT2 is a variant of Universal Time that smooths UT1 by accounting for both polar motion and variations in Earth's rotation due to seasonal factors, such as changes in vegetation and water or snow distribution.
-
Universal Time 2
@@ -5670,7 +5160,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
UTM
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
Universal Transverse Mercator Reference System
@@ -5683,7 +5172,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Unix Time is a Temporal Reference System for describing a point in time, defined as the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC) Thursday, 1 January 1970 minus the number of leap seconds that have taken place since then.
(See: https://en.wikipedia.org/wiki/Unix_time)
-
Unix Time
@@ -5694,7 +5182,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Uruguay Peso
@@ -5705,7 +5192,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Uzbekistan Sum
@@ -5716,7 +5202,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Vanuatu Vatu
@@ -5729,7 +5214,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
V
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-9
-
Victor Time Zone
@@ -5740,7 +5224,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Viet Nam Dong
@@ -5751,7 +5234,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Volt Ampere Measurement Unit
VA
@@ -5763,7 +5245,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Volt Measurement Unit
V
@@ -5777,7 +5258,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
watt
W
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Watt Measurement Unit
@@ -5788,7 +5268,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Week Measurement Unit
@@ -5801,7 +5280,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
W
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-10
-
Whiskey Time Zone
@@ -5815,7 +5293,6 @@ From: (https://www.iers.org/IERS/EN/Science/ITRS/ITRS.html)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
"WGS 84 is an Earth-centered, Earth-fixed terrestrial reference system and geodetic datum. WGS 84 is based on a consistent set of constants and model parameters that describe the Earth's size, shape, and gravity and geomagnetic fields. WGS 84 is the standard U.S. Department of Defense definition of a global reference system for geospatial information and is the reference system for the Global Positioning System (GPS). It is compatible with the International Terrestrial Reference System (ITRS)."
From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
-
World Geodetic System 1984
@@ -5827,7 +5304,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
WGRS
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
-
World Geographic Reference System
@@ -5840,7 +5316,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
X
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-11
-
X-ray Time Zone
@@ -5854,7 +5329,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC-12
Yankee Time Zone is the same local time as Mike Time Zone, but is 1 Day (i.e. 24 Hours) behind Mike Time Zone as they are on opposite sides of the International Date Line.
-
Yankee Time Zone
@@ -5865,7 +5339,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Yard Measurement Unit
yrd
@@ -5877,7 +5350,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology
-
Year Measurement Unit
yr
@@ -5889,7 +5361,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Yemeni Rial
@@ -5900,7 +5371,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/CurrencyUnitOntology
-
Zambia Kwacha
@@ -5913,7 +5383,6 @@ From: (http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf)
Z
http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
Offset from Universal Coordinated Time = UTC+0
-
Zulu Time Zone
diff --git a/03_TECHNICAL_CORE/ontology/imports/seeds/cco_seed.txt b/03_TECHNICAL_CORE/ontology/imports/seeds/cco_seed.txt
index 62a2961..79ec38c 100644
--- a/03_TECHNICAL_CORE/ontology/imports/seeds/cco_seed.txt
+++ b/03_TECHNICAL_CORE/ontology/imports/seeds/cco_seed.txt
@@ -5,4 +5,6 @@ http://www.ontologyrepository.com/CommonCoreOntologies/DesignativeInformationCon
http://www.ontologyrepository.com/CommonCoreOntologies/prescribes
http://www.ontologyrepository.com/CommonCoreOntologies/designates
http://www.ontologyrepository.com/CommonCoreOntologies/has_output
+http://www.ontologyrepository.com/CommonCoreOntologies/definition_source
+http://www.ontologyrepository.com/CommonCoreOntologies/doctrinal_source
http://www.ontologyrepository.com/CommonCoreOntologies/Person
diff --git a/03_TECHNICAL_CORE/reasoning/ask_provider_role_inheres_in_org.sparql b/03_TECHNICAL_CORE/reasoning/ask_provider_role_inheres_in_org.sparql
index cfddcc7..ccdc20f 100644
--- a/03_TECHNICAL_CORE/reasoning/ask_provider_role_inheres_in_org.sparql
+++ b/03_TECHNICAL_CORE/reasoning/ask_provider_role_inheres_in_org.sparql
@@ -1,6 +1,18 @@
PREFIX :
PREFIX ro:
+# DOCUMENTARY SPOT-CHECK (OPEN_PROBLEMS L3.8 disposition, 2026-06-05): this
+# query is hard-pinned to the Sentinel fixture particulars
+# (:ProviderRole_001 / :ProviderOrg_001) and is wired into no pipeline
+# constant, no manifest field, and no test — it is a manual spot-check that
+# the Sentinel provider role inheres in (ro:0000052 inheres_in) its bearer
+# organization. Retained in place per the never-delete default; the
+# parameterized structural check for the same shape lives in the SHACL
+# documentary layer (:ProviderRoleShape, sh:targetClass :ProviderRole,
+# sh:path ro:0000052, in validation/assessment_documentation_shape.ttl).
+# Do not generalize this file; author a caller-bound query instead if a
+# reusable check is needed.
+
ASK WHERE {
:ProviderRole_001 ro:0000052 :ProviderOrg_001 .
}
diff --git a/03_TECHNICAL_CORE/reasoning/check_assessment_traceability.sparql b/03_TECHNICAL_CORE/reasoning/check_assessment_traceability.sparql
index 13ffb7f..0fed755 100644
--- a/03_TECHNICAL_CORE/reasoning/check_assessment_traceability.sparql
+++ b/03_TECHNICAL_CORE/reasoning/check_assessment_traceability.sparql
@@ -3,6 +3,15 @@ PREFIX iao:
# Audit check: verifies that an AssessmentDocumentation exists for the system
# and is linked to a RegulatoryContent condition.
+#
+# LANE NOTE (OPEN_PROBLEMS L3.8 disposition, 2026-06-05): documentary-shaped
+# question, but a LIVE graph_backed audit constituent — it feeds the
+# traceability_check manifest field (output_manifest_v2.yaml), seeds
+# audit_pass in run_pipeline.py, and is consumed downstream (MCP). SHACL is
+# its structural-completeness sibling, not its replacement. Do not move,
+# delete, or duplicate into SHACL without auditing those consumers
+# (two-source-of-truth risk).
+#
# The ?system variable is bound by the caller (rdflib initBindings or ROBOT
# --initial-binding) to the system IRI under evaluation.
diff --git a/03_TECHNICAL_CORE/reasoning/check_cross_category_isolation_in_closure.sparql b/03_TECHNICAL_CORE/reasoning/check_cross_category_isolation_in_closure.sparql
new file mode 100644
index 0000000..15f6715
--- /dev/null
+++ b/03_TECHNICAL_CORE/reasoning/check_cross_category_isolation_in_closure.sparql
@@ -0,0 +1,26 @@
+PREFIX :
+PREFIX rdf:
+
+# AUDIT LAYER — cross-category isolation check (absence-in-closure).
+# TRUE = the bound ?system is NOT a member of the bound foreign Annex III
+# class in the materialized OWL-RL closure.
+#
+# Deliberately per-(system, class): the Annex III applicability classes are
+# not asserted disjoint, and the regulation does not forbid one system
+# falling under two categories. This audits that a SPECIFIC system did not
+# leak into a SPECIFIC foreign category under current assertions —
+# contingent isolation, not entailed disjointness. Audit-layer counterpart
+# to the cross-category expectations already asserted in test_scenarios.py.
+#
+# Same absence-in-closure boundary as
+# check_negative_case_no_annex_iii_in_closure.sparql: absence here is not
+# DL non-entailment; HermiT is the independent DL check.
+#
+# ?system and ?excluded_class are bound by the caller (initBindings).
+# Closes OPEN_PROBLEMS L3.8 gap (3). Report-only in run_pipeline.py; not an
+# audit_pass constituent; classification authority remains OWL-RL entailment.
+
+ASK WHERE {
+ ?system rdf:type :System .
+ FILTER NOT EXISTS { ?system rdf:type ?excluded_class . }
+}
diff --git a/03_TECHNICAL_CORE/reasoning/check_negative_case_no_annex_iii_in_closure.sparql b/03_TECHNICAL_CORE/reasoning/check_negative_case_no_annex_iii_in_closure.sparql
new file mode 100644
index 0000000..59cbf0f
--- /dev/null
+++ b/03_TECHNICAL_CORE/reasoning/check_negative_case_no_annex_iii_in_closure.sparql
@@ -0,0 +1,29 @@
+PREFIX :
+PREFIX rdf:
+
+# AUDIT LAYER — negative-case absence check.
+# TRUE = the bound ?system exists in the graph AND carries no Annex III
+# applicability membership in the materialized OWL-RL closure.
+#
+# This checks absence-in-closure, NOT DL non-entailment. A membership can
+# be absent because OWL-RL cannot derive it; the independent DL check is
+# HermiT (scripts/hermit_cross_check.py). test_scenarios.py runs this query
+# against every fixture: positive fixtures must return FALSE (proving the
+# query detects presence) before the kiosk's TRUE is treated as meaningful.
+# OWA: TRUE means "not present under current commitments," never
+# "proven not high-risk."
+#
+# The ?system rdf:type :System anchor is load-bearing: without it, a
+# mistyped system IRI would return TRUE (absent entirely = vacuously no
+# membership). With the anchor, a missing system returns FALSE and surfaces.
+#
+# ?system is bound by the caller (rdflib initBindings or ROBOT
+# --initial-binding), same convention as check_annex_iii_1a_entailment.sparql.
+# Closes OPEN_PROBLEMS L3.8 gap (1). Report-only in run_pipeline.py; not an
+# audit_pass constituent; classification authority remains OWL-RL entailment.
+
+ASK WHERE {
+ ?system rdf:type :System .
+ FILTER NOT EXISTS { ?system rdf:type :AnnexIII1aApplicableSystem . }
+ FILTER NOT EXISTS { ?system rdf:type :AnnexIII5bApplicableSystem . }
+}
diff --git a/03_TECHNICAL_CORE/reasoning/check_obligation_link.sparql b/03_TECHNICAL_CORE/reasoning/check_obligation_link.sparql
index edf80b5..f8fb8c1 100644
--- a/03_TECHNICAL_CORE/reasoning/check_obligation_link.sparql
+++ b/03_TECHNICAL_CORE/reasoning/check_obligation_link.sparql
@@ -4,6 +4,15 @@ PREFIX iao:
# Checks that a compliance obligation links the system to a provider role.
# This is the "who bears responsibility" foundation.
#
+# LANE NOTE (OPEN_PROBLEMS L3.8 disposition, 2026-06-05): this query asks a
+# documentary-completeness question, which is SHACL-shaped territory — but it
+# is a LIVE graph_backed audit constituent, not a misfiled leftover: it feeds
+# the obligation_check manifest field (output_manifest_v2.yaml), is conjoined
+# into audit_pass in run_pipeline.py, and is consumed downstream (MCP). SHACL
+# is its structural-completeness sibling, not its replacement. Do not move,
+# delete, or duplicate this check into SHACL without auditing those consumers
+# (two-source-of-truth risk).
+#
# The ?system variable is bound by the caller (rdflib initBindings or ROBOT
# --initial-binding) to the system IRI under evaluation.
diff --git a/03_TECHNICAL_CORE/reasoning/check_union_subclass_sync.sparql b/03_TECHNICAL_CORE/reasoning/check_union_subclass_sync.sparql
index 506018c..47b6bbc 100644
--- a/03_TECHNICAL_CORE/reasoning/check_union_subclass_sync.sparql
+++ b/03_TECHNICAL_CORE/reasoning/check_union_subclass_sync.sparql
@@ -18,9 +18,14 @@ PREFIX owl:
# but missing the explicit subclass assertion (or vice versa) will silently
# diverge from the documented extension protocol in the governance file.
#
-# This guard runs on the reasoned graph (post-OWL-RL). It does NOT affect
-# OWL classification; it is a documentary consistency check the pipeline
-# surfaces alongside the other audit-layer SPARQL ASKs.
+# This guard runs on the ASSERTED graph (pre-OWL-RL; run_pipeline binds it
+# to g_source — L3.11). On the closure the check is meaningless both ways:
+# Direction 1 (drift detection) is dead because OWL-RL re-materializes the
+# missing rdfs:subClassOf from the union axiom before the guard looks, and
+# Direction 2 false-alarms on the adversarial decoys (inferred alias
+# subclassing). "Explicitly asserted" is only checkable on asserted triples.
+# It does NOT affect OWL classification; it is a documentary consistency
+# check the pipeline surfaces alongside the other audit-layer SPARQL ASKs.
#
# This query is graph-level (no system parameter); it inspects the
# ontology axioms directly.
diff --git a/03_TECHNICAL_CORE/reasoning/flag_intent_without_capability.sparql b/03_TECHNICAL_CORE/reasoning/flag_intent_without_capability.sparql
new file mode 100644
index 0000000..a69873e
--- /dev/null
+++ b/03_TECHNICAL_CORE/reasoning/flag_intent_without_capability.sparql
@@ -0,0 +1,66 @@
+PREFIX :
+PREFIX rdf:
+PREFIX bfo:
+PREFIX ro:
+PREFIX iao:
+PREFIX cco:
+
+# AUDIT LAYER — intent-without-capability flag (report-only; OPEN_PROBLEMS L3.10).
+#
+# TRUE = the bound ?system exists, AND for at least one modeled Annex III
+# category the Gate 2 + Gate 3 documentary evidence is present in the
+# materialized OWL-RL closure (a regulated-subkind Intended Use
+# Specification about the system, plus a Use Scenario Specification
+# designating :NaturalPersonRole), BUT no component-borne disposition of
+# THAT category's capability class is present in the closure (Gate 1
+# evidence absent for the documented category).
+#
+# Why this flag exists: the Annex III conditions ARCO encodes trigger on
+# documented intended purpose; Gate 1 (capability) is ARCO's design-time
+# evidential ADDITION (LIMITATIONS §3.9). TRUE surfaces the
+# under-classification direction per run — documented regulated intent
+# with no reviewed capability commitment, which ARCO deliberately does
+# NOT entail. Mirrors the derogation/fraud flag discipline: informational
+# only, directs human review, never a gate condition, never folded into
+# audit_pass.
+#
+# Absence semantics: absence from the materialized OWL-RL closure under
+# current commitments (OWA), not DL non-entailment; HermiT is the
+# independent DL check. ?system is bound by the caller (initBindings),
+# same convention as check_negative_case_no_annex_iii_in_closure.sparql.
+#
+# Axiom path mirrored: the Gate 2 / Gate 3 representation-side conjuncts
+# of :AnnexIII1aApplicableSystem and :AnnexIII5bApplicableSystem
+# (ARCO_governance_extension.ttl gate blocks), with the corresponding
+# Gate 1 reality-side conjunct tested for absence. The category pairs are
+# enumerated inline — the same per-category parameterization debt tracked
+# at L3.2/D4-10 applies here; extend both UNION branches when a new
+# category lands (extension protocol).
+
+ASK WHERE {
+ ?system rdf:type :System .
+ ?uss rdf:type :UseScenarioSpecification ;
+ iao:0000136 ?system ;
+ cco:designates :NaturalPersonRole .
+ {
+ ?ius rdf:type :RemoteBiometricIdentificationIntendedUseSpec ;
+ iao:0000136 ?system .
+ FILTER NOT EXISTS {
+ ?system bfo:0000051 ?comp1 .
+ ?comp1 rdf:type :SystemComponent .
+ ?comp1 ro:0000091 ?disp1 .
+ ?disp1 rdf:type :BiometricIdentificationCapability .
+ }
+ }
+ UNION
+ {
+ ?ius rdf:type :CreditworthinessEvaluationIntendedUseSpec ;
+ iao:0000136 ?system .
+ FILTER NOT EXISTS {
+ ?system bfo:0000051 ?comp2 .
+ ?comp2 rdf:type :SystemComponent .
+ ?comp2 ro:0000091 ?disp2 .
+ ?disp2 rdf:type :CreditworthinessEvaluationCapability .
+ }
+ }
+}
diff --git a/03_TECHNICAL_CORE/reasoning/select_asserted_prescribed_process.sparql b/03_TECHNICAL_CORE/reasoning/select_asserted_prescribed_process.sparql
index ea2d21c..03184e9 100644
--- a/03_TECHNICAL_CORE/reasoning/select_asserted_prescribed_process.sparql
+++ b/03_TECHNICAL_CORE/reasoning/select_asserted_prescribed_process.sparql
@@ -32,6 +32,15 @@ SELECT ?ius ?process ?process_class ?process_label WHERE {
?process rdf:type ?process_class .
FILTER(!isBlank(?process_class))
FILTER(STRSTARTS(STR(?process_class), "https://arco.ai/ontology/core#"))
+ # Most-specific only: drop a class if the process is also typed one of its arco subclasses.
+ # Without this, OWL-RL materialization of the :BiometricIdentificationProcess genus would
+ # surface it as an extra row alongside the leaf :RemoteBiometricIdentificationProcess.
+ FILTER NOT EXISTS {
+ ?process rdf:type ?sub_class .
+ ?sub_class rdfs:subClassOf ?process_class .
+ FILTER(?sub_class != ?process_class)
+ FILTER(STRSTARTS(STR(?sub_class), "https://arco.ai/ontology/core#"))
+ }
OPTIONAL { ?process_class rdfs:label ?process_label }
}
ORDER BY ?ius ?process ?process_class
diff --git a/03_TECHNICAL_CORE/scripts/run_pipeline.py b/03_TECHNICAL_CORE/scripts/run_pipeline.py
index c3246fd..dd2094a 100644
--- a/03_TECHNICAL_CORE/scripts/run_pipeline.py
+++ b/03_TECHNICAL_CORE/scripts/run_pipeline.py
@@ -55,6 +55,11 @@
DEROGATION_FLAG_QUERY = REASONING_DIR / "flag_derogation_candidate.sparql"
FRAUD_FLAG_QUERY = REASONING_DIR / "flag_fraud_exclusion_candidate.sparql"
UNION_SYNC_QUERY = REASONING_DIR / "check_union_subclass_sync.sparql"
+# Report-only absence audits (OPEN_PROBLEMS L3.8) — informational lines like
+# the derogation/fraud flags; never audit_pass constituents, never emitted fields.
+NEGATIVE_CASE_ABSENCE_QUERY = REASONING_DIR / "check_negative_case_no_annex_iii_in_closure.sparql"
+CROSS_CATEGORY_ISOLATION_QUERY = REASONING_DIR / "check_cross_category_isolation_in_closure.sparql"
+INTENT_WITHOUT_CAPABILITY_QUERY = REASONING_DIR / "flag_intent_without_capability.sparql"
# Emission-layer SELECT queries — graph-bound display values for certificate fields.
# These replace inline Python-embedded SPARQL strings (Gate 1/2/3) and Python
@@ -119,6 +124,78 @@ def load_union_graph(*paths: Path) -> Graph:
g.parse(p.as_posix(), format=fmt)
return g
+
+# ── TBox/ABox load guard (OPEN_PROBLEMS L3.12) ─────────────────────────
+# Instance data is ABox-only by contract: class semantics come from the
+# reviewed ontology files, never from input. Without this guard a single
+# owl:equivalentClass / rdfs:subClassOf triple smuggled into an instance
+# file rewires classification, and both reasoners honor it identically
+# (the adversarial decoy fixtures prove the mechanism). The decoys are the
+# sanctioned exception — they exist to demonstrate classification rides on
+# owl:equivalentClass semantics rather than IRI names — and are allowlisted
+# by filename.
+_OWL = "http://www.w3.org/2002/07/owl#"
+_RDFS = "http://www.w3.org/2000/01/rdf-schema#"
+_RDF = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+# Class-level schema predicates: forbidden when the triple touches an
+# ARCO-namespace term (subject or object).
+SCHEMA_SHAPING_PREDICATES = (
+ URIRef(_OWL + "equivalentClass"),
+ URIRef(_RDFS + "subClassOf"),
+ URIRef(_OWL + "disjointWith"),
+ URIRef(_OWL + "unionOf"),
+ URIRef(_OWL + "sameAs"),
+)
+# Property-level schema predicates: forbidden in instance files in ANY
+# namespace — instance data has no business declaring property semantics.
+# (QA-verified attack shapes: rdfs:subPropertyOf onto cco:prescribes fakes
+# Gate 2 via prp-spo1; owl:sameAs onto the punned role universal fakes
+# Gate 3's hasValue via eq-rep. A foreign-namespace subject would evade an
+# ARCO-term-scoped check, hence the blanket rule for this set.)
+PROPERTY_SHAPING_PREDICATES = (
+ URIRef(_RDFS + "subPropertyOf"),
+ URIRef(_OWL + "propertyChainAxiom"),
+ URIRef(_OWL + "inverseOf"),
+ URIRef(_OWL + "equivalentProperty"),
+ URIRef(_RDFS + "domain"),
+ URIRef(_RDFS + "range"),
+)
+TBOX_GUARD_ALLOWLIST = {
+ "ARCO_instances_adversarial_decoy.ttl",
+ "ARCO_instances_adversarial_decoy_5b.ttl",
+}
+
+
+def guard_instances_tbox(instances_path: Path) -> None:
+ """Fail the run if the instances file asserts schema-shaping triples
+ on ARCO-namespace terms, or property-semantics triples in any
+ namespace (L3.12)."""
+ if instances_path.name in TBOX_GUARD_ALLOWLIST:
+ return
+ ig = Graph()
+ ig.parse(instances_path.as_posix(), format="turtle")
+ owl_class = URIRef(_OWL + "Class")
+ rdf_type = URIRef(_RDF + "type")
+ violations = []
+ for s, p, o in ig:
+ arco_term = (isinstance(s, URIRef) and str(s).startswith(ARCO_NS)) or (
+ isinstance(o, URIRef) and str(o).startswith(ARCO_NS)
+ )
+ if p in SCHEMA_SHAPING_PREDICATES and arco_term:
+ violations.append((s, p, o))
+ elif p in PROPERTY_SHAPING_PREDICATES:
+ violations.append((s, p, o))
+ elif p == rdf_type and o == owl_class and isinstance(s, URIRef) and str(s).startswith(ARCO_NS):
+ violations.append((s, p, o))
+ if violations:
+ listing = "\n".join(f" {s} {p} {o}" for s, p, o in violations[:10])
+ raise RuntimeError(
+ "TBOX GUARD: instance file asserts schema-shaping triples on "
+ f"ARCO-namespace terms ({len(violations)} violation(s)); instance "
+ "data is ABox-only — class semantics come from the reviewed "
+ f"ontology (OPEN_PROBLEMS L3.12):\n{listing}"
+ )
+
def clone_graph(g: Graph) -> Graph:
h = Graph()
for t in g:
@@ -171,6 +248,36 @@ def run_sparql_ask_for_system(data_graph: Graph, query_path: Path, system_local:
raise RuntimeError(f"SPARQL query failed: {query_path}\n{e}")
+def run_sparql_ask_for_system_with_class(
+ data_graph: Graph, query_path: Path, system_local: str, excluded_class_local: str
+) -> bool:
+ """Run a caller-bound ASK with both ?system and ?excluded_class bound.
+
+ Companion to run_sparql_ask_for_system for the cross-category isolation
+ audit (OPEN_PROBLEMS L3.8 gap 3), which is deliberately per-(system,
+ foreign-class) rather than graph-level: the Annex III applicability
+ classes are not asserted disjoint, and a graph-level variant would encode
+ a disjointness the regulation does not assert.
+ """
+ if not query_path.exists():
+ raise FileNotFoundError(f"Missing SPARQL query file: {query_path}")
+ q = query_path.read_text(encoding="utf-8").strip()
+ bindings = {
+ "system": URIRef(f"{ARCO_NS}{system_local}"),
+ "excluded_class": URIRef(f"{ARCO_NS}{excluded_class_local}"),
+ }
+ try:
+ result = data_graph.query(q, initBindings=bindings)
+ if isinstance(result, bool):
+ return result
+ if hasattr(result, "askAnswer") and result.askAnswer is not None:
+ return bool(result.askAnswer)
+ rows = list(result)
+ return bool(rows[0]) if rows else False
+ except Exception as e:
+ raise RuntimeError(f"SPARQL query failed: {query_path}\n{e}")
+
+
def run_sparql_select_for_system(data_graph: Graph, query_path: Path, system_local: str) -> list[dict]:
"""Run a SPARQL SELECT file query with ?system bound via initBindings.
@@ -1188,11 +1295,36 @@ def edge_el(rel, iri_label=""):
)
counterfactual_html = "\n".join(counterfactual_items)
else:
+ # L2.12 component D output carrier (OPEN_PROBLEMS L2.12; LIMITATIONS §3.7.d):
+ # when the asserted prescribed process types as the bare 1:N genus, the
+ # single fact that would change the outcome is the Art 3(41) remoteness
+ # question — deliberately a deployer elicitation, not a baked-in class.
+ # Surface the question instead of presenting a stable-looking endpoint.
+ _genus_iri = f"{ARCO_NS}BiometricIdentificationProcess"
+ _genus_asserted = any(
+ p.get("class_iri") == _genus_iri
+ for p in (asserted_prescribed_processes or [])
+ )
+ _elicitation_html = ""
+ if _genus_asserted:
+ _elicitation_html = (
+ 'Open elicitation question (Article 3(41)): the asserted '
+ 'prescribed process is typed as the bare 1:N identification genus '
+ '(BiometricIdentificationProcess). Whether this deployment is '
+ 'remote — identification without the subjects’ active '
+ 'involvement — is the single reviewed commitment that would change this '
+ 'outcome, and it is deliberately a deployer question, not a baked-in class '
+ '(LIMITATIONS §3.7.d). If the deployer confirms capture without active '
+ 'involvement, retype the process token as '
+ 'RemoteBiometricIdentificationProcess and re-run; Annex III 1(a) '
+ 'would then be evaluated against the remote subkind.
'
+ )
counterfactual_html = (
'No Annex III categories are currently triggered. '
'To trigger a category-specific ARCO classification, the system would '
'need to satisfy all three gates (capability, prescribed process, '
- 'affected role) for at least one Annex III category.
'
+ 'affected role) for at least one Annex III category.
'
+ + _elicitation_html + ''
)
# ── obligations text (Layer 3) ─────────────────────────────────
@@ -1209,7 +1341,7 @@ def edge_el(rel, iri_label=""):
1
Conformity Assessment
-
The system must undergo conformity assessment procedures before being placed on the market or put into service (Article 43). For biometric identification systems, this requires involvement of a notified body.
+
The system must undergo conformity assessment procedures before being placed on the market or put into service (Article 43). For Annex III point 1 biometric systems: where harmonised standards or common specifications are applied, the provider opts for either internal control (Annex VI) or the notified-body procedure (Annex VII); where they are not applied, the notified-body procedure (Annex VII) is required (Article 43(1)). For the other Annex III categories, internal control per Annex VI applies (Article 43(2)).
Articles 16, 43
@@ -1691,7 +1823,10 @@ def edge_el(rel, iri_label=""):
Scope: ARCO assesses structured RDF instance data supplied to the
pipeline. It does not verify raw vendor documentation, the physical deployed system,
or legal sufficiency. ARCO currently models Annex III 1(a) (biometric identification)
- and 5(b) (creditworthiness) only.
+ and 5(b) (creditworthiness) only. The PRIMARY classification is the Annex III
+ applicability ARCO entails under its encoding, not the final legal high-risk
+ determination under the EU AI Act (which also depends on the Article 6(3) derogation,
+ surfaced but not evaluated). Article 5 prohibited-practice routing is not evaluated.
{("
Derogation note: Article 6(3) derogation, if legally valid, may supersede Annex III high-risk treatment. ARCO flags the claim but does not evaluate it; human legal review is required.
") if (derogation_flagged and is_high_risk) else ""}
@@ -1925,6 +2060,7 @@ def main() -> None:
sub("LOAD")
print("Loading: core ontology + governance extension + instance data")
+ guard_instances_tbox(INSTANCES)
g_source = load_union_graph(BFO_2020, IAO_BOT, RO_BOT, CCO_BOT, CORE, GOV, INSTANCES)
print(f"Triples loaded (asserted): {len(g_source)}")
@@ -2042,9 +2178,49 @@ def main() -> None:
union_sync_ok = None
if UNION_SYNC_QUERY.exists():
print("\nUnion-subclass sync (AnnexIIITriggeringCapability membership consistency)...")
- union_sync_ok = run_sparql_ask_from_file(g, UNION_SYNC_QUERY)
+ # L3.11: run against the ASSERTED graph (g_source), not the closure.
+ # On the closure the guard is half-dead (OWL-RL re-materializes the
+ # missing subclass triple before the guard looks, so the drift it
+ # exists to catch can never be caught) and half-false-alarm (the
+ # decoys' inferred alias subclassing trips Direction 2). Empirically
+ # verified twice in the 2026-06-10 audit.
+ union_sync_ok = run_sparql_ask_from_file(g_source, UNION_SYNC_QUERY)
print(f"Union sync: {union_sync_ok}")
+ # ── Negative-case absence + cross-category isolation (report-only; OPEN_PROBLEMS L3.8) ──
+ # Absence-in-closure audit lines, informational like the exception flags
+ # below: NOT audit_pass constituents and NOT emitted fields (folding them
+ # in would change the Sentinel smoke-test surface and the manifest's
+ # fixed audit_layer_status constituent set). On positive fixtures the
+ # absence check correctly prints False (membership present); on the
+ # verification kiosk it prints True. Absence here is absence from the
+ # materialized OWL-RL closure under current commitments (OWA), not DL
+ # non-entailment — HermiT is the independent DL check. Expected-answer
+ # enforcement lives in test_scenarios.py, keyed off each scenario's
+ # expected dict.
+ if NEGATIVE_CASE_ABSENCE_QUERY.exists():
+ print("\nNegative-case absence check (Annex III membership in closure; report-only)...")
+ _absence = run_sparql_ask_for_system(g, NEGATIVE_CASE_ABSENCE_QUERY, SYSTEM_LOCAL)
+ print(f"Annex III membership absent from closure: {_absence}")
+
+ if CROSS_CATEGORY_ISOLATION_QUERY.exists():
+ print("\nCross-category isolation (per foreign Annex III class; report-only)...")
+ for _foreign_local in ("AnnexIII1aApplicableSystem", "AnnexIII5bApplicableSystem"):
+ _isolated = run_sparql_ask_for_system_with_class(
+ g, CROSS_CATEGORY_ISOLATION_QUERY, SYSTEM_LOCAL, _foreign_local
+ )
+ print(f"Not a member of {_foreign_local} in closure: {_isolated}")
+
+ # Intent-without-capability (report-only; OPEN_PROBLEMS L3.10). Surfaces the
+ # under-classification direction disclosed at LIMITATIONS §3.9: Gate 2+3
+ # documentary evidence present for a modeled category while that category's
+ # Gate 1 capability is absent from the closure. Never folded into audit_pass;
+ # never a gate condition (same discipline as the derogation/fraud flags).
+ if INTENT_WITHOUT_CAPABILITY_QUERY.exists():
+ print("\nIntent-without-capability check (Gates 2+3 documented, Gate 1 absent in closure; report-only)...")
+ _iwc = run_sparql_ask_for_system(g, INTENT_WITHOUT_CAPABILITY_QUERY, SYSTEM_LOCAL)
+ print(f"Documented regulated intent without asserted capability: {_iwc}")
+
# ── Audit-layer exception flags (informational only — do not affect classification or audit_pass) ──
# These detect provider-submitted claim artifacts that may affect legal interpretation.
# A flag does not override OWL classification. It directs human review.
@@ -2324,6 +2500,8 @@ def main() -> None:
# signals the unevaluated derogation; do not double-disclose).
if (annex_iii_1a_ok or annex_iii_5b_ok) and not derogation_flagged:
print(" ARTICLE 6(3) DEROGATION: NOT EVALUATED (run scope)")
+ if annex_iii_1a_ok:
+ print(" ARTICLE 5 PROHIBITION: NOT EVALUATED (run scope)")
if obligation_ok is not None:
print(f" OBLIGATION: {_cert_obligation_label}")
if reg_alignment_ok is not None:
@@ -2339,6 +2517,10 @@ def main() -> None:
print(" It does not verify raw vendor documentation, the physical deployed")
print(" system, or legal sufficiency. ARCO currently models Annex III 1(a)")
print(" (biometric identification) and 5(b) (creditworthiness) only.")
+ print(" The PRIMARY classification is the Annex III applicability ARCO")
+ print(" entails under its encoding, not the final legal high-risk")
+ print(" determination under the EU AI Act, which also depends on the")
+ print(" Article 6(3) derogation (surfaced but not evaluated here).")
print("=" * 72)
# ---------------------------------------------------------------
@@ -2385,6 +2567,8 @@ def main() -> None:
# only when a category is entailed and no DerogationClaim is asserted.
if (annex_iii_1a_ok or annex_iii_5b_ok) and not derogation_flagged:
cert_lines.append(" ARTICLE 6(3) DEROGATION: NOT EVALUATED (run scope)")
+ if annex_iii_1a_ok:
+ cert_lines.append(" ARTICLE 5 PROHIBITION: NOT EVALUATED (run scope)")
if obligation_ok is not None:
cert_lines.append(f" OBLIGATION: {_cert_obligation_label}")
if reg_alignment_ok is not None:
@@ -2407,6 +2591,10 @@ def main() -> None:
cert_lines.append(" It does not verify raw vendor documentation, the physical deployed")
cert_lines.append(" system, or legal sufficiency. ARCO currently models Annex III 1(a)")
cert_lines.append(" (biometric identification) and 5(b) (creditworthiness) only.")
+ cert_lines.append(" The PRIMARY classification is the Annex III applicability ARCO")
+ cert_lines.append(" entails under its encoding, not the final legal high-risk")
+ cert_lines.append(" determination under the EU AI Act, which also depends on the")
+ cert_lines.append(" Article 6(3) derogation (surfaced but not evaluated here).")
cert_lines.append("=" * 72)
(OUTPUT_DIR / "certificate.txt").write_text("\n".join(cert_lines) + "\n", encoding="utf-8")
@@ -2465,7 +2653,7 @@ def main() -> None:
"annex_iii_5b": ("VERIFIED (ENTAILED)" if annex_iii_5b_ok else ("NOT APPLICABLE" if annex_iii_5b_ok is not None else "N/A")),
"derogation_evaluation_scope": {
"evaluated": False,
- "reason": "Article 6(3) derogation evaluation not modeled in current ARCO release; see LIMITATIONS.md §3.7",
+ "reason": "Article 6(3) derogation evaluation not modeled in current ARCO release; see LIMITATIONS.md §2",
},
"obligation": _status_label(
obligation_ok, "PASS", "FAIL",
diff --git a/03_TECHNICAL_CORE/scripts/test_bi_rbi_genus.py b/03_TECHNICAL_CORE/scripts/test_bi_rbi_genus.py
new file mode 100644
index 0000000..a078acf
--- /dev/null
+++ b/03_TECHNICAL_CORE/scripts/test_bi_rbi_genus.py
@@ -0,0 +1,97 @@
+"""
+Named acceptance test for the BI/RBI genus change.
+
+The ontology-change harness requires a fail-first acceptance test for the
+:BiometricIdentificationProcess genus change. On UNMODIFIED core (before the change) case C
+could not be expressed (the genus class did not exist); after the change it can, and this test
+pins the intended entailment behaviour:
+
+ A. remote : a process typed :RemoteBiometricIdentificationProcess => Annex III 1(a) entailed (unchanged).
+ C. genus : the SAME system, process typed only the bare :BiometricIdentificationProcess => NOT entailed
+ (the honest "identification not asserted to be remote" answer). The at-the-door /
+ premises-access case is biometric verification (1:1), carved out per Recitals 15 & 17 and
+ handled by :BiometricVerificationProcess; no separate non-remote class is minted.
+ D. regression : the real Sentinel fixture still entails :AnnexIII1aApplicableSystem.
+ E. disjointness : the verification / identification-genus disjointness axiom is present for the HermiT layer.
+
+Loads the real core ontology read-only; runs the production reasoner (OWL-RL). No fixture files.
+Run: python 03_TECHNICAL_CORE/scripts/test_bi_rbi_genus.py (exit 0 = pass)
+"""
+from __future__ import annotations
+from pathlib import Path
+from rdflib import Graph, Namespace, RDF, OWL
+import owlrl
+
+ROOT = Path(__file__).resolve().parents[2]
+OD = ROOT / "03_TECHNICAL_CORE" / "ontology"
+IMP = OD / "imports"
+CORE = [
+ IMP / "bfo-2020.owl", IMP / "iao_bot.owl", IMP / "ro_bot.owl", IMP / "cco_bot.owl",
+ OD / "ARCO_core.ttl", OD / "ARCO_governance_extension.ttl",
+]
+A = Namespace("https://arco.ai/ontology/core#")
+BFO = Namespace("http://purl.obolibrary.org/obo/BFO_")
+RO = Namespace("http://purl.obolibrary.org/obo/RO_")
+IAO = Namespace("http://purl.obolibrary.org/obo/IAO_")
+CCO = Namespace("http://www.ontologyrepository.com/CommonCoreOntologies/")
+ANNEX_1A = A["AnnexIII1aApplicableSystem"]
+
+_base = Graph()
+for p in CORE:
+ _base.parse(str(p), format="xml" if str(p).endswith(".owl") else "turtle")
+
+def _reason(extra):
+ g = Graph()
+ for t in _base:
+ g.add(t)
+ for t in extra:
+ g.add(t)
+ owlrl.DeductiveClosure(owlrl.OWLRL_Semantics).expand(g)
+ return g
+
+def _idface(process_type):
+ S, TERM, DISP = A["t_System"], A["t_Terminal"], A["t_Disposition"]
+ PROC, IUS, USS = A["t_Proc"], A["t_IntendedUse"], A["t_UseScenario"]
+ return [
+ (S, RDF.type, A["System"]),
+ (S, BFO["0000051"], TERM),
+ (TERM, RDF.type, A["HardwareComponent"]),
+ (TERM, RO["0000091"], DISP),
+ (DISP, RDF.type, A["BiometricIdentificationCapability"]),
+ (PROC, RDF.type, process_type),
+ (IUS, RDF.type, A["IntendedUseSpecification"]),
+ (IUS, CCO["prescribes"], PROC),
+ (IUS, IAO["0000136"], S),
+ (USS, RDF.type, A["UseScenarioSpecification"]),
+ (USS, IAO["0000136"], S),
+ (USS, CCO["designates"], A["NaturalPersonRole"]),
+ ], S
+
+def _is_1a(process_type):
+ triples, S = _idface(process_type)
+ return (S, RDF.type, ANNEX_1A) in _reason(triples)
+
+def main():
+ assert _is_1a(A["RemoteBiometricIdentificationProcess"]) is True, \
+ "A: remote-typed process must still entail Annex III 1(a)"
+ assert _is_1a(A["BiometricIdentificationProcess"]) is False, \
+ "C: bare genus (identification not asserted remote) must NOT entail Annex III 1(a)"
+
+ sent = Graph(); sent.parse(str(OD / "ARCO_instances_sentinel.ttl"), format="turtle")
+ g = _reason(list(sent))
+ assert len(set(g.subjects(RDF.type, ANNEX_1A))) >= 1, \
+ "D: real Sentinel fixture must still entail at least one AnnexIII1aApplicableSystem"
+
+ # E (two-layer boundary): OWL-RL classifies; HermiT checks DL consistency. Assert the
+ # verification/identification-genus disjointness axiom is present for the HermiT layer to
+ # enforce (owlrl does not enforce disjointness as a classification effect; see LIMITATIONS 3.7.d).
+ gE = _reason([])
+ assert (A["BiometricVerificationProcess"], OWL.disjointWith,
+ A["BiometricIdentificationProcess"]) in gE, \
+ "E: verification/identification-genus disjointness axiom must be present for the HermiT layer"
+
+ print("PASS: BI/RBI genus acceptance test (A remote=1a, C genus!=1a, "
+ "D Sentinel regression, E verification/genus disjointness present for HermiT layer).")
+
+if __name__ == "__main__":
+ main()
diff --git a/03_TECHNICAL_CORE/scripts/test_canonical_iris.py b/03_TECHNICAL_CORE/scripts/test_canonical_iris.py
new file mode 100644
index 0000000..840d661
--- /dev/null
+++ b/03_TECHNICAL_CORE/scripts/test_canonical_iris.py
@@ -0,0 +1,122 @@
+"""
+Canonical-IRI conformance test (version-pin enforcement).
+
+Enforces the exact-IRI discipline standard in OBO Foundry / ODK practice:
+every external (BFO / RO / IAO / CCO) IRI used in ARCO's *authored* TTL
+must be a pinned-canonical IRI present in the imported slim / ontology modules,
+in the version-correct namespace.
+
+Catches two drift modes the CLAUDE.md "IRI / version-pin verification" rule
+warns about:
+ 1. CCO v2.0 numbered IRIs (commoncoreontologies.org/ont...) when ARCO is
+ pinned to CCO v1.7 readable IRIs.
+ 2. Any external IRI that does not resolve to the pinned import modules
+ (a typo, a wrong-version IRI, or a term referenced before it was added to
+ the seed and the slim module regenerated).
+
+This is the version-pinning invariant made into a CI gate. It does not touch
+classification logic, OWL/SHACL/SPARQL semantics, or any axiom; it only reads.
+"""
+
+from __future__ import annotations
+
+import sys
+from pathlib import Path
+
+from rdflib import Graph, URIRef
+from rdflib.util import guess_format
+
+REPO_ROOT = Path(__file__).resolve().parents[2]
+ONT = REPO_ROOT / "03_TECHNICAL_CORE" / "ontology"
+IMPORTS = ONT / "imports"
+SEEDS = IMPORTS / "seeds"
+
+# ARCO-authored TTL (NOT the upstream slim modules, which are trusted as-is).
+AUTHORED = [
+ ONT / "ARCO_core.ttl",
+ ONT / "ARCO_governance_extension.ttl",
+] + sorted(ONT.glob("ARCO_instances_*.ttl"))
+
+# Pinned import modules = source of truth for which external IRIs exist.
+IMPORT_MODULES = [
+ IMPORTS / "bfo-2020.owl",
+ IMPORTS / "ro_bot.owl",
+ IMPORTS / "iao_bot.owl",
+ IMPORTS / "cco_bot.owl",
+]
+
+CCO_V17 = "http://www.ontologyrepository.com/CommonCoreOntologies/"
+CCO_V2_MARK = "commoncoreontologies.org" # the v2.0 numbered namespace
+OBO = "http://purl.obolibrary.org/obo/" # BFO_/RO_/IAO_ and other obo terms
+
+
+def _is_external(u: str) -> bool:
+ return u.startswith(CCO_V17) or u.startswith(OBO) or (CCO_V2_MARK in u)
+
+
+def load_known() -> set[str]:
+ """All external IRIs that exist in the pinned imports, plus the seed lists."""
+ known: set[str] = set()
+ for m in IMPORT_MODULES:
+ if not m.exists():
+ print(f"[iri] WARN: import module missing: {m}")
+ continue
+ g = Graph()
+ try:
+ g.parse(str(m), format=guess_format(str(m)) or "xml")
+ except Exception as exc: # noqa: BLE001 - report and fall back to seeds
+ print(f"[iri] WARN: could not parse {m.name} ({exc}); relying on seeds for its namespace")
+ continue
+ for s, p, o in g:
+ for t in (s, p, o):
+ if isinstance(t, URIRef):
+ known.add(str(t))
+ for sf in sorted(SEEDS.glob("*.txt")):
+ for line in sf.read_text(encoding="utf-8").splitlines():
+ line = line.strip()
+ if line and not line.startswith("#"):
+ known.add(line)
+ return known
+
+
+def external_iris(path: Path) -> set[str]:
+ g = Graph()
+ g.parse(str(path), format="turtle")
+ out: set[str] = set()
+ for s, p, o in g:
+ for t in (s, p, o):
+ if isinstance(t, URIRef) and _is_external(str(t)):
+ out.add(str(t))
+ return out
+
+
+def main() -> None:
+ known = load_known()
+ print(f"[iri] pinned external IRIs known from imports + seeds: {len(known)}")
+
+ violations: list[tuple[str, str, str]] = []
+ for path in AUTHORED:
+ if not path.exists():
+ continue
+ for u in sorted(external_iris(path)):
+ if CCO_V2_MARK in u:
+ violations.append((path.name, u, "CCO v2.0 numbered IRI (ARCO is pinned to CCO v1.7 readable IRIs)"))
+ elif u not in known:
+ violations.append((path.name, u, "not present in any pinned import module or seed (drift / typo / unseeded term)"))
+
+ if violations:
+ print(f"\nFAIL: {len(violations)} non-canonical external IRI(s):")
+ for fn, u, why in violations:
+ print(f" [{fn}] {u}\n -> {why}")
+ print(
+ "\nFix: use the exact pinned IRI from the slim module, or add the term to the "
+ "matching seed (imports/seeds/*.txt) and regenerate the slim module via ROBOT BOT "
+ "before referencing it. (CLAUDE.md: IRI / version-pin verification.)"
+ )
+ sys.exit(1)
+
+ print("PASS: every external IRI in ARCO authored TTL is a pinned-canonical IRI.")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/03_TECHNICAL_CORE/scripts/test_genus_elicitation.py b/03_TECHNICAL_CORE/scripts/test_genus_elicitation.py
new file mode 100644
index 0000000..b34cd89
--- /dev/null
+++ b/03_TECHNICAL_CORE/scripts/test_genus_elicitation.py
@@ -0,0 +1,82 @@
+"""
+test_genus_elicitation.py — regression test for the L2.12 component-D output
+carrier (walk-up remoteness elicitation, OPEN_PROBLEMS L2.12 / LIMITATIONS §3.7.d).
+
+When the asserted prescribed process types as the bare 1:N genus
+(:BiometricIdentificationProcess), the negative/counterfactual panel must ask
+the Article 3(41) remoteness question (the single reviewed commitment that
+would change the outcome) instead of presenting a stable-looking endpoint.
+
+Asserts:
+ 1. A Sentinel-derived fixture whose process token is retyped to the bare
+ genus produces an HTML view containing the elicitation question.
+ 2. The verification kiosk (verification-typed process, adjudicated negative)
+ does NOT contain the elicitation question.
+
+Run: python 03_TECHNICAL_CORE/scripts/test_genus_elicitation.py
+"""
+
+from __future__ import annotations
+
+import subprocess
+import sys
+import tempfile
+from pathlib import Path
+
+REPO_ROOT = Path(__file__).resolve().parents[2]
+PIPELINE = REPO_ROOT / "03_TECHNICAL_CORE" / "scripts" / "run_pipeline.py"
+ONTOLOGY_DIR = REPO_ROOT / "03_TECHNICAL_CORE" / "ontology"
+HTML_OUTPUT = REPO_ROOT / "runs" / "demo" / "determination_view.html"
+
+ELICITATION_MARKER = "Open elicitation question (Article 3(41))"
+
+
+def run_pipeline(instances: Path, system: str) -> None:
+ result = subprocess.run(
+ [sys.executable, str(PIPELINE), "--instances", str(instances), "--system", system],
+ capture_output=True,
+ text=True,
+ cwd=str(REPO_ROOT),
+ )
+ # exit 0 expected: genus fixture is latent-flag-only (classification layer
+ # passes; audit not applicable / passes) and kiosk is the honest negative
+ if result.returncode != 0:
+ print(result.stdout[-2000:])
+ print(result.stderr[-2000:])
+ raise RuntimeError(f"pipeline exited {result.returncode} on {instances.name}")
+
+
+def main() -> None:
+ print("=" * 72)
+ print("GENUS ELICITATION PROMPT TEST (L2.12 component D)")
+ print("=" * 72)
+ all_pass = True
+
+ sentinel = (ONTOLOGY_DIR / "ARCO_instances_sentinel.ttl").read_text(encoding="utf-8")
+ genus_ttl = sentinel.replace(
+ ":RemoteBiometricIdentificationProcess", ":BiometricIdentificationProcess"
+ )
+ with tempfile.TemporaryDirectory() as td:
+ genus_fixture = Path(td) / "ARCO_instances_genus_walkup.ttl"
+ genus_fixture.write_text(genus_ttl, encoding="utf-8")
+ run_pipeline(genus_fixture, "Sentinel_ID_System")
+ html = HTML_OUTPUT.read_text(encoding="utf-8")
+ ok = ELICITATION_MARKER in html
+ print(f" genus-typed fixture: elicitation prompt present [{'OK' if ok else 'FAIL'}]")
+ all_pass &= ok
+
+ run_pipeline(ONTOLOGY_DIR / "ARCO_instances_verification.ttl", "VerificationKiosk_001")
+ html = HTML_OUTPUT.read_text(encoding="utf-8")
+ ok = ELICITATION_MARKER not in html
+ print(f" verification kiosk: elicitation prompt absent [{'OK' if ok else 'FAIL'}]")
+ all_pass &= ok
+
+ print("=" * 72)
+ print("ALL ELICITATION TESTS PASSED" if all_pass else "SOME ELICITATION TESTS FAILED")
+ print("=" * 72)
+ if not all_pass:
+ sys.exit(1)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/03_TECHNICAL_CORE/scripts/test_scenarios.py b/03_TECHNICAL_CORE/scripts/test_scenarios.py
index 21018c2..d24fd84 100644
--- a/03_TECHNICAL_CORE/scripts/test_scenarios.py
+++ b/03_TECHNICAL_CORE/scripts/test_scenarios.py
@@ -23,11 +23,14 @@
documentary infrastructure (provider roles, assessment documentation, etc.)
required by the audit layer (SPARQL ASK queries in run_pipeline.py).
- Running the full pipeline on these scenarios will show classification PASS
- but audit FAIL. This is expected and correct: these TTLs are intentionally
- minimal, isolating reasoning behaviour without the full documentary
- infrastructure (provider roles, assessment documentation) that the audit
- layer requires.
+ Running the full pipeline on the 5(b) decoy (WeirdCalcSystem) will show
+ classification PASS but audit FAIL — expected and correct: that TTL is
+ intentionally minimal, isolating reasoning behaviour without the full
+ documentary infrastructure the audit layer requires. The 1(a) decoy
+ (DecoySystem_001) carries its documentary scaffolding and passes the full
+ audit since the L3.11 fix (its former sole audit FAIL was the union-sync
+ guard false-alarming on the closure; the guard now runs on the asserted
+ graph, where the decoy's inferred alias subclassing does not trip it).
"""
from __future__ import annotations
@@ -52,6 +55,14 @@
CORE = ONTOLOGY_DIR / "ARCO_core.ttl"
GOV = ONTOLOGY_DIR / "ARCO_governance_extension.ttl"
+REASONING_DIR = REPO_ROOT / "03_TECHNICAL_CORE" / "reasoning"
+# Audit-layer absence checks (OPEN_PROBLEMS L3.8). Caller-bound ASKs; these
+# audit the materialized closure and never classify (Invariant 2).
+NEGATIVE_CASE_ABSENCE_QUERY = REASONING_DIR / "check_negative_case_no_annex_iii_in_closure.sparql"
+CROSS_CATEGORY_ISOLATION_QUERY = REASONING_DIR / "check_cross_category_isolation_in_closure.sparql"
+INTENT_WITHOUT_CAPABILITY_QUERY = REASONING_DIR / "flag_intent_without_capability.sparql"
+UNION_SYNC_QUERY = REASONING_DIR / "check_union_subclass_sync.sparql"
+
ARCO = Namespace("https://arco.ai/ontology/core#")
RDF_NS = Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#")
@@ -164,6 +175,12 @@ def check_type(g: Graph, individual, cls_name: str) -> bool:
return (individual, RDF_NS["type"], ARCO[cls_name]) in g
+def run_ask(g: Graph, query_path: Path, bindings: dict) -> bool:
+ """Run a caller-bound ASK from reasoning/ against the reasoned graph."""
+ result = g.query(query_path.read_text(encoding="utf-8"), initBindings=bindings)
+ return bool(result.askAnswer)
+
+
IAO_IS_ABOUT = URIRef("http://purl.obolibrary.org/obo/IAO_0000136")
CCO_PRESCRIBES = URIRef("http://www.ontologyrepository.com/CommonCoreOntologies/prescribes")
@@ -198,6 +215,25 @@ def main() -> None:
print("ARCO MULTI-SCENARIO REGRESSION TEST")
print("=" * 72)
+ # Table-coherence guard (OPEN_PROBLEMS L3.8 gap 2, revised plan): the
+ # Annex-applicability => HighRiskSystem subsumption is purely
+ # OWL-RL-derived (the governance extension asserts no subClassOf between
+ # the applicability classes and :HighRiskSystem), so a graph-side
+ # NOT-EXISTS ASK would pass vacuously exactly when the reasoner
+ # under-derives. The witness is positive instead: any scenario expecting
+ # an Annex III applicability True must also expect HighRiskSystem True;
+ # the per-class assertions below then verify both memberships actually
+ # materialize in the same closure run.
+ for scenario in SCENARIOS:
+ exp = scenario["expected"]
+ annex_true = exp.get("AnnexIII1aApplicableSystem") or exp.get("AnnexIII5bApplicableSystem")
+ if annex_true and not exp.get("HighRiskSystem"):
+ print(
+ f"TABLE ERROR: {scenario['name']} expects an Annex III applicability "
+ "without HighRiskSystem — violates the derived Article 6(2) pairing"
+ )
+ sys.exit(1)
+
all_pass = True
for scenario in SCENARIOS:
@@ -216,6 +252,51 @@ def main() -> None:
if not ok:
all_pass = False
+ # ── Audit-layer absence checks (OPEN_PROBLEMS L3.8) ──
+ # Expected values derive from the scenario's expected dict — one
+ # source of truth, no second table. Positive fixtures must return
+ # False, proving the query detects presence in the same test run
+ # that reads the kiosk's True (live co-witness against the reasoner
+ # silently under-deriving everywhere).
+ annex_classes = ("AnnexIII1aApplicableSystem", "AnnexIII5bApplicableSystem")
+ expect_absent = not any(scenario["expected"][c] for c in annex_classes)
+ actual_absent = run_ask(g, NEGATIVE_CASE_ABSENCE_QUERY, {"system": system})
+ ok = actual_absent == expect_absent
+ status = "OK" if ok else "FAIL"
+ print(f" no_annex_iii_in_closure: {actual_absent} (expected {expect_absent}) [{status}]")
+ if not ok:
+ all_pass = False
+
+ # Cross-category isolation: for each Annex class the table expects
+ # False, the (system, excluded_class)-bound isolation ASK must return
+ # True. Keyed off the expected dict so a future legitimate
+ # dual-category fixture updates one table and nothing falsely blocks.
+ for cls_name in annex_classes:
+ if scenario["expected"][cls_name]:
+ continue
+ isolated = run_ask(
+ g, CROSS_CATEGORY_ISOLATION_QUERY,
+ {"system": system, "excluded_class": ARCO[cls_name]},
+ )
+ ok = isolated is True
+ status = "OK" if ok else "FAIL"
+ print(f" isolation from {cls_name}: {isolated} (expected True) [{status}]")
+ if not ok:
+ all_pass = False
+
+ # ── Intent-without-capability flag (OPEN_PROBLEMS L3.10; report-only
+ # in the pipeline). Every current fixture carries the capability that
+ # matches its documented category (or no regulated-subkind IUS at all),
+ # so the expected answer is False across the table. The live co-witness
+ # that the query CAN return True is the Gate-1-removal mutation check
+ # after the scenario loop.
+ iwc = run_ask(g, INTENT_WITHOUT_CAPABILITY_QUERY, {"system": system})
+ ok = iwc is False
+ status = "OK" if ok else "FAIL"
+ print(f" intent_without_capability: {iwc} (expected False) [{status}]")
+ if not ok:
+ all_pass = False
+
expected_flags = scenario.get("expected_flags")
if expected_flags is not None:
for flag_cls, expected in expected_flags.items():
@@ -231,6 +312,62 @@ def main() -> None:
if not ok:
all_pass = False
+ # ── Mutation witness for the intent-without-capability flag (L3.10):
+ # Sentinel with every ro:0000091 disposition edge removed from the
+ # asserted graph still carries its RBI-subkind IUS and role-designating
+ # USS, so the flag must return True post-reasoning. Proves the ASK
+ # detects the under-classification shape and is not vacuously False.
+ print("\n--- MUTATION WITNESS: Sentinel minus Gate-1 disposition edges ---")
+ RO_HAS_DISPOSITION = URIRef("http://purl.obolibrary.org/obo/RO_0000091")
+ mg = Graph()
+ for p in (BFO_2020, IAO_BOT, RO_BOT, CCO_BOT, CORE, GOV, ONTOLOGY_DIR / "ARCO_instances_sentinel.ttl"):
+ mg.parse(p.as_posix(), format="xml" if p.suffix == ".owl" else "turtle")
+ removed = 0
+ for s, _, o in list(mg.triples((None, RO_HAS_DISPOSITION, None))):
+ # strip only instance-level disposition edges on ARCO-namespace subjects;
+ # TBox restrictions on ro:0000091 live in blank-node restrictions and stay
+ if isinstance(s, URIRef) and str(s).startswith(str(ARCO)):
+ mg.remove((s, RO_HAS_DISPOSITION, o))
+ removed += 1
+ owlrl.DeductiveClosure(owlrl.OWLRL_Semantics).expand(mg)
+ mut_flag = run_ask(mg, INTENT_WITHOUT_CAPABILITY_QUERY, {"system": ARCO["Sentinel_ID_System"]})
+ mut_not_entailed = (ARCO["Sentinel_ID_System"], RDF_NS["type"], ARCO["AnnexIII1aApplicableSystem"]) not in mg
+ ok = removed > 0 and mut_flag is True and mut_not_entailed
+ status = "OK" if ok else "FAIL"
+ print(f" removed {removed} disposition edge(s); flag={mut_flag} (expected True); "
+ f"1(a) not entailed={mut_not_entailed} (expected True) [{status}]")
+ if not ok:
+ all_pass = False
+
+ # ── Union-sync drift witness (OPEN_PROBLEMS L3.11): the pipeline runs this
+ # guard against the ASSERTED graph. Three checks: baseline asserted graph
+ # passes; removing the explicit per-member rdfs:subClassOf FAILS on the
+ # asserted graph (the drift case the closure hides by re-materializing it);
+ # the decoy fixture's asserted graph does NOT false-alarm (its alias
+ # subclassing is inferred, not asserted).
+ print("\n--- UNION-SYNC DRIFT WITNESS (asserted graph; L3.11) ---")
+ RDFS_SUBCLASS = URIRef("http://www.w3.org/2000/01/rdf-schema#subClassOf")
+
+ def load_source(instance_file: Path) -> Graph:
+ sg = Graph()
+ for fp in (BFO_2020, IAO_BOT, RO_BOT, CCO_BOT, CORE, GOV, instance_file):
+ sg.parse(fp.as_posix(), format="xml" if fp.suffix == ".owl" else "turtle")
+ return sg
+
+ src = load_source(ONTOLOGY_DIR / "ARCO_instances_sentinel.ttl")
+ base_ok = run_ask(src, UNION_SYNC_QUERY, {})
+ src.remove((ARCO["BiometricIdentificationCapability"], RDFS_SUBCLASS,
+ ARCO["AnnexIIITriggeringCapability"]))
+ drift_caught = run_ask(src, UNION_SYNC_QUERY, {}) is False
+ decoy_src = load_source(ONTOLOGY_DIR / "ARCO_instances_adversarial_decoy.ttl")
+ decoy_no_false_alarm = run_ask(decoy_src, UNION_SYNC_QUERY, {})
+ ok = bool(base_ok) and drift_caught and bool(decoy_no_false_alarm)
+ status = "OK" if ok else "FAIL"
+ print(f" baseline={base_ok} (True); drift caught={drift_caught} (True); "
+ f"decoy no-false-alarm={decoy_no_false_alarm} (True) [{status}]")
+ if not ok:
+ all_pass = False
+
print()
print("=" * 72)
if all_pass:
diff --git a/03_TECHNICAL_CORE/scripts/test_tbox_guard.py b/03_TECHNICAL_CORE/scripts/test_tbox_guard.py
new file mode 100644
index 0000000..0f3807c
--- /dev/null
+++ b/03_TECHNICAL_CORE/scripts/test_tbox_guard.py
@@ -0,0 +1,105 @@
+"""
+test_tbox_guard.py — regression test for OPEN_PROBLEMS L3.12.
+
+Instance data is ABox-only by contract. The decoy fixtures proved that an
+owl:equivalentClass triple inside an instance file rewires classification
+under both reasoners; guard_instances_tbox is the load-time enforcement.
+
+Asserts:
+ 1. An injected instance file carrying ':Innocent owl:equivalentClass
+ :BiometricIdentificationCapability' fails the guard with the named
+ TBOX GUARD error.
+ 2. A subClassOf wedge into :AnnexIIITriggeringCapability fails the guard.
+ 3. Every shipped non-decoy fixture passes the guard (no false positives —
+ TBox-looking text inside comments/string literals must not trip it).
+ 4. The two sanctioned adversarial decoy fixtures are allowlisted.
+
+Run: python 03_TECHNICAL_CORE/scripts/test_tbox_guard.py
+"""
+
+from __future__ import annotations
+
+import sys
+import tempfile
+from pathlib import Path
+
+REPO_ROOT = Path(__file__).resolve().parents[2]
+sys.path.insert(0, str(REPO_ROOT / "03_TECHNICAL_CORE" / "scripts"))
+
+from run_pipeline import guard_instances_tbox, TBOX_GUARD_ALLOWLIST # noqa: E402
+
+ONTOLOGY_DIR = REPO_ROOT / "03_TECHNICAL_CORE" / "ontology"
+
+PREFIXES = """@prefix : .
+@prefix owl: .
+@prefix rdfs: .
+@prefix rdf: .
+@prefix ex: .
+@prefix cco: .
+"""
+
+INJECTIONS = {
+ "equivalentClass alias": PREFIXES
+ + ":Innocent a owl:Class ; owl:equivalentClass :BiometricIdentificationCapability .\n",
+ "subClassOf wedge": PREFIXES
+ + ":SneakyCapability rdfs:subClassOf :AnnexIIITriggeringCapability .\n",
+ # QA change 6: property-level attacks, foreign-namespace subjects — would
+ # evade an ARCO-term-scoped check; the guard forbids these predicates in
+ # instance files outright.
+ "subPropertyOf onto cco:prescribes (fakes Gate 2 via prp-spo1)": PREFIXES
+ + "ex:harmlessRef rdfs:subPropertyOf cco:prescribes .\n",
+ "sameAs onto the role universal (fakes Gate 3 hasValue via eq-rep)": PREFIXES
+ + "ex:Impostor owl:sameAs :NaturalPersonRole .\n",
+}
+
+
+def expect_guard_failure(label: str, ttl: str) -> bool:
+ with tempfile.TemporaryDirectory() as td:
+ p = Path(td) / "ARCO_instances_injected.ttl"
+ p.write_text(ttl, encoding="utf-8")
+ try:
+ guard_instances_tbox(p)
+ except RuntimeError as e:
+ ok = "TBOX GUARD" in str(e)
+ print(f" {label}: guard raised TBOX GUARD [{'OK' if ok else 'FAIL'}]")
+ return ok
+ print(f" {label}: guard did NOT raise [FAIL]")
+ return False
+
+
+def main() -> None:
+ print("=" * 72)
+ print("TBOX/ABOX LOAD GUARD TEST (OPEN_PROBLEMS L3.12)")
+ print("=" * 72)
+ all_pass = True
+
+ print("\nInjection cases (must fail the guard):")
+ for label, ttl in INJECTIONS.items():
+ all_pass &= expect_guard_failure(label, ttl)
+
+ print("\nShipped fixtures (non-decoy must pass; decoys allowlisted):")
+ for fixture in sorted(ONTOLOGY_DIR.glob("ARCO_instances_*.ttl")):
+ try:
+ guard_instances_tbox(fixture)
+ allow = fixture.name in TBOX_GUARD_ALLOWLIST
+ print(f" {fixture.name}: {'allowlisted' if allow else 'clean'} [OK]")
+ except RuntimeError as e:
+ print(f" {fixture.name}: unexpected guard failure [FAIL]\n {e}")
+ all_pass = False
+
+ # The allowlist must be load-bearing: identical decoy content under a
+ # non-allowlisted filename must fail the guard.
+ print("\nAllowlist is load-bearing (renamed decoy content must fail):")
+ decoy_ttl = (ONTOLOGY_DIR / "ARCO_instances_adversarial_decoy.ttl").read_text(encoding="utf-8")
+ all_pass &= expect_guard_failure("renamed decoy content", decoy_ttl)
+
+ print()
+ print("=" * 72)
+ print("ALL TBOX GUARD TESTS PASSED" if all_pass else "SOME TBOX GUARD TESTS FAILED")
+ print("=" * 72)
+ if not all_pass:
+ sys.exit(1)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/LIMITATIONS.md b/LIMITATIONS.md
index ce3ea66..0ed7acb 100644
--- a/LIMITATIONS.md
+++ b/LIMITATIONS.md
@@ -12,7 +12,7 @@
6. [docs/agent/eu_ai_act_rules.md](docs/agent/eu_ai_act_rules.md) — regulatory scope rules
7. [KB/40_REVIEWS/2026-04-20_bfo-commitment-backtest.md](KB/40_REVIEWS/2026-04-20_bfo-commitment-backtest.md) — commitment backtest grading each load-bearing choice
-**Last reviewed:** 2026-05-14
+**Last reviewed:** 2026-06-10 (coherent disclosure pass following the 2026-06-10 adversarial design audit; see `runs/audits/2026-06-10_adversarial_design_audit.md`)
**Refresh trigger:** any change to ontology class hierarchy, three-gate axioms, imported upstream ontology, Annex III category coverage, or instance-file design conventions.
@@ -29,6 +29,7 @@ This matters because three things ARCO's output is **not**:
- It is **not** a determination that a system is legally high-risk under EU AI Act Article 6. ARCO determines whether a description satisfies ARCO's formal encoding. Whether the encoding correctly captures the legal intent has not been validated by a qualified EU AI Act lawyer (see §9).
- It is **not** a statement about the deployed system's behavior. If the description does not match what the system actually does in production, ARCO's output does not catch that mismatch. ARCO classifies the description the provider authored, not the physical artifact the provider runs.
- It is **not** a conformity assessment. Article 43 conformity assessments are performed by notified bodies or via prescribed self-assessment procedures. ARCO produces classification evidence; it does not execute the assessment procedure or substitute for one.
+- It is **not** a determination that the described artifact is an AI system under Article 3(1). ARCO does not evaluate the Article 3(1) threshold; AI-system status is a human-adjudicated input commitment held by whoever authors and reviews the instance data. A described non-AI artifact carrying the right gate triples would still be entailed by the encoding.
The `HighRiskSystem` OWL class in the ontology is a **latent-risk flag based on Gate 1 only** — i.e., a system has a component that bears an `AnnexIIITriggeringCapability`. It is useful as an early-warning classifier and as a precondition for the category-specific gates, but it is not the full legal category. Category-specific classes (`AnnexIII1aApplicableSystem`, `AnnexIII5bApplicableSystem`) are the stronger output; they require all three gates to hold. This distinction is explicit in the architecture defense memo §4 and is enforced by the class definitions in [ARCO_governance_extension.ttl](03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl).
@@ -55,7 +56,7 @@ Two Annex III categories are modeled. The rest are out of scope in the current r
**Known modelling limits within the two covered categories:**
-- **Article 5(b) fraud-detection exclusion is not modeled.** The legal text excludes AI intended for financial fraud detection from 5(b) classification. ARCO includes `FraudDetectionProcess` as a declared class and `flag_fraud_exclusion_candidate.sparql` surfaces it as an audit flag, but the exclusion is not expressed as a negation in OWL-RL. A fraud-detection system evaluating creditworthiness could produce a false positive under the current encoding. Modelling this requires either a non-OWL-RL negation gate or a post-classification SPARQL/SHACL check; neither exists in v1. See [docs/agent/eu_ai_act_rules.md](docs/agent/eu_ai_act_rules.md) "Known limit — 5(b) fraud exclusion."
+- **Annex III 5(b) fraud-detection exclusion is not modeled as a classification gate.** The legal text excludes AI intended for financial fraud detection from 5(b) classification. ARCO includes `FraudDetectionProcess` as a declared class and `flag_fraud_exclusion_candidate.sparql` surfaces candidates as a post-classification audit flag for human review; the exclusion is not expressed as a negation in OWL-RL (no negation gate exists in v1), so a fraud-detection system evaluating creditworthiness produces a false positive at the entailment layer, with the audit flag as the correction surface. See [docs/agent/eu_ai_act_rules.md](docs/agent/eu_ai_act_rules.md) "Known limit — 5(b) fraud exclusion."
- **Article 6(3) derogation is detected, not evaluated.** If a provider declares a `DerogationClaim`, `flag_derogation_candidate.sparql` surfaces it for human legal review. ARCO does not evaluate whether the claim is legally valid. The OWL-RL classification is computed independently of any derogation claim — a flagged system with all three gates satisfied is still entailed as `HighRiskSystem` in the ontology. The profiling-of-natural-persons exception (derogation always unavailable for profiling) is not separately modeled.
- **Biometric verification is correctly excluded from 1(a).** `BiometricVerificationCapability` is declared `owl:disjointWith BiometricIdentificationCapability` and is not a subclass of `AnnexIIITriggeringCapability`. A verification-only system does not satisfy Gate 1 for 1(a). This is intentional, tested, and documented in [03_TECHNICAL_CORE/ontology/ARCO_core.ttl](03_TECHNICAL_CORE/ontology/ARCO_core.ttl) line 79.
@@ -66,6 +67,11 @@ Two Annex III categories are modeled. The rest are out of scope in the current r
- Article 10 training-data governance — ARCO classifies systems by capability, not by training-data provenance.
- Article 4 AI literacy and staff training — organizational obligation, not a system-level classification question.
- Article 26 operator retention, logging, and monitoring obligations — runtime concerns, not pre-deployment classification.
+- Article 6(1) / Annex I product-safety high-risk path — ARCO encodes only the Article 6(2) / Annex III limb. A system can be high-risk under 6(1) (safety component of an Annex I harmonised product) with no Annex III category; ARCO's output carries no assessment of that limb.
+- Article 3(1) "AI system" threshold — not evaluated; a human-adjudicated input commitment (see §1).
+- Annex III category-1 chapeau conditionality ("in so far as their use is permitted under relevant Union or national law") — not modeled or surfaced.
+- Article 3(13) reasonably foreseeable misuse — ARCO classifies on documented intended use only; misuse analysis is a non-goal of the current release.
+- Article 50 transparency-tier obligations — a different risk tier; not modeled and not named in outputs.
---
@@ -113,6 +119,8 @@ A second, narrower simplification sits inside this gate: for a model-driven biom
A third, related point: for software-configurable AI systems where the same hardware can be configured for different modes (e.g., 1:1 verification vs 1:N identification on the same biometric kiosk hardware), the disposition assertion describes what THIS specific deployment is intended to do under its current commitments, not what the hardware-in-isolation could theoretically do. ARCO does not make closed-world hardware-incapability claims; per-fixture disposition assertions reflect the configured-system commitments under OWA. A different deployment of the same hardware (different configuration, software, or database) would be modeled as a separate `:System` instance with its own asserted disposition. This matches the EU AI Act's classification on intended use (Recital 15, Recital 17, and the Annex III 1(a) operative carve-out, which together carry the "intended to be used for biometric verification" framing), not on raw hardware capability. Article 3(36) supplies the underlying 1:1 verification definition. Validated 2026-05-10 against vendor documentation for Suprema, ZKTeco, Matrix, HID, and IDEMIA biometric kiosks, all of which advertise the same hardware as configurable for both 1:1 and 1:N modes.
+A fourth boundary case (added 2026-06-10): Gate 1 presupposes the capability-bearing hardware is a mereological part (`bfo:0000051`) of the described system. Where inference runs on a third party's hardware behind an API — the common SaaS architecture — the disposition inheres in hardware outside the described system's boundary, and under the fake-witness prohibition the reviewer may not mint a vendor-datacenter component without source warrant. Gate 1 then cannot fire honestly, and a system whose documented intent is clearly within a modeled category is not entailed (under-classification; cross-reference §3.4 on aggregate decomposition and §3.9 on Gate 1's evidential status). The system-boundary modeling decision is queued as M-SystemBoundary-1 in the working register.
+
### 3.6 Reality/representation split
Capabilities are BFO dispositions inhering in independent continuants. Intended uses and use scenarios are IAO/CCO information content entities (directive ICEs). This split is load-bearing for ARCO's entire architecture — if it blurs, the distinction between "what the system can do" and "what documents say" collapses. This is a **strength** of the design, listed here because any future extension that violates the split (e.g., putting a disposition on an information artifact, or a specification on a material component) would quietly break the classification guarantees.
@@ -134,7 +142,7 @@ ARCO accepts this debt rather than adorning with placeholders. Future deployment
#### 3.7.b IUS subkind classes are defined classes by extrinsic regulatory criterion
-The IUS subkind family is membership-fixed by Annex III categorial criterion, not by a shared natural-kind property of intended-use specifications in general. A `:RemoteBiometricIdentificationIntendedUseSpec` is one whose prescribed process is `:RemoteBiometricIdentificationProcess`, the kind named by Annex III 1(a). The `skos:definition` and `rdfs:comment` of each subkind disclose this explicitly. Membership at the particular level is non-exclusive: a single IUS instance may fall in multiple regulated subkinds if it prescribes multiple regulated process kinds (a hybrid system that does both biometric ID and credit evaluation). Disjointness is NOT asserted between IUS subkinds; cross-category isolation is provided by Gate 1 capability disjointness, not by IUS disjointness.
+The IUS subkind family is membership-fixed by Annex III categorial criterion, not by a shared natural-kind property of intended-use specifications in general. A `:RemoteBiometricIdentificationIntendedUseSpec` is one whose prescribed process is `:RemoteBiometricIdentificationProcess`, the kind named by Annex III 1(a). The `skos:definition` and `rdfs:comment` of each subkind disclose this explicitly. Membership at the particular level is non-exclusive: a single IUS instance may fall in multiple regulated subkinds if it prescribes multiple regulated process kinds (a hybrid system that does both biometric ID and credit evaluation). Disjointness is NOT asserted between IUS subkinds; cross-category isolation is provided by the gates' distinct class targets (each category's axiom requires its own capability and process kinds). The capability-layer disjointness additionally prevents a single disposition token from being dual-typed; it is the distinct `someValuesFrom` targets, not disjointness, that do the isolation work.
#### 3.7.c Real-time vs. post RBI subclass declaration; Article 5 routing scoped future
@@ -144,6 +152,18 @@ The Annex III 1(a) Gate 2 axiom continues to reference the parent class via `som
This is a deliberate scope-narrowing: Article 5(1)(h) prohibits real-time RBI in publicly accessible spaces for law enforcement (with conditional permissible-use carve-outs in Article 5(1)(h)(i)-(iii) and deployment conditions and prior judicial authorisation in Article 5(2)-(3)). For systems deployed by law enforcement in publicly accessible spaces, the regulation routes real-time RBI to the Article 5 prohibition rather than to Annex III 1(a) high-risk. ARCO does not yet model the Article 5 prohibited-practice class, deployer-actor entailment, or spatial/site context. Under the current parent-class Gate 2 routing, a real-time RBI process particular will entail `:AnnexIII1aApplicableSystem` regardless of deployer or context. This is correct for cases where Article 5(1)(h) does not apply (real-time RBI by non-law-enforcement deployers, or in non-publicly-accessible spaces, or post-RBI in any context). For Article 5-prohibited cases, ARCO currently fires Annex III 1(a) without an Article 5 prohibition flag; downstream consumers must handle this as a coverage gap pending Article 5 modeling. A future loop will introduce the prohibited-practice class, deployer-context modeling, and the routing.
+#### 3.7.d Biometric-identification process genus
+
+ARCO introduces `:BiometricIdentificationProcess` as the genus (Regulation (EU) 2024/1689 Article 3(35), one-to-many identification), with `:RemoteBiometricIdentificationProcess` re-parented under it as the regulated subkind (Article 3(41); its definition re-authored onto the differentia that does the regulatory work, performed without the subject's active involvement). Gate 2 continues to key on `:RemoteBiometricIdentificationProcess` only, so the bare genus does NOT entail Annex III 1(a). `:BiometricVerificationProcess` is held `owl:disjointWith` the genus, mirroring the capability-layer disjointness, so the genus does not subsume verification.
+
+No positive "non-remote identification" class is minted. A verbatim audit of Recitals 15 and 17 confirmed the Act defines only three kinds: biometric identification (1:N, the genus, Art 3(35)); biometric verification (1:1, excluded, the exclusion explicitly naming "security access to premises"); and remote biometric identification (1:N without active involvement, the regulated subkind, Art 3(41)). There is no "cooperative identification" category in the Act. So the non-regulated cases are handled without inventing one: the at-the-door / premises-access case is biometric verification (`:BiometricVerificationProcess`, carved out per Recitals 15 and 17), and 1:N identification not asserted to be remote is the bare genus (`:BiometricIdentificationProcess`, not the remote subkind), which does not trigger 1(a). The bare genus is the honest non-triggering type the iDFace scratch backtest needed. An earlier draft minted a positive non-remote subkind; it was removed as an invented regulatory category after the verbatim source audit.
+
+Disclosed debt:
+
+- Whether a given walk-up 1:N deployment is "remote" (without active involvement, Art 3(41)) is genuinely left open by the Act. ARCO does not bake an answer into a class; it is a deployer-elicitation question (the forced-fork elicitation, component D).
+- The remoteness differentia is carried by `:RemoteBiometricIdentificationProcess` and its `skos:definition`, not by a formal participant-structure axiom (semantic-not-axiomatic differentia, the same residual debt the existing process kinds carry). The abi-faithful upgrade (a `bfo:0000055` realizes / `ro:0000091` restriction tying the genus to `:BiometricIdentificationCapability` at a single point) is deferred.
+- The verification / identification-genus disjointness is enforced at two layers, stronger than first documented here: `owlrl` fires `cax-dw` violations into closure error messages and the pipeline aborts the run on them (empirically verified 2026-06-10), and the HermiT (OWL 2 DL) cross-check independently catches the contradiction in CI. `owlrl` does not materialize the disjointness as a classification effect (no `owl:Nothing` membership), but a contradictory typing is a hard run failure under the production pipeline, not a HermiT-only catch.
+
### 3.8 Local subPropertyOf binding: ro:0000052 → bfo:0000197
ARCO commits the canonical OBO RO inherence property `ro:0000052` (RO label: "characteristic of"; this was the previous "inheres in" label before RO renamed it to avoid collision with the stricter BFO 2020 sense) as `rdfs:subPropertyOf bfo:0000197` (BFO 2020 "inheres in"). The binding lives at `03_TECHNICAL_CORE/ontology/ARCO_core.ttl` in section 5 (External Property Commitment).
@@ -154,10 +174,18 @@ ARCO commits the canonical OBO RO inherence property `ro:0000052` (RO label: "ch
**Forward-looking constraints.** If ARCO ever expands scope to model qualities of processes, qualities of information artifacts, role-of-Site, role-of-Process, or hardware-software amalgam patterns where the disposition is pinned to a software pattern qua generically-dependent continuant, the binding will need revisit because RO removed the range precisely to support those cases. The current state of those scope cuts is documented in §3.4 (cloud-native), §3.5 (hardware-software amalgam), §3.7 (process tokens), and §6 (temporal, spatial, lifecycle).
-**Pattern precedent.** This is the same axiomatic shape as `cco:designates rdfs:subPropertyOf iao:0000136` already declared at `ARCO_governance_extension.ttl:139`, though the semantic direction differs: that binding widens `cco:designates` up into `iao:is_about` to reflect designation into the same aboutness layer used elsewhere in ARCO, whereas this binding narrows `ro:0000052` down through BFO's stricter range. CCO uses subPropertyOf binding extensively (for example, `cco:has_output rdfs:subPropertyOf BFO_0000057`). The pattern is canonical, not novel.
+**Pattern precedent.** This is the same axiomatic shape as `cco:designates rdfs:subPropertyOf iao:0000136` already declared at `ARCO_governance_extension.ttl:140`, though the semantic direction differs: that binding widens `cco:designates` up into `iao:is_about` to reflect designation into the same aboutness layer used elsewhere in ARCO, whereas this binding narrows `ro:0000052` down through BFO's stricter range. CCO uses subPropertyOf binding extensively (for example, `cco:has_output rdfs:subPropertyOf BFO_0000057`). The pattern is canonical, not novel.
**What this binding does NOT do.** It does not replace RO. ARCO still uses `ro:0000052` in all fixture assertions, SPARQL queries, and SHACL shapes. RO's `owl:FunctionalProperty` declaration on `ro:0000052` (one-bearer-per-role-or-disposition) remains in effect. RO's sub-property family (function_of, quality_of, role_of, disposition_of) remains intact in the loaded slim. The binding adds one TBox axiom in ARCO's namespace; it does not modify upstream.
+### 3.9 Gate 1 is an ARCO-added evidential condition (under-classification direction)
+
+The Annex III conditions ARCO encodes trigger on documented intended purpose: 5(b) reads "intended to be used to evaluate the creditworthiness of natural persons…", and 1(a) regulates remote biometric identification systems, which Article 3(41) defines by their purpose ("an AI system for the purpose of identifying natural persons, without their active involvement…"). Neither provision conditions applicability on a demonstrated component-level capability. ARCO's three-gate `equivalentClass` axioms make the Gate 1 capability disposition conjunctively necessary anyway, because surfacing latent capability at design time is the project's thesis.
+
+The consequence is a deliberate strictness in the **under-classification** direction — the mirror of the disclosed over-classification cases (fraud carve-out, derogation): a reviewed description carrying a fully documented regulated intended use (Gate 2) and designated natural persons (Gate 3) but no reviewed capability commitment (Gate 1) is **not** entailed, and the output reads as a negative. Gate 1 is ARCO's evidential addition, not an Annex III condition; "three gates satisfied → Annex III-shaped" is the legally grounded direction, not the converse. Outward copy must not present the three-gate conjunction as what the regulation itself requires.
+
+A report-only audit flag for the "documented intent without asserted capability" case is queued in the working register (L3.10); whether category applicability should instead entail from Gates 2 and 3 alone, with Gate 1 reported as evidence strength, is an open modeling decision (M-Gate1Status-1), sequenced behind the foundation modeling map.
+
---
## 4. Property-layer grounding
@@ -267,9 +295,9 @@ The pipeline's output layer (`run_pipeline.py` from line 1699 onward, plus `writ
**Cross-layer contradictions** (output emits commitment-shaped values inconsistent with the graph or with adjacent fields):
-- `all_checks_passed: true` can coexist with per-check `FAIL` fields in the same `summary.json`. On non-applicable runs (e.g. `VerificationKiosk_001`), `audit_pass` is set to `True` by a Python short-circuit (`run_pipeline.py:1643-1655`) regardless of which audit checks failed. The certificate's "ALL CHECKS PASSED" banner is false on these runs. **CLOSED 2026-05-10 (PR #36, OPEN_PROBLEMS L4.1).** The force-True short-circuit is removed: `audit_pass` and `all_pass` both return `None` on non-applicable runs. A new `applicability_status` enum (`applicable` / `not_applicable`) is added to `summary.json` and `determination_packet.json`. Schema bumped 1.2 → 1.3. Consumers see distinct applicability vs. audit fields.
-- `determination_node_uri` is a hardcoded constant (`run_pipeline.py:1906`). It emits `:HighRisk_Determination_001`, which exists as a graph node only in `ARCO_instances_sentinel.ttl`. Runs against `ARCO_instances_creditscoring.ttl` or `ARCO_instances_verification.ttl` emit an IRI not asserted in the loaded graph for that run. **CLOSED 2026-05-10 (PR #36, OPEN_PROBLEMS L4.2).** New `reasoning/select_determination_node.sparql` selects the determination node from the run's reasoned graph; `run_pipeline.py:1972` binds the result. Sentinel returns `:HighRisk_Determination_001`, CreditScorer returns `:CreditScorer_Determination_001`, verification kiosk and decoy return `null`, flag-tests return their asserted IRIs. Asserted-vs-entailment alignment is tracked separately at `OPEN_PROBLEMS.md` X.9.
-- Gate 2 evidence selection uses `LIMIT 1` without `ORDER BY` and without category filtering (`run_pipeline.py:323-342`). The behaviour is **underdetermined**: on `FlagTest_CreditSystem_WithFraudProcess` the packet and HTML can name either `:FraudDetectionProcess` or `:CreditworthinessEvaluationProcess` as the process satisfying Gate 2, because SPARQL row order without `ORDER BY` is implementation-defined. Same fixture, same data, different certificate evidence across runs. The 5(b) classification entails correctly either way; the audit-trace claim is what is non-reproducible. Closing this requires both `ORDER BY` (for determinism) and a category filter (for correctness); a half-fix that does only one leaves the underdetermined behaviour live. **CLOSED 2026-05-10 (PR #36, OPEN_PROBLEMS L3.1).** Inline SPARQL moved to `reasoning/select_gate_2_prescribed_process.sparql` with `ORDER BY ?ius ?process` for determinism and a `FILTER(?process_class IN (:RemoteBiometricIdentificationProcess, :CreditworthinessEvaluationProcess))` category filter for correctness.
+- `all_checks_passed: true` can coexist with per-check `FAIL` fields in the same `summary.json`. On non-applicable runs (e.g. `VerificationKiosk_001`), `audit_pass` is set to `True` by a Python short-circuit (`run_pipeline.py:1775-1787`) regardless of which audit checks failed. The certificate's "ALL CHECKS PASSED" banner is false on these runs. **CLOSED 2026-05-10 (PR #36, OPEN_PROBLEMS L4.1).** The force-True short-circuit is removed: `audit_pass` and `all_pass` both return `None` on non-applicable runs. A new `applicability_status` enum (`applicable` / `not_applicable`) is added to `summary.json` and `determination_packet.json`. Schema bumped 1.2 → 1.3. Consumers see distinct applicability vs. audit fields.
+- `determination_node_uri` is a hardcoded constant (`run_pipeline.py:2041`). It emits `:HighRisk_Determination_001`, which exists as a graph node only in `ARCO_instances_sentinel.ttl`. Runs against `ARCO_instances_creditscoring.ttl` or `ARCO_instances_verification.ttl` emit an IRI not asserted in the loaded graph for that run. **CLOSED 2026-05-10 (PR #36, OPEN_PROBLEMS L4.2).** New `reasoning/select_determination_node.sparql` selects the determination node from the run's reasoned graph; `run_pipeline.py:2108` binds the result. Sentinel returns `:HighRisk_Determination_001`, CreditScorer returns `:CreditScorer_Determination_001`, verification kiosk and decoy return `null`, flag-tests return their asserted IRIs. Asserted-vs-entailment alignment is tracked separately at `OPEN_PROBLEMS.md` X.9.
+- Gate 2 evidence selection uses `LIMIT 1` without `ORDER BY` and without category filtering (`run_pipeline.py:430-449`). The behaviour is **underdetermined**: on `FlagTest_CreditSystem_WithFraudProcess` the packet and HTML can name either `:FraudDetectionProcess` or `:CreditworthinessEvaluationProcess` as the process satisfying Gate 2, because SPARQL row order without `ORDER BY` is implementation-defined. Same fixture, same data, different certificate evidence across runs. The 5(b) classification entails correctly either way; the audit-trace claim is what is non-reproducible. Closing this requires both `ORDER BY` (for determinism) and a category filter (for correctness); a half-fix that does only one leaves the underdetermined behaviour live. **CLOSED 2026-05-10 (PR #36, OPEN_PROBLEMS L3.1).** Inline SPARQL moved to `reasoning/select_gate_2_prescribed_process.sparql` with `ORDER BY ?ius ?process` for determinism and a `FILTER(?process_class IN (:RemoteBiometricIdentificationProcess, :CreditworthinessEvaluationProcess))` category filter for correctness.
**Sentinel-shaped hardcoding** (the same affected-role pattern is hardcoded in three independent places, making the Gate 3 surface category-specific rather than parameterized):
@@ -283,8 +311,8 @@ The pipeline's output layer (`run_pipeline.py` from line 1699 onward, plus `writ
**Operational**:
-- `runs/demo/` is not auto-cleaned. The OUTPUT FILES listing (`run_pipeline.py:1946-1947`) advertises every file present, so reverted artifacts can appear as current outputs until manually removed.
-- Pipeline exit code reflects classification only (`run_pipeline.py:1949-1955`). Audit-layer failure produces exit 0. Wrappers consuming exit code must separately parse `summary.json` to detect audit failure.
+- `runs/demo/` is not auto-cleaned. The OUTPUT FILES listing (`run_pipeline.py:2082-2083`) advertises every file present, so reverted artifacts can appear as current outputs until manually removed.
+- Pipeline exit code reflects classification only (`run_pipeline.py:2085-2091`). Audit-layer failure produces exit 0. Wrappers consuming exit code must separately parse `summary.json` to detect audit failure.
- The MCP HermiT tool runs one named fixture per call; the standalone `hermit_cross_check.py` is the fixture-wide sweep used by CI. An LLM calling the MCP tool gets a bounded single-fixture assurance signal unless it explicitly runs multiple calls.
- The fixture-wide HermiT cross-check has failed with `WinError 5` on at least one Windows local environment. The 24/24 agreement claim holds in CI but is not currently reproducible across all developer machines.
diff --git a/README.md b/README.md
index 8cca2ed..0bdb9ff 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,19 @@
**Assurance & Regulatory Classification Ontology**
-ARCO answers a specific question about an AI system: before you build or deploy it, does it satisfy the formal encoding of an EU AI Act Annex III high-risk condition? You hand the pipeline a structured description of the system (the hardware, what it's intended to be used for, who its decisions affect) and the OWL reasoner returns the answer with the reasoning chain attached. The same input always produces the same answer, and anyone with an OWL reasoner can re-derive the classification from the public axioms. ARCO's own pipeline is not part of the audit trail; the axioms and the input facts are.
+You're building an AI system. Somewhere down the line someone official asks you the question you can't wave off: now that the EU regulates this, is what we're building high-risk?
-The problem this solves: a compliance team, regulator, or buyer needs to know whether a specific AI system falls under Annex III before it ships. A probabilistic score isn't a defensible answer to that question. A checklist asking "does the document exist" misses what's in the document. A behavioral monitor only runs after deployment. ARCO produces a determination upstream of all of that, with the reasoning chain inspectable triple by triple.
+You want to know that immediately, not a year in, after the time's already sunk and you've built around the wrong answer.
-Open-source solo research project. Current encoding covers Annex III 1(a) (remote biometric identification) and 5(b) (creditworthiness evaluation); the encoded interpretation has not been externally reviewed by counsel; not a deployable compliance product.
+And you can't put it all on the lawyers. Not because they're wrong, but because they're expensive, you can't get one on every design decision, and even a good one doesn't know your system the way you do, so what comes back is slow and hedged. What you need first is a way to walk your boss, or the regulator, down the line: here is why this lands where it lands, and here is the reason behind every step. Something you can point at and defend. Bring counsel in after that and you're handing them a clean starting point instead of paying them to take your system apart from scratch.
+
+ARCO is a working proof that a tool like this can be built and trusted. You give it a structured description of a system: what the hardware can really do, what it's meant to be used for, who its decisions land on. It works out whether that meets the conditions for a high-risk category, and it shows the whole chain of reasoning that got there, so anyone who doubts the answer can walk back through it and point at the exact step they'd argue with. Same description in, same answer out, every time, and because it runs on fixed logic instead of a model's guess, anyone can re-run it and get the same result. The part that would turn it into a tool a compliance team could pick up, taking a plain vendor document and producing that structured description without an expert in the loop, is the next piece of work and is not done yet.
+
+Underneath, ARCO runs on a formal foundation called BFO. It's an international standard (ISO/IEC 21838-2), and it's the shared base under hundreds of other projects, from biology to defense. What that buys you in plain terms: the words mean one fixed thing every time, so the answer tracks what your system actually is, not how the paperwork happens to be worded.
+
+And it reaches past this one law. What ARCO checks is always the same three things: what a system can do, what it's for, and who it affects. That's what rules tend to reach for wherever someone gets held responsible, so the same machine re-aims at other categories and other rulebooks. I've built it out for two of the EU's high-risk categories so far.
+
+The straight version: this is a solo open-source project. Two of the eight high-risk categories so far, no lawyer has signed off on the legal reading, and it's a working proof of the idea, not something to drop into a compliance team tomorrow. Everything it can't do is written down plainly in [LIMITATIONS.md](LIMITATIONS.md), on purpose.
[](https://github.com/Amosk21/ARCO/actions/workflows/arco-demo.yml) [](https://github.com/Amosk21/ARCO/actions/workflows/robot-validate.yml)
@@ -73,23 +81,33 @@ A separate flag (`HighRiskSystem`) fires from the capability gate alone. That fl
---
+## It's a pattern, not just this one demo
+
+ARCO does two EU categories right now, but the part doing the real work isn't tied to the EU at all. Every answer comes down to three things: what the system can do, what it's meant to be used for, and who's on the receiving end. That's the same three things rules reach for over and over, because it's how responsibility tends to work: who can do the thing, what they meant to do with it, and who it lands on.
+
+Once those three are written down as something a reasoner can work over, you can point it somewhere else. The same setup that checks a credit model has the shape to check a hiring tool, or a system that decides who gets seen first in an emergency room. Different details, same skeleton. So adding a category is mostly filling in the specifics, not rebuilding the machine.
+
+One thing I want to be straight about, because it's the flip side of the same coin. Something flexible enough to re-aim across all those areas is flexible enough to be aimed at things I wouldn't sign off on, like profiling people at scale. There's no mechanism in the code that can stop that. Keeping ARCO pointed where it's pointed is a line I hold, not a lock I built, and I'd rather say that out loud than pretend the flexibility only cuts one way. The full disclosure is in [LIMITATIONS.md](LIMITATIONS.md) §12.
+
+---
+
## What ARCO describes
> *Items marked with (\*) are work-in-progress: a modeling discipline articulated in the technical core but not yet exercised in fixtures, or a pending modeling decision with a clear path forward. Tracked in ARCO's internal working register.*
A system is a real physical thing. Its hardware components bear capabilities, which are actual physical properties of the hardware. A face-recognition module bears the capability to do biometric identification because of its hardware. The capability exists because of the hardware's physical structure. It is there whether the system is running or sitting idle.
-Software running on the hardware is treated as information content (a Generically Dependent Continuant per BFO 2020, `bfo:0000031`). The software generically depends on the hardware that runs it (`bfo:0000084 g-depends`); the hardware concretizes the software via an inscription quality (`bfo:0000058 is_concretized_by`); and the hardware is what bears the capability disposition. (\*) The software-hardware concretization layer is articulated as discipline in `ARCO_core.ttl:126-130` but is not yet exercised in any fixture; the hardware-software amalgam is disclosed as a deliberate simplification at `LIMITATIONS.md §3.5`.
+Software running on the hardware is treated as information content (a Generically Dependent Continuant per BFO 2020, `bfo:0000031`). The software generically depends on the hardware that runs it (`bfo:0000084 g-depends`); the hardware concretizes the software via an inscription quality (`bfo:0000058 is_concretized_by`); and the hardware is what bears the capability disposition. (\*) The software-hardware concretization layer is articulated as discipline in `ARCO_core.ttl:181-185` but is not yet exercised in any fixture; the hardware-software amalgam is disclosed as a deliberate simplification at `LIMITATIONS.md §3.5`.
Separately, there are documents about the system. The vendor writes an Intended Use Specification saying what the system is for. The vendor writes a Use Scenario Specification saying which role categories the system operates on. These are claims the provider makes about the system; they are typed as Information Content Entities (`iao:0000030`). They describe the system; they are not the system.
-EU AI Act Annex III applies when three commitments come together:
+ARCO's encoding concludes a system is Annex III applicable when three commitments come together:
-1. The system's hardware bears a regulated capability.
+1. The system's hardware bears a regulated capability. (\*) This first gate is ARCO's design-time evidential addition: the Act's own Annex III trigger is the documented intended purpose carried by gates 2 and 3, so a description with documented regulated intent but no reviewed capability commitment is not entailed — a deliberate strictness in the under-classification direction, disclosed in LIMITATIONS.
2. The vendor's intended use specification commits the system to a regulated process via the IUS subkind defined-class (`cco:prescribes someValuesFrom :Process`).
3. The use scenario specification designates the affected role category. For Annex III 1(a), this is natural persons. (\*) The relationship between this designated role and the system's process is pending tightening; the current axiom does not pin down whether natural persons are subjects of identification, operators of the system, or another role-in-context.
-When all three appear in a reviewed graph, the reasoner concludes "Annex III applicable." Two reasoners (OWL-RL rule-based, HermiT tableau-based / OWL 2 DL) cross-check the conclusion. A regulator can take the axioms and the input facts and re-derive the classification with any OWL reasoner. No Python line decides for them. (\*) The full entailment chain (around 20,000 entailed triples per run) is not yet exported in the published artifacts; surfacing the reasoned graph and HermiT classification output alongside the certificate is active work.
+When all three appear in a reviewed graph, the reasoner concludes "Annex III applicable." Two reasoners (OWL-RL rule-based, HermiT tableau-based / OWL 2 DL) cross-check the conclusion. A regulator can take the axioms and the input facts and re-derive the classification with any OWL reasoner. No Python line decides the entailment; the pipeline's output composition is Python, and it is audited separately. (\*) The full entailment chain (around 20,000 entailed triples per run) is not yet exported in the published artifacts; surfacing the reasoned graph and HermiT classification output alongside the certificate is active work.
Some pieces of the picture are kept partial on purpose:
@@ -110,9 +128,13 @@ The architectural detail (BFO 2020 grounding, the seven modeling buckets, how th
## Why the architecture matters
-The architecture grounds in BFO 2020 (ISO/IEC 21838-2:2021) and uses the seven-bucket BFO modeling discipline. Material entities, qualities, realizable entities, processes, immaterial entities, temporal regions, and information artifacts are the seven categories every model has to populate or honestly disclose a scope cut on. Bucket assignment for each modeled entity is canonical, not improvised. The BFO 2020 axioms live at `imports/bfo-2020.owl`; the seven-bucket discipline is operationalized in the diagrams at `docs/modeling_decisions/` and verified per-entity in `seven_buckets_status.md`.
+Two choices make a classification something you can prove, not just produce.
+
+First, it is reached by formal logic. The regulation's high-risk condition is written down as a definition, and a reasoner works out whether a system meets it. No line of code makes the call, so anyone with a standard reasoner can re-derive the result from the public definitions; the authority is the logic, not the pipeline.
+
+Second, the definitions are grounded in BFO 2020 (ISO/IEC 21838-2:2021) and the Common Core Ontologies, which commit to what things actually are rather than convenient labels. A capability is a real property of the hardware, present whether the system runs or not, so the classification follows what a system is rather than how it happens to be described, and the terms mean the same thing across organizations because they share a foundation. That grounding is what the seven-bucket BFO modeling discipline operationalizes: material entities, qualities, realizable entities, processes, immaterial entities, temporal regions, and information artifacts are the seven categories every model has to populate or honestly disclose a scope cut on, and bucket assignment for each modeled entity is canonical, not improvised. The BFO 2020 axioms live at `imports/bfo-2020.owl`; the seven-bucket discipline is laid out in the diagrams at `docs/modeling_decisions/`.
-**Reality and representation are kept separate.** Capabilities are physical: a hardware component bears them as BFO dispositions (`ARCO_core.ttl:74-87`). Intended uses, use scenarios, and compliance determinations are documentary: IAO information content entities about the system. The reasoner enforces the separation through BFO 2020 standard disjointness between Independent Continuant and Generically Dependent Continuant; the binding mechanism that catches category errors at materialization time is verified by `03_TECHNICAL_CORE/scripts/probe_disjointness_and_binding.py`.
+**Reality and representation are kept separate.** Capabilities are physical: a hardware component bears them as BFO dispositions (`ARCO_core.ttl:114-127`). Intended uses, use scenarios, and compliance determinations are documentary: IAO information content entities about the system. The reasoner enforces the separation through BFO 2020 standard disjointness between Independent Continuant and Generically Dependent Continuant; the binding mechanism that catches category errors at materialization time is verified by `03_TECHNICAL_CORE/scripts/probe_disjointness_and_binding.py`.
**Source documentation reaches the graph through human adjudication, not automated extraction.** Vendor documentation, intended-use specs, and technical evidence pass through a reviewed evidence ledger before becoming RDF commitments. Source documents generate descriptive ICE claims; promotion of a claim to a reality-side commitment is rare, conditional, and human-adjudicated. No automated extraction writes to instance TTL. The kiosk demo v1 (`docs/kiosk_demo_v1/`) is the first structural sketch of the evidence-ledger step; substituting a real vendor document for the current hypothetical packet and wiring the source-to-commitment chain programmatically is `OPEN_PROBLEMS.md L1.1` (no evidence ledger is yet programmatically backed for any fixture).
diff --git a/docs/MODELING_ROADMAP.md b/docs/MODELING_ROADMAP.md
index 299f743..a18177a 100644
--- a/docs/MODELING_ROADMAP.md
+++ b/docs/MODELING_ROADMAP.md
@@ -27,7 +27,7 @@ These are mechanical and the canon checks are done. Each has one precondition I
| PR | What it does | Precondition |
|---|---|---|
| **L2.8** | Renames `:CapabilityDisposition` to `:Capability` across 22 occurrences in 7 files. The parent stays at `bfo:0000016` Disposition (per X.11 and the formal capability definition in the Capabilities paper §4.2). I'm not adopting abi's `bfo:0000017` Realizable parent; abi is internally inconsistent on that point. | Sentinel-ID Invariant 7 forbids class deletes. The rename has to bridge via `owl:equivalentClass` for one cycle, not delete-and-rename. I want to verify the bridge step before shipping. |
-| **X.12** | Documents the `cco:designates owl:hasValue` punning chain in `docs/agent/modeling_rules.md` and adds cross-reference comments at `ARCO_governance_extension.ttl:446-453, 532-535`. | None. The canon chain is verified. |
+| **X.12** | Documents the `cco:designates owl:hasValue` punning chain in `docs/agent/modeling_rules.md` and adds cross-reference comments at `ARCO_governance_extension.ttl:534-539, 623-626`. | None. The canon chain is verified. |
| **L3.4** | Replaces the Python `gate3_ok = bool(uss_uri)` predicate (`run_pipeline.py:819` and `:2069`) with a SPARQL ASK that mirrors the OWL axiom (caller-bound `?expected_role`). Adds a false-positive fixture (USS designates a non-`:NaturalPersonRole`) for regression. | Pair with L3.2 parameterization so the same predicate works across categories. |
### Modeling questions I checked and confirmed don't block
@@ -36,10 +36,10 @@ I had five modeling decisions queued under a "Foundation Map" precondition that
| Row | Where it actually stands |
|---|---|
-| **L2.6** Capability Interest hookup | Wish-list. The chain test passes without it. The candidate property `cco:has_interest_in` couldn't be the answer in any case: its range is `bfo:Process`, not Disposition (`runs/scratch/cco-v1.7/CommonCoreOntologiesMerged.ttl:1350-1353`). |
-| **L2.7** Aboutness target shape | Presentational. Classification doesn't depend on which option I pick. Partial C-multi is already shipped at the universal layer (`ARCO_instances_sentinel.ttl:23-28`, `ARCO_instances_creditscoring.ttl:39-41`). The particular-system layer needs an explicit B vs C-multi decision before I move the row; until I make that pick, the row should sit at `DISCLOSED-PENDING-CHOICE`. |
+| **L2.6** Capability Interest hookup | Non-blocking; the chain test passes without the interest hookup. The canonical relation is `cco:has_interest_in` (Agent -> Process, `runs/scratch/cco-v1.7/CommonCoreOntologiesMerged.ttl:1349-1361`), which matches the Capabilities paper: the interest holds toward the realization (a process), not toward the disposition, so range `Process` is the intended shape, not a defect. The open question is the modeling choice (relation-only vs minting an Interest Quality), not whether the property works. |
+| **L2.7** Aboutness target shape | Does not change classification outcomes, but it is a real realist choice (what the regulatory ICE is about), not mere presentation. Partial C-multi already ships at the universal layer: each condition ICE is `iao:is_about` the capability, process, and role universals (`ARCO_governance_extension.ttl:175-189`; the triples moved here from the instance files on 2026-05-14). The open piece is the particular-system layer (B vs C-multi); until I pick, the row sits at `DISCLOSED-PENDING-CHOICE`. |
| **L2.9** Gate 3 role specification | Wish-list. No fixture currently misclassifies on the existing axiom. |
-| **L2.10** Gate 2 use-purpose proxy | I had this framed wrong. `cco:prescribes` (`cco_bot.owl:541-551`, domain `DirectiveInformationContentEntity`) is the canonical CCO directive-intentionality property. It's not a "loose proxy" for something better; it is the thing. The row collapses to a documentation update. |
+| **L2.10** Gate 2 use-purpose proxy | I had this framed wrong. `cco:prescribes` (`cco_bot.owl:435-444`, domain `DirectiveInformationContentEntity`) is the canonical CCO directive-intentionality property, and `:IntendedUseSpecification` already carries it (`ARCO_governance_extension.ttl:282-287`). It's not a "loose proxy" for something better; it is the thing. The row collapses to a documentation update. |
| **L2.2** ICE bearer property choice | Defers to L1.1 (the kiosk evidence ledger). The lesson from the reverted commit was source-warrant discipline, not the property choice. The candidate I was leaning on, `cco:is_tokenized_by`, is also wrong on its own terms: it's declared `owl:AnnotationProperty` (`runs/scratch/cco-v1.7/CommonCoreOntologiesMerged.ttl:193-196`), so it doesn't participate in OWL reasoning. It's also not present in the pinned slim module. |
### Modeling evidence work
diff --git a/docs/kiosk_demo_v1/kiosk_demo.md b/docs/kiosk_demo_v1/kiosk_demo.md
index 288c8f7..48a90fb 100644
--- a/docs/kiosk_demo_v1/kiosk_demo.md
+++ b/docs/kiosk_demo_v1/kiosk_demo.md
@@ -94,7 +94,7 @@ Reality side: a `:System` with a `:HardwareComponent` part bearing a `:Biometric
Information side: an `:IntendedUseSpecification` (typed Directive ICE) prescribing a `:BiometricVerificationProcess` token; a `:UseScenarioSpecification` (typed Designative ICE) designating `:NaturalPersonRole`; an `:AssessmentDocumentation` ICE; a `:ProviderOrganization` with a `:ProviderRole`.
-(\*) **Software-hardware concretization layer not exercised in this fixture.** The discipline is articulated at `ARCO_core.ttl:126-130` (software is `iao:0000030` ICE; hardware concretizes via `bfo:0000058`); the fixture does not mint software particulars or assert concretization triples. The hardware-software amalgam is disclosed at `LIMITATIONS.md §3.5`.
+(\*) **Software-hardware concretization layer not exercised in this fixture.** The discipline is articulated at `ARCO_core.ttl:181-185` (software is `iao:0000030` ICE; hardware concretizes via `bfo:0000058`); the fixture does not mint software particulars or assert concretization triples. The hardware-software amalgam is disclosed at `LIMITATIONS.md §3.5`.
## Step 4: Reasoning (REAL)
diff --git a/docs/legal/eu_ai_act_kernel.md b/docs/legal/eu_ai_act_kernel.md
new file mode 100644
index 0000000..66489dc
--- /dev/null
+++ b/docs/legal/eu_ai_act_kernel.md
@@ -0,0 +1,160 @@
+# EU AI Act Kernel — pinned legal text for every provision ARCO cites
+
+**Regulation (EU) 2024/1689 (Artificial Intelligence Act), adopted text of 13 June 2024.**
+CELEX: 32024R1689 — https://eur-lex.europa.eu/eli/reg/2024/1689/oj
+
+**Rule (the Invariant-13 analog for legal text):** no EU AI Act quotation, provision name, or provision-content claim enters ARCO TTL, Python, SPARQL, or docs unless it grep-matches this kernel (verbatim blocks) or is explicitly cited as one of the labeled summaries below. Quoting from memory, from the 2021 Commission proposal, or from secondary sources is the legal-text equivalent of a wrong-version IRI. The "micro-enterprise exclusion" defect (a 2021-proposal provision carried into committed TTL as if it were adopted 5(b) text, removed 2026-06-10) is the precedent this rule exists to prevent.
+
+**Verbatim provenance:** blocks marked VERBATIM are copied from a full-text capture of the adopted Regulation held in the project's local audit archive (`runs/audits/2026-05-14_eu_ai_act_full_text.md`; not tracked in the public repository) or, where noted, from in-repo constants independently re-verified verbatim against the adopted text during the 2026-06-10 audit's legal re-fetch pass. Blocks marked SUMMARY are accurate structural summaries verified against the adopted Regulation by that same re-fetch pass but are NOT verbatim — do not quote them as the Act's words. Replacing each SUMMARY with EUR-Lex verbatim is the open tail of register row X.18.
+
+---
+
+## Article 3 — Definitions
+
+### Article 3(34) — biometric data [VERBATIM]
+
+> 'biometric data' means personal data resulting from specific technical processing relating to the physical, physiological or behavioural characteristics of a natural person, such as facial images or dactyloscopic data;
+
+### Article 3(35) — biometric identification [VERBATIM]
+
+> 'biometric identification' means the automated recognition of physical, physiological, behavioural, or psychological human features for the purpose of establishing the identity of a natural person by comparing biometric data of that individual to biometric data of individuals stored in a database;
+
+### Article 3(36) — biometric verification [VERBATIM]
+
+> 'biometric verification' means the automated, one-to-one verification, including authentication, of the identity of natural persons by comparing their biometric data to previously provided biometric data;
+
+Note: 3(36) is the clean 1:1 definition. It does NOT carry the "intended to be used" framing — that framing lives in Recitals 15/17 and the Annex III 1(a) carve-out.
+
+### Article 3(41) — remote biometric identification system [VERBATIM]
+
+> 'remote biometric identification system' means an AI system for the purpose of identifying natural persons, without their active involvement, typically at a distance through the comparison of a person's biometric data with the biometric data contained in a reference database;
+
+### Article 3(42) — real-time remote biometric identification system [VERBATIM]
+
+> 'real-time remote biometric identification system' means a remote biometric identification system, whereby the capturing of biometric data, the comparison and the identification all occur without a significant delay, comprising not only instant identification, but also limited short delays in order to avoid circumvention;
+
+### Article 3(43) — post-remote biometric identification system [VERBATIM]
+
+> 'post-remote biometric identification system' means a remote biometric identification system other than a real-time remote biometric identification system;
+
+Note: 3(42)/(43) define SYSTEMS; ARCO's Process-subclass translation is disclosed at LIMITATIONS §3.7.c.
+
+### Article 3(1) — AI system [SUMMARY — verbatim import pending]
+
+Defines "AI system" as a machine-based system designed to operate with varying levels of autonomy, that may exhibit adaptiveness after deployment, and that infers from inputs how to generate outputs (predictions, content, recommendations, decisions) that can influence physical or virtual environments. Recital 12 excludes simpler traditional software and rule-based systems whose behavior is fully specified by humans. ARCO does NOT evaluate this threshold (LIMITATIONS §1, §2).
+
+### Article 3(12) — intended purpose [SUMMARY — verbatim import pending]
+
+The use for which an AI system is intended by the provider, including the specific context and conditions of use, as specified in the information supplied by the provider in the instructions for use, promotional or sales materials and statements, and in the technical documentation. Anchors ARCO's `:IntendedUseSpecification` (gov:278-292).
+
+### Article 3(13) — reasonably foreseeable misuse [SUMMARY — verbatim import pending]
+
+Use of an AI system in a way not in accordance with its intended purpose but which may result from reasonably foreseeable human behaviour or interaction with other systems. NOT modeled by ARCO (LIMITATIONS §2 non-goal).
+
+---
+
+## Article 6 — Classification rules for high-risk AI systems
+
+### Article 6(1) [SUMMARY — verbatim import pending]
+
+First high-risk route, independent of Annex III: an AI system is high-risk where (a) it is a safety component of a product, or is itself a product, covered by the Union harmonisation legislation listed in Annex I, AND (b) that product is required to undergo third-party conformity assessment under that legislation. **ARCO does not model this route** (LIMITATIONS §2); ARCO's `regime` strings must say "Article 6(2) / Annex III", not bare "Article 6".
+
+### Article 6(2) [VERBATIM FRAGMENT — provenance: 2026-06-10 audit legal gap-fill re-fetch of the adopted Regulation; not contained in the in-repo capture]
+
+> "AI systems referred to in Annex III shall be considered to be high-risk"
+
+(in addition to the 6(1) systems). This is the route ARCO encodes.
+
+### Article 6(3) [SUMMARY — verbatim import pending]
+
+Derogation: an Annex III system shall not be considered high-risk where it does not pose a significant risk of harm to the health, safety or fundamental rights of natural persons, including by not materially influencing the outcome of decision making — where the system (a) performs a narrow procedural task; (b) improves the result of a previously completed human activity; (c) detects decision-making patterns or deviations without replacing or influencing the human assessment; or (d) performs a preparatory task. **Override: an Annex III system that performs profiling of natural persons is ALWAYS considered high-risk** (no derogation available). ARCO surfaces `:DerogationClaim` artifacts for human review and does not evaluate validity; the profiling override is not separately modeled (LIMITATIONS §2).
+
+### Article 6(4) [SUMMARY — verbatim import pending]
+
+A provider who considers an Annex III system not high-risk under 6(3) shall document its assessment before placing on the market / putting into service, and shall register the system per Article 49(2). Not modeled or surfaced by ARCO.
+
+---
+
+## Article 25 — Responsibilities along the AI value chain [SUMMARY — verbatim import pending]
+
+A distributor, importer, deployer or other third party is considered a provider of a high-risk system (taking on provider obligations) where they put their name or trademark on it, make a substantial modification to it, or modify its intended purpose such that it becomes high-risk. Not modeled by ARCO (LIMITATIONS §6); the deployer-modifies-system case is stress case 6 of the 2026-06-10 audit.
+
+---
+
+## Article 43 — Conformity assessment
+
+### Article 43(1) [SUMMARY with VERBATIM FRAGMENTS — fragment provenance: 2026-06-10 audit legal gap-fill re-fetch; not contained in the in-repo capture; full verbatim import pending]
+
+For high-risk systems listed in Annex III point 1 (biometrics): where the provider has applied harmonised standards (Article 40) or, where applicable, common specifications (Article 41), the provider shall OPT for one of:
+
+> "(a) the internal control referred to in Annex VI; or (b) the assessment of the quality management system and the assessment of the technical documentation, with the involvement of a notified body, referred to in Annex VII."
+
+The notified-body route is mandatory only where harmonised standards do not exist / were not (fully) applied / common specifications are unavailable. **Notified-body involvement for Annex III point 1 systems is therefore CONDITIONAL, not automatic** — the unconditional certificate sentence corrected 2026-06-10 (`run_pipeline.py:1378`) is the precedent.
+
+### Article 43(2) [VERBATIM FRAGMENT — provenance: 2026-06-10 audit legal gap-fill re-fetch of the adopted Regulation; not contained in the in-repo capture]
+
+For high-risk systems in Annex III points 2-8:
+
+> "providers shall follow the conformity assessment procedure based on internal control as referred to in Annex VI, which does not provide for the involvement of a notified body."
+
+---
+
+## Annex III — High-risk AI systems referred to in Article 6(2)
+
+### Chapeau + category 1 [VERBATIM]
+
+> High-risk AI systems pursuant to Article 6(2) are the AI systems listed in any of the following areas:
+>
+> 1. Biometrics, in so far as their use is permitted under relevant Union or national law:
+>
+> (a) remote biometric identification systems.
+> This shall not include AI systems intended to be used for biometric verification the sole purpose of which is to confirm that a specific natural person is the person he or she claims to be;
+>
+> (b) AI systems intended to be used for biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics;
+>
+> (c) AI systems intended to be used for emotion recognition.
+
+Notes: the category-1 chapeau conditionality ("in so far as their use is permitted…") is not modeled or surfaced by ARCO (LIMITATIONS §2). Adopted 1(a)'s operative subject is "remote biometric identification systems" — purpose-keyed via Article 3(41), NOT via the "AI systems intended to be used for…" template; do not paraphrase 1(a) into that template (the `generate_walkthrough.py` defect corrected 2026-06-10).
+
+### Point 5(b) [VERBATIM — provenance: verified verbatim against the adopted Regulation by the 2026-06-10 audit legal gap-fill agent; this kernel is the tracked carrier (the in-repo capture truncates Annex III items 2-8)]
+
+> AI systems intended to be used to evaluate the creditworthiness of natural persons or establish their credit score, with the exception of AI systems used for the purpose of detecting financial fraud.
+
+Note: the fraud-detection carve-out is the ONLY exception clause in adopted 5(b). There is no micro-enterprise exclusion in the adopted text (2021-proposal remnant; scrubbed from the repo 2026-06-10).
+
+---
+
+## Recitals (biometrics)
+
+### Recital 15 (excerpt) [VERBATIM]
+
+> This excludes AI systems intended to be used for biometric verification, which includes authentication, whose sole purpose is to confirm that a specific natural person is the person he or she claims to be and to confirm the identity of a natural person for the sole purpose of having access to a service, unlocking a device or having security access to premises.
+
+### Recital 17 (excerpts) [VERBATIM]
+
+> The notion of 'remote biometric identification system' referred to in this Regulation should be defined functionally, as an AI system intended for the identification of natural persons without their active involvement, typically at a distance, through the comparison of a person's biometric data with the biometric data contained in a reference database, irrespectively of the particular technology, processes or types of biometric data used.
+
+> This excludes AI systems intended to be used for biometric verification, which includes authentication, the sole purpose of which is to confirm that a specific natural person is the person he or she claims to be and to confirm the identity of a natural person for the sole purpose of having access to a service, unlocking a device or having security access to premises. That exclusion is justified by the fact that such systems are likely to have a minor impact on fundamental rights of natural persons compared to the remote biometric identification systems which may be used for the processing of the biometric data of a large number of persons without their active involvement.
+
+### Recital 22 — what it is actually about [VERBATIM EXCERPT]
+
+> In light of their digital nature, certain AI systems should fall within the scope of this Regulation even when they are not placed on the market, put into service, or used in the Union.
+
+Recital 22 concerns EXTRATERRITORIAL SCOPE (third-country operators whose AI output is used in the Union). It is NOT a basis for the biometric verification carve-out; citing it for the carve-out was a recurring miscitation corrected in the 2026-05-14 citation audit.
+
+---
+
+## Where each provision is load-bearing in ARCO
+
+| Provision | ARCO surface |
+|---|---|
+| Art 3(35) | `:BiometricIdentificationProcess` genus (gov:337-341) |
+| Art 3(36) | `:BiometricVerificationProcess` / `:BiometricVerificationCapability` carve-out classes |
+| Art 3(41) | `:RemoteBiometricIdentificationProcess` (Gate 2 target, 1(a)) |
+| Art 3(42)/(43) | real-time/post subclasses + disjointness (gov:349-379) |
+| Annex III 1(a) | `:AnnexIII1aApplicableSystem`, `:AnnexIII_Condition_1a` |
+| Annex III 5(b) | `:AnnexIII5bApplicableSystem`, `:AnnexIII_Condition_5b`, fraud flag |
+| Art 6(2) | `:HighRiskSystem` regime framing; certificate REGIME line |
+| Art 6(3) | `:DerogationClaim` + `flag_derogation_candidate.sparql` (flag only) |
+| Art 43(1)/(2) | certificate obligations panel (static text) |
+| Art 3(12) | `:IntendedUseSpecification` definition |
diff --git a/docs/modeling_decisions/decisions_justification_map.md b/docs/modeling_decisions/decisions_justification_map.md
index d75dc14..2a5a70c 100644
--- a/docs/modeling_decisions/decisions_justification_map.md
+++ b/docs/modeling_decisions/decisions_justification_map.md
@@ -4,7 +4,7 @@
Every modeling decision in ARCO is open to challenge with traceable evidence (the Fallibilism conviction). A reader who wants to challenge a decision should be able to walk to the file, line, or canon citation that defends it. This map is that walk: each load-bearing decision, the plain-English rationale, and the canonical anchor it rests on.
-The map is tested against the same accuracy bar as the three diagram files in this folder. Where a decision rests on multiple anchors, all are listed.
+The map is tested against the same accuracy bar as the three diagram files in this folder. Where a decision rests on multiple anchors, all are listed. TTL line anchors were re-verified 2026-05-26 against the working tree after the X.13 annotation pass; `LIMITATIONS.md` section anchors were not re-checked in that pass, and the governance anchors below line 385 (S5, S7, I3, I4) will shift again when the queued X.14 pass lands.
## How to use this map
@@ -30,7 +30,7 @@ The hardware bears a capability disposition whether or not the disposition is cu
ARCO targets the latent capability the bearer's physical make-up grounds, regardless of whether the make-up was designed for that purpose. Function is a disposition-subkind whose physical make-up exists *for that purpose*; typing capability as Function would narrow ARCO out of the latent case (a hardware that physically grounds biometric capacity without being designed-for-it would not bear a Function but does bear a Disposition).
-**Anchor**: `ARCO_core.ttl:26-38` (rationale comment, post-X.11 fix); BFO 2020 [064-001] Function elucidation at `bfo-2020.owl:1326-1327`.
+**Anchor**: `ARCO_core.ttl:124-127` (`:CapabilityDisposition ⊑ bfo:0000016` declaration; rationale comment at `:28`); BFO 2020 [064-001] Function elucidation at `bfo-2020.owl:1326-1327`.
**Why it matters**: Disposition admits both latent-only capacities AND designed-for functions as subkinds. Function would exclude the latent case. Terminal choice, not deferred upgrade.
@@ -70,7 +70,7 @@ Adding participant facts, temporal regions, sites, or role-bearer particulars to
ARCO uses readable v1.7 IRIs (`cco:Person`, `cco:InformationBearingEntity`, `cco:designates`). The post-v1.7 release line (CCO v2.0-2024-11-06 introduced the namespace migration; current upstream is v2.1-2026-04-04) switched to ont-numbered IRIs (`cco:ont00000016`, `cco:ont00000253`, `cco:ont00001017`, etc.) under the new canonical namespace `https://www.commoncoreontologies.org/`. ARCO does NOT import this v2.x line. Canon-checks against the wrong version's IRIs are a canon hallucination of the same shape as wrong-direction BFO predicates.
-**Anchor**: `ARCO_governance_extension.ttl:15` (CCO version pin in `owl:versionInfo` comment); the CCO v1.7-2024-11-03 readable-IRI pin governs all CCO references in ARCO TTL.
+**Anchor**: `ARCO_governance_extension.ttl:16` (CCO version pin in `owl:versionInfo`); the CCO v1.7-2024-11-03 readable-IRI pin governs all CCO references in ARCO TTL.
**Why it matters**: Cross-references between ARCO and external work (abi, Tradecraft, both of which track the v2.x line) fail silently if the version isn't pinned and tracked explicitly. The pin is deliberate (stay-on-v1.7 preserves namespace stability across ARCO instance fixtures); migration to v2.x is future work that activates only on an external constraint (real source document references v2.x classes, partner standardizes on v2.x, or v1.7 falls out of upstream tooling support).
@@ -111,15 +111,33 @@ The capability disposition is located on a `SystemComponent`, not on the `System
There is no mind-independent property shared by all "triggering capabilities" in reality. What makes a capability "triggering" is the legal text of Annex III. ARCO models this as a defined class whose extension is fixed by `owl:unionOf` over the listed member capability classes. Each member IS a real BFO disposition (subclass of `:CapabilityDisposition`); the grouping is by extrinsic regulatory criterion under Article 6.
-**Anchor**: `ARCO_governance_extension.ttl:180-190` (class declaration + rdfs:comment); `LIMITATIONS.md §3.2` (regulatory grouping disclosure).
+**Anchor**: `ARCO_governance_extension.ttl:219-232` (class declaration + rdfs:comment + owl:unionOf); `LIMITATIONS.md §3.2` (regulatory grouping disclosure).
**Why it matters**: Treating the grouping as a primitive subsumption would be Realism conviction failure: there is no real shared property to subsume by. The fiat partition model (cut + bearer + consequence per Smith/Varzi) is the BFO-defensible move when membership is institutional, not natural.
+### S3a. Regulatory fiat-boundary annotation pattern (machine-readable provenance)
+
+Building on S3's fiat-partition framing, ARCO marks regulatory fiat boundaries with machine-readable annotations rather than only prose. Each regulatory universal carries `:hasRegulatoryBasis` (a subproperty of both `cco:doctrinal_source` and `cco:definition_source`) with two values per class: a human-readable citation as `@en` literal and the EUR-Lex CELEX URI as `xsd:anyURI`. Full CCO v1.7 declares `cco:doctrinal_source` as a subproperty of `cco:definition_source`; ARCO states both parent links locally because the BOT slim extraction does not preserve that annotation-property hierarchy. Each class also carries `skos:scopeNote` with the fiat-extension prose. The same pattern applies via OWL Axiom reification to two disjointness axioms: capability identification vs verification (`ARCO_core.ttl`) and real-time vs post remote biometric identification process (`ARCO_governance_extension.ttl`).
+
+Smith-Varzi (2000) is used analogically. The original distinction targets spatial boundaries (the line between Kansas and Colorado, the surface of an organism). ARCO borrows the methodological pattern (partition by extrinsic regulatory criterion rather than natural joint; cut + bearer + consequence) and applies it to regulatory extension partitions over universals. The analogy is disclosed explicitly here so a reader does not assume ARCO is literally minting BFO `Continuant Fiat Boundary` instances.
+
+Working-precedent note (2026-05-24): no direct working-code precedent was found in the CCO-aligned reference implementations surveyed or in IOF Core for this exact regulatory-fiat-universal annotation pattern. IOF Core verifies the broader documentary-ICE pattern for specifications, agreements, plans, and objectives; it does not verify this specific regulatory-fiat labeling move. ARCO therefore defends S3a on Smith-Varzi theoretical grounding, canonical CCO citation predicates, and the four-conviction check, not on a claim that existing reference implementations already use the exact pattern.
+
+`:hasRegulatoryBasis` is minted as a narrow annotation-only exception to Invariant 6 (no custom properties), documented at the property declaration in `ARCO_core.ttl`. The property does not participate in classification, object-property reasoning, or BFO relation modeling. It propagates only via OWL-RL subproperty closure as inferred `cco:doctrinal_source` triples and inferred `cco:definition_source` triples — CCO consumers querying either the sharper doctrinal-source predicate or the broader definition-source predicate find the regulatory citations transparently.
+
+Enforcement is review-based in this patch. SHACL shape requiring `:hasRegulatoryBasis` on every regulatory universal is deferred; a future contributor adding a new Annex III applicable-system class and forgetting the annotation will be caught only by code review until the SHACL gate lands.
+
+**Anchor**: `ARCO_core.ttl` (property mint + capability disjointness axiom annotation); `ARCO_governance_extension.ttl` (four-class annotations + process disjointness axiom annotation); `OPEN_PROBLEMS.md` X.13 (fix tracking row); `OPEN_PROBLEMS.md` X.14 (second-pass extension to `:NaturalPersonRole`, `:DerogationClaim`, `:FraudDetectionProcess`); Smith & Varzi, "Fiat and Bona Fide Boundaries" (2000), used analogically; "Against Idiosyncrasy in Ontology Development" Principle 1 (defer to canonical vocabulary — `cco:doctrinal_source` parent with upward closure to `cco:definition_source`) and Principle 5 (terminological moderation — only one custom annotation property, narrowly scoped).
+
+**Cross-references**: extends S3 (regulatory fiat partition); applies to S4 (`:HighRiskSystem` latent-flag annotation includes the pin-back scope-note "The class denotes systems bearing the triggering capability, not the act of flagging them"); applies to S7 (three-gate applicable-system classes); compatible with S5 (`cco:designates owl:hasValue` Gate 3 pattern — also a CCO-canonical annotation usage). Does NOT close L2.3 (file-header `dc:source` citation hygiene is a different shape).
+
+**Why it matters**: makes fiat-boundary status machine-queryable rather than buried in `rdfs:comment` prose. A reviewer querying for "what regulatory text grounds this class" gets a typed answer via the canonical CCO predicates. The pattern is reproducible across other regulatory domains (FDA SaMD, GDPR Article 22, NIST 800-53) without renegotiating the canonical vocabulary. Empirically verified: in-memory simulation across all seven fixtures showed `classification_same = True`; after the `cco:doctrinal_source` tightening, each fixture gains 12 inferred `cco:doctrinal_source` triples plus 12 inferred `cco:definition_source` triples via subproperty closure, with no classification class memberships changed.
+
### S4. `:HighRiskSystem` as Gate-1-only latent flag, NOT the legal high-risk category
Membership fires from Gate 1 alone (capability precondition): the system has a SystemComponent bearing a disposition belonging to `:AnnexIIITriggeringCapability`. This is a latent-risk indicator, not the EU AI Act legal high-risk classification. The full Annex III applicability requires all three gates and is captured by category-specific applicable-system classes (`:AnnexIII1aApplicableSystem`, `:AnnexIII5bApplicableSystem`).
-**Anchor**: `ARCO_governance_extension.ttl:199-221` (skos:definition + rdfs:comment); `LIMITATIONS.md §3.3` (latent-flag disclosure); `ARCO_core.ttl:148-152` `:HighRiskDetermination` skos:definition (which records either kind of entailment).
+**Anchor**: `ARCO_governance_extension.ttl:241-266` (skos:definition + rdfs:comment + equivalentClass); `LIMITATIONS.md §3.3` (latent-flag disclosure); `ARCO_core.ttl:203-207` `:HighRiskDetermination` skos:definition (which records either kind of entailment).
**Why it matters**: The IRI `:HighRiskSystem` is retained for backward compatibility with downstream consumers, but the rdfs:label is "Annex III Capability-Precondition Flag" to reflect what the axiom actually entails. The certificate's PRIMARY (three-gate) vs LATENT-RISK FLAG (Gate-1 only) split is what makes this honest at the output layer.
@@ -127,7 +145,7 @@ Membership fires from Gate 1 alone (capability precondition): the system has a S
Gate 3 references the role universal at the class-IRI level via `cco:designates owl:hasValue`. BFO Roles are bearer-dependent specifically dependent continuants requiring `ro:0000052` to an independent continuant. ARCO does not mint role-bearer particulars without source warrant; the designation pattern lets the gate reference the role category by its class IRI without inventing a bearer-less role token.
-**Anchor**: `ARCO_governance_extension.ttl:446-466` (inline rationale block within the Gate 3 axiom); `LIMITATIONS.md §3.1` (Gate 3 role-category encoding via universal-designation, not bearer-less role token).
+**Anchor**: `ARCO_governance_extension.ttl:534-554` (inline rationale block within the 1(a) Gate 3 axiom restriction); `LIMITATIONS.md §3.1` (Gate 3 role-category encoding via universal-designation, not bearer-less role token).
**Why it matters**: `cco:designates` is a typed designation property whose range admits universals (`bfo:0000001 Entity`). Using it with `owl:hasValue` references the role universal directly. This is the canonical CCO usage for designation by inscription (a URL designates a Web Page; a name designates a person), not informal class-as-individual punning, and avoids fake-witness role tokens.
@@ -135,7 +153,7 @@ Gate 3 references the role universal at the class-IRI level via `cco:designates
ARCO commits RO's `characteristic_of` as a specialization of BFO 2020's `inheres_in` so the reasoner inherits BFO's IndependentContinuant range on the inferred inherence triple. RO removed the range to support qualities-of-processes and inherence in ICE; ARCO doesn't model those cases. Bounded enforcement: catches wrong-typed bearer only when typed as a disjoint sibling of IC.
-**Anchor**: `ARCO_core.ttl:193-194` (the binding + rdfs:comment); `LIMITATIONS.md §3.8` (line 149+).
+**Anchor**: `ARCO_core.ttl:248-249` (the binding + rdfs:comment); `LIMITATIONS.md §3.8` (line 149+).
**Why it matters**: The binding is hub-and-spoke discipline applied at the property level: using RO's relation for assertions while inheriting BFO's stricter range for reasoning. The mirror direction (`ro:0000053 → bfo:0000196`, the bearer-of side) is NOT yet bound; the parallel-binding work is the next bridging step.
@@ -143,10 +161,20 @@ ARCO commits RO's `characteristic_of` as a specialization of BFO 2020's `inheres
`:AnnexIII1aApplicableSystem` and `:AnnexIII5bApplicableSystem` are defined classes via `owl:equivalentClass owl:intersectionOf`. Three gates: Gate 1 (reality, capability disposition via component), Gate 2 (representation, IUS prescribes regulated process via subkind), Gate 3 (representation, USS designates affected role universal). Each gate is independently necessary; classification is OWL-entailed, not pattern-matched.
-**Anchor**: `ARCO_governance_extension.ttl:405-468` (1(a) full axiom); `ARCO_governance_extension.ttl:491-550` (5(b) parallel axiom); regression test `test_gate_removal.py` verifies gate independence; `docs/modeling_decisions/three_gate_classifier.md` (visual artifact).
+**Anchor**: `ARCO_governance_extension.ttl:490-556` (1(a) full axiom); `ARCO_governance_extension.ttl:579-641` (5(b) parallel axiom); regression test `test_gate_removal.py` verifies gate independence; `docs/modeling_decisions/three_gate_classifier.md` (visual artifact).
**Why it matters**: The three-gate factoring is what makes ARCO answer "does this system satisfy Annex III?" as a formal entailment. The IUS subkind factoring (Gate 2 via defined-class type-check rather than ad-hoc process-token typing) mirrors the CCO Specification family pattern. The Gate 3 universal-designation pattern (S5) is the bearer-less role move.
+### S8. ARCO ICEs are typed to the CCO three-D subtypes (Directive / Descriptive / Designative), not bare ICE
+
+Every ARCO information artifact is refined from `iao:0000030` (Information Content Entity) to one of CCO's three speech-act subtypes, rather than left as a bare ICE. The regulation and the vendor's intended-use spec are **Directive** ICEs (they prescribe: world-to-word fit, a rule or guide for behavior): `:RegulatoryContent` and `:IntendedUseSpecification`. ARCO's own entailment records and the provider's claims are **Descriptive** ICEs (they report a state of affairs: word-to-world fit): `:InformationOutput`, `:ComplianceDetermination`, `:HighRiskDetermination` (via `:ComplianceDetermination`), `:DerogationClaim`. The use-scenario spec is a **Designative** ICE (it denotes the affected-role universal): `:UseScenarioSpecification`.
+
+Bare ICE would be correct but mute. The subtype does three things bare ICE cannot. (1) It states what the artifact actually is: a regulation is a rule that prescribes, not a description of how the world is. (2) It licenses `cco:prescribes` (domain `DirectiveICE`), the property carrying "the regulation prescribes the regulated process kind" and "the IUS prescribes the intended process"; using `cco:prescribes` entails the `DirectiveICE` type via the domain under OWL-RL regardless. (3) The three subtypes are pairwise disjoint, so the reasoner rejects any graph that types the regulation (a directive) as a determination (a descriptive), or vice versa. That makes F3's reality/representation cut enforceable at the finer grain of rule-vs-finding-vs-name, all within representation.
+
+**Anchor**: `ARCO_governance_extension.ttl:114-131` (three-D bridge declarations + the `:RegulatoryContent` / `:InformationOutput` / `:ComplianceDetermination` subtype mapping at 129-131); `:282` (`:IntendedUseSpecification ⊑ DirectiveICE`), `:328` (`:UseScenarioSpecification ⊑ DesignativeICE`), `:401` (`:DerogationClaim ⊑ DescriptiveICE`); `ARCO_core.ttl:187-207` (the ICE class declarations refined in governance); `cco_bot.owl:827-855` (three-D pairwise disjointness); `cco_bot.owl:437` (`cco:prescribes` domain `DirectiveICE`). The three-D taxonomy traces to Searle's illocutionary acts (directive = world-to-word; descriptive/assertive = word-to-world).
+
+**Why it matters**: bare ICE would let the rule and the finding be the same kind of thing, and would not support `cco:prescribes`. This typing keeps "the regulation that sets the rule" formally distinct from "the determination ARCO produced about a system," and it is what the Gate 2 `prescribes` mechanism (S7) rests on. Extends F3 (Reality ≠ Representation) with the within-representation cut; the same regulatory classes also carry the S3a `:hasRegulatoryBasis` provenance annotation.
+
---
## Instance-level discipline decisions
@@ -163,7 +191,7 @@ ARCO's fixtures mint typed process individuals to satisfy Gate 2's `owl:someValu
ARCO declares `:PostRemoteBiometricIdentificationProcess` and `:RealTimeRemoteBiometricIdentificationProcess` as subclasses of `:RemoteBiometricIdentificationProcess` for forward extensibility, but no fixture types into these subclasses. Article 5(1)(h) routing for real-time RBI (prohibited-practice classification) is not modeled. Under the current parent-class Gate 2, an IUS prescribing a real-time RBI particular would entail Annex III 1(a) applicability WITHOUT an Article 5 prohibition flag.
-**Anchor**: `ARCO_governance_extension.ttl:296-309` (subclass declarations); `LIMITATIONS.md §3.7.c` (real-time routing scoped future); rdfs:comment on `:RemoteBiometricIdentificationProcess` at line 293 carries the DISCLOSURE inline.
+**Anchor**: `ARCO_governance_extension.ttl:349-362` (subclass declarations); `LIMITATIONS.md §3.7.c` (real-time routing scoped future); rdfs:comment on `:RemoteBiometricIdentificationProcess` at line 338 carries the DISCLOSURE inline.
**Why it matters**: This is a deliberate scope-narrowing. The classifier produces correct Annex III 1(a) entailment for current scope; future deployer-context modeling (law-enforcement deployer, publicly-accessible-space deployment) would activate Article 5 routing as a separate layer.
@@ -171,7 +199,7 @@ ARCO declares `:PostRemoteBiometricIdentificationProcess` and `:RealTimeRemoteBi
`:DerogationClaim` is a Descriptive ICE representing a provider's claim that their system qualifies for the Article 6(3) derogation ("shall not be considered to be high-risk where it does not pose a significant risk of harm"). ARCO surfaces the claim in the audit layer (SPARQL flag) but does NOT evaluate validity. The ontology cannot evaluate whether a derogation claim is valid; that requires human legal judgment.
-**Anchor**: `ARCO_governance_extension.ttl:335-339` `:DerogationClaim` rdfs:comment; explicit "PROVIDER-ASSERTED ARTIFACT" warning; "NEVER use this class as a gate condition or in an equivalentClass axiom."
+**Anchor**: `ARCO_governance_extension.ttl:420-423` `:DerogationClaim` rdfs:comment; explicit "PROVIDER-ASSERTED ARTIFACT" warning; "NEVER use this class as a gate condition or in an equivalentClass axiom."
**Why it matters**: The derogation evaluation is outside what an ontology can do. ARCO's discipline is to surface the claim for human review, not to silently fold it into the classification. The class is used by the audit layer only and is explicitly forbidden from gate axioms.
@@ -179,7 +207,7 @@ ARCO declares `:PostRemoteBiometricIdentificationProcess` and `:RealTimeRemoteBi
Annex III 5(b) excludes "AI systems used for the purpose of detecting financial fraud" from creditworthiness applicability. ARCO's `:FraudDetectionProcess` class is used by the audit-layer SPARQL flag only; it does not participate in any OWL gate condition. The classification cannot be verified by the ontology; fraud-detection-as-primary-purpose is provider-declared.
-**Anchor**: `ARCO_governance_extension.ttl:329-333` rdfs:comment.
+**Anchor**: `ARCO_governance_extension.ttl:414-418` rdfs:comment.
**Why it matters**: Same pattern as I3. The ontology surfaces the relevant artifact for human review; the validity assessment is human judgment, not OWL entailment.
diff --git a/docs/modeling_decisions/three_gate_classifier.md b/docs/modeling_decisions/three_gate_classifier.md
index b9ba8ea..e86220a 100644
--- a/docs/modeling_decisions/three_gate_classifier.md
+++ b/docs/modeling_decisions/three_gate_classifier.md
@@ -17,27 +17,27 @@ flowchart TB
classDef negative fill:#fee2e2,stroke:#b91c1c,color:#450a0a
classDef output fill:#fce7f3,stroke:#9d174d,color:#3b0827
- SYS[":System root class
ARCO_core.ttl:48"]:::triggering
+ SYS[":System root class
ARCO_core.ttl:98"]:::triggering
- G1_GENERIC["Gate 1 GENERIC (Latent flag)
System bfo:0000051 (has_part) Component
AND Component ro:0000091 (has_disposition) AnnexIIITriggeringCapability
ARCO_governance_extension.ttl:203-221"]:::gate
+ G1_GENERIC["Gate 1 GENERIC (Latent flag)
System bfo:0000051 (has_part) Component
AND Component ro:0000091 (has_disposition) AnnexIIITriggeringCapability
ARCO_governance_extension.ttl:241-266"]:::gate
- G1_1a["Gate 1 specific to 1(a)
has_disposition some :BiometricIdentificationCapability
ARCO_governance_extension.ttl:427-431"]:::gate
+ G1_1a["Gate 1 specific to 1(a)
has_disposition some :BiometricIdentificationCapability
ARCO_governance_extension.ttl:509-521"]:::gate
- G1_5b["Gate 1 specific to 5(b)
has_disposition some :CreditworthinessEvaluationCapability
ARCO_governance_extension.ttl:513-517"]:::gate
+ G1_5b["Gate 1 specific to 5(b)
has_disposition some :CreditworthinessEvaluationCapability
ARCO_governance_extension.ttl:599-611"]:::gate
- G2_1a["Gate 2 specific to 1(a)
some IUS inverse iao:0000136 the System
AND IUS is a :RemoteBiometricIdentificationIntendedUseSpec
(class-level cco:prescribes someValuesFrom :RemoteBiometricIdentificationProcess)
ARCO_governance_extension.ttl:441-444, 254-262"]:::gate
+ G2_1a["Gate 2 specific to 1(a)
some IUS inverse iao:0000136 the System
AND IUS is a :RemoteBiometricIdentificationIntendedUseSpec
(class-level cco:prescribes someValuesFrom :RemoteBiometricIdentificationProcess)
ARCO_governance_extension.ttl:522-532, 294-307"]:::gate
- G2_5b["Gate 2 specific to 5(b)
some IUS inverse iao:0000136 the System
AND IUS is a :CreditworthinessEvaluationIntendedUseSpec
(class-level cco:prescribes someValuesFrom :CreditworthinessEvaluationProcess)
ARCO_governance_extension.ttl:527-530, 264-277"]:::gate
+ G2_5b["Gate 2 specific to 5(b)
some IUS inverse iao:0000136 the System
AND IUS is a :CreditworthinessEvaluationIntendedUseSpec
(class-level cco:prescribes someValuesFrom :CreditworthinessEvaluationProcess)
ARCO_governance_extension.ttl:612-621, 309-322"]:::gate
- G3["Gate 3 (shared by 1a and 5b)
some USS inverse iao:0000136 the System
AND USS cco:designates owl:hasValue :NaturalPersonRole
ARCO_governance_extension.ttl:454-466, 536-548"]:::gate
+ G3["Gate 3 (shared by 1a and 5b)
some USS inverse iao:0000136 the System
AND USS cco:designates owl:hasValue :NaturalPersonRole
ARCO_governance_extension.ttl:534-554, 623-639"]:::gate
- TRIG[":AnnexIIITriggeringCapability
(regulatory fiat partition)
owl:equivalentClass owl:unionOf
(:BiometricIdentificationCapability :CreditworthinessEvaluationCapability)
ARCO_governance_extension.ttl:180-190"]:::triggering
+ TRIG[":AnnexIIITriggeringCapability
(regulatory fiat partition)
owl:equivalentClass owl:unionOf
(:BiometricIdentificationCapability :CreditworthinessEvaluationCapability)
ARCO_governance_extension.ttl:219-232"]:::triggering
- CLS_1a[":AnnexIII1aApplicableSystem
(defined class, all three 1(a) gates)
ARCO_governance_extension.ttl:405-468"]:::class1a
+ CLS_1a[":AnnexIII1aApplicableSystem
(defined class, all three 1(a) gates)
ARCO_governance_extension.ttl:490-556"]:::class1a
- CLS_5b[":AnnexIII5bApplicableSystem
(defined class, all three 5(b) gates)
ARCO_governance_extension.ttl:491-550"]:::class5b
+ CLS_5b[":AnnexIII5bApplicableSystem
(defined class, all three 5(b) gates)
ARCO_governance_extension.ttl:579-641"]:::class5b
- HRS[":HighRiskSystem
(latent flag, Gate 1 generic only)
NOT the legal high-risk category
ARCO_governance_extension.ttl:199-221"]:::latent
+ HRS[":HighRiskSystem
(latent flag, Gate 1 generic only)
NOT the legal high-risk category
ARCO_governance_extension.ttl:241-266"]:::latent
PRI_OUT["PRIMARY ARCO classification
(category-specific applicability)
certificate field: primary_arco_classification
schema 1.3"]:::output
@@ -99,23 +99,23 @@ The certificate carries TWO distinct classification claims. They are not the sam
**LATENT-RISK FLAG** is `:HighRiskSystem` membership, entailed by Gate 1 alone: the system has a part bearing some triggering capability. This is the looser, capability-only signal. It fires on any system whose hardware bears identification OR creditworthiness capability, regardless of whether the intended-use or use-scenario gates are satisfied. The latent flag is NOT the legal high-risk classification; it is a "look harder here" signal grounded in the latent-disposition target ARCO names in its thesis.
-The bifurcation matters because Gate 1 is reality-side (the hardware physically grounds the capability) and Gates 2 and 3 are representation-side (provider intent and use scenario). ARCO's stated target is to surface latent dispositions at design time: Gate 1 alone surfaces the latent capability; the full three-gate axiom is what the regulation actually keys on for applicability.
+The bifurcation matters because Gate 1 is reality-side (the hardware physically grounds the capability) and Gates 2 and 3 are representation-side (provider intent and use scenario). ARCO's stated target is to surface latent dispositions at design time: Gate 1 alone surfaces the latent capability. Gates 2 and 3 carry the conditions the regulation keys on (documented intended use of a regulated process kind; affected natural persons); Gate 1 is ARCO's added design-time evidential gate, stricter than the Annex III text. The encoding therefore has a disclosed under-classification direction: a description with documented regulated intent but no asserted capability commitment is not entailed (see LIMITATIONS §3.9).
## Verification table
| Axiom or class | File and lines | Note |
|---|---|---|
-| `:AnnexIII1aApplicableSystem` (full defined class) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:405-468` | Three gates via `owl:intersectionOf` with `owl:equivalentClass` |
-| `:AnnexIII5bApplicableSystem` (full defined class) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:491-550` | Same shape as 1(a) with category-specific subclasses |
-| `:HighRiskSystem` (latent flag, Gate 1 generic only) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:199-221` | `owl:equivalentClass owl:intersectionOf` over `:System` and Gate-1-generic component restriction |
-| `:AnnexIIITriggeringCapability` (regulatory fiat union) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:180-190` | Defined class via `owl:unionOf` over named member capability classes |
-| `:BiometricIdentificationCapability` | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:89-93` | In triggering union; 1:N |
-| `:BiometricVerificationCapability` | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:95-99` | NOT in triggering union; 1:1 (why kiosk fixture is negative) |
-| `:CreditworthinessEvaluationCapability` | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:101-105` | In triggering union |
-| `:RemoteBiometricIdentificationIntendedUseSpec` (Gate 2 1(a) IUS subkind) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:249-262` | `owl:equivalentClass` with `cco:prescribes someValuesFrom :RemoteBiometricIdentificationProcess` |
-| `:CreditworthinessEvaluationIntendedUseSpec` (Gate 2 5(b) IUS subkind) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:264-277` | Same shape, category-specific |
-| Gate 3 `cco:designates owl:hasValue :NaturalPersonRole` pattern | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:454-466, 536-548` | Avoids bearer-less role token per `LIMITATIONS.md` §3.1 |
-| `:NaturalPersonRole` | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:323-327` | `cco:designates owl:hasValue` references the universal; no bearer particulars minted (L2.4 DISCLOSED) |
+| `:AnnexIII1aApplicableSystem` (full defined class) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:490-556` | Three gates via `owl:intersectionOf` with `owl:equivalentClass` |
+| `:AnnexIII5bApplicableSystem` (full defined class) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:579-641` | Same shape as 1(a) with category-specific subclasses |
+| `:HighRiskSystem` (latent flag, Gate 1 generic only) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:241-266` | `owl:equivalentClass owl:intersectionOf` over `:System` and Gate-1-generic component restriction |
+| `:AnnexIIITriggeringCapability` (regulatory fiat union) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:219-232` | Defined class via `owl:unionOf` over named member capability classes |
+| `:BiometricIdentificationCapability` | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:129-133` | In triggering union; 1:N |
+| `:BiometricVerificationCapability` | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:135-139` | NOT in triggering union; 1:1 (why kiosk fixture is negative) |
+| `:CreditworthinessEvaluationCapability` | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:141-145` | In triggering union |
+| `:RemoteBiometricIdentificationIntendedUseSpec` (Gate 2 1(a) IUS subkind) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:294-307` | `owl:equivalentClass` with `cco:prescribes someValuesFrom :RemoteBiometricIdentificationProcess` |
+| `:CreditworthinessEvaluationIntendedUseSpec` (Gate 2 5(b) IUS subkind) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:309-322` | Same shape, category-specific |
+| Gate 3 `cco:designates owl:hasValue :NaturalPersonRole` pattern | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:534-554, 623-639` | Avoids bearer-less role token per `LIMITATIONS.md` §3.1 |
+| `:NaturalPersonRole` | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:408-412` | `cco:designates owl:hasValue` references the universal; no bearer particulars minted (L2.4 DISCLOSED) |
| Fixture | OWL outcome under three-gate axiom | File |
|---|---|---|
@@ -127,7 +127,7 @@ The bifurcation matters because Gate 1 is reality-side (the hardware physically
## Why the disposition-not-function choice matters here
-The three-gate axiom uses `:CapabilityDisposition` (subclass of `bfo:0000016`) for the capability conjunct. If `:CapabilityDisposition` were instead typed under `bfo:0000034 (Function)`, Gate 1 would narrow to designed-for capabilities and exclude latent capacities that the hardware grounds without explicit design intent. Disposition is the correct parent class for the latent-capacity target ARCO surfaces; the rationale comment at `ARCO_core.ttl:26-38` cites the BFO 2020 [064-001] Function elucidation directly.
+The three-gate axiom uses `:CapabilityDisposition` (subclass of `bfo:0000016`) for the capability conjunct. If `:CapabilityDisposition` were instead typed under `bfo:0000034 (Function)`, Gate 1 would narrow to designed-for capabilities and exclude latent capacities that the hardware grounds without explicit design intent. Disposition is the correct parent class for the latent-capacity target ARCO surfaces; the rationale comment at `ARCO_core.ttl:28-40` cites the BFO 2020 [064-001] Function elucidation directly.
## What this diagram does NOT show
diff --git a/docs/modeling_decisions/value_chain.md b/docs/modeling_decisions/value_chain.md
index 24510f1..ee8caef 100644
--- a/docs/modeling_decisions/value_chain.md
+++ b/docs/modeling_decisions/value_chain.md
@@ -31,23 +31,23 @@ flowchart TB
LEDGER["Evidence ledger
human adjudicates source-text to triple
docs/kiosk_demo_v1/evidence_ledger.md"]:::human
subgraph REAL ["Reality side: POPULATED (BFO IC and SDC subkinds)"]
- SYS[":System ⊑ bfo:0000027
Sentinel, CreditScorer, Kiosk +3
ARCO_core.ttl:58"]:::reality
- COMP[":HardwareComponent ⊑ bfo:0000030
bears dispositions
ARCO_core.ttl:74"]:::reality
- DISP[":CapabilityDisposition ⊑ bfo:0000016
latent-capability target
(rationale at ARCO_core.ttl:26-38)
ARCO_core.ttl:84"]:::reality
+ SYS[":System ⊑ bfo:0000027
Sentinel, CreditScorer, Kiosk +3
ARCO_core.ttl:98"]:::reality
+ COMP[":HardwareComponent ⊑ bfo:0000030
bears dispositions
ARCO_core.ttl:114"]:::reality
+ DISP[":CapabilityDisposition ⊑ bfo:0000016
latent-capability target
(rationale at ARCO_core.ttl:28-40)
ARCO_core.ttl:124"]:::reality
ROLE[":ProviderRole / :DeployerRole / :NaturalPersonRole
⊑ bfo:0000023 Role"]:::reality
end
subgraph INFO ["Information side: POPULATED (CCO ICE subkinds, typed instances)"]
- IUS[":IntendedUseSpecification
⊑ cco:DirectiveInformationContentEntity
ARCO_governance_extension.ttl:233"]:::ice
- USS[":UseScenarioSpecification
⊑ cco:DesignativeInformationContentEntity
ARCO_governance_extension.ttl:279"]:::ice
- DET[":ComplianceDetermination / :HighRiskDetermination
⊑ cco:DescriptiveInformationContentEntity
ARCO_core.ttl:142, 148"]:::ice
- REG[":RegulatoryContent
e.g. :AnnexIII_Condition_1a
ARCO_core.ttl:137"]:::ice
+ IUS[":IntendedUseSpecification
⊑ cco:DirectiveInformationContentEntity
ARCO_governance_extension.ttl:278"]:::ice
+ USS[":UseScenarioSpecification
⊑ cco:DesignativeInformationContentEntity
ARCO_governance_extension.ttl:324"]:::ice
+ DET[":ComplianceDetermination / :HighRiskDetermination
⊑ cco:DescriptiveInformationContentEntity
ARCO_core.ttl:197, 203"]:::ice
+ REG[":RegulatoryContent
e.g. :AnnexIII_Condition_1a
ARCO_core.ttl:192"]:::ice
end
subgraph CLF ["OWL-RL three-gate classifier: POPULATED"]
- G1["Gate 1 (reality)
System bfo:0000051 (has_part) Component
Component ro:0000091 (has_disposition) AnnexIIITriggeringCapability
ARCO_governance_extension.ttl:421-433"]:::reasoner
- G2["Gate 2 (representation)
IUS inverse iao:0000136 System
+ IUS cco:prescribes someValuesFrom RegulatedProcess
ARCO_governance_extension.ttl:441-444"]:::reasoner
- G3["Gate 3 (representation)
USS inverse iao:0000136 System
+ USS cco:designates owl:hasValue NaturalPersonRole
ARCO_governance_extension.ttl:454-466"]:::reasoner
+ G1["Gate 1 (reality)
System bfo:0000051 (has_part) Component
Component ro:0000091 (has_disposition) AnnexIIITriggeringCapability
ARCO_governance_extension.ttl:241-266"]:::reasoner
+ G2["Gate 2 (representation)
IUS inverse iao:0000136 System
+ IUS cco:prescribes someValuesFrom RegulatedProcess
ARCO_governance_extension.ttl:522-532"]:::reasoner
+ G3["Gate 3 (representation)
USS inverse iao:0000136 System
+ USS cco:designates owl:hasValue NaturalPersonRole
ARCO_governance_extension.ttl:534-554"]:::reasoner
end
HER["HermiT cross-check
OWL 2 DL CI matrix
03_TECHNICAL_CORE/scripts/hermit_cross_check.py"]:::reasoner
@@ -124,31 +124,31 @@ Every node above traces to a file. Every edge traces to a BFO/CCO/RO/IAO/ARCO ax
| Diagram node | What it is | Where it's defined |
|---|---|---|
-| `:System` | The assessment target class | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:58-66` |
-| `:HardwareComponent` | Material component bearing dispositions | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:74-82` |
-| `:CapabilityDisposition` | Latent-capability target class | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:84-87` |
-| `:IntendedUseSpecification` | Directive ICE class | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:233-247` |
-| `:UseScenarioSpecification` | Designative ICE class | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:279-288` |
-| `:ComplianceDetermination` | Descriptive ICE (entailment record) | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:142-146` |
-| `:HighRiskDetermination` | Descriptive ICE (Gate-1 latent or three-gate applicability record) | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:148-152` |
-| `:RegulatoryContent` | Directive ICE for regulatory text | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:137-140` |
-| `:AnnexIII1aApplicableSystem` | Three-gate defined class for Annex III 1(a) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:405-468` |
-| `:AnnexIII5bApplicableSystem` | Three-gate defined class for Annex III 5(b) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:491-550` |
-| `:HighRiskSystem` | Gate-1-only latent-risk flag class | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:199-221` |
+| `:System` | The assessment target class | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:98-106` |
+| `:HardwareComponent` | Material component bearing dispositions | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:114-122` |
+| `:CapabilityDisposition` | Latent-capability target class | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:124-127` |
+| `:IntendedUseSpecification` | Directive ICE class | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:278-292` |
+| `:UseScenarioSpecification` | Designative ICE class | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:324-333` |
+| `:ComplianceDetermination` | Descriptive ICE (entailment record) | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:197-201` |
+| `:HighRiskDetermination` | Descriptive ICE (Gate-1 latent or three-gate applicability record) | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:203-207` |
+| `:RegulatoryContent` | Directive ICE for regulatory text | `03_TECHNICAL_CORE/ontology/ARCO_core.ttl:192-195` |
+| `:AnnexIII1aApplicableSystem` | Three-gate defined class for Annex III 1(a) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:490-556` |
+| `:AnnexIII5bApplicableSystem` | Three-gate defined class for Annex III 5(b) | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:579-641` |
+| `:HighRiskSystem` | Gate-1-only latent-risk flag class | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:241-266` |
| `cco:InformationBearingEntity` (pending) | Document material bearer class | CCO v1.7 (canonical IRI; not yet in `cco_seed.txt`) |
| `cco:InformationQualityEntity` (pending) | Inscription quality class | CCO v1.7 (canonical IRI; not yet in `cco_seed.txt`) |
| `cco:has_text_value` (pending) | Verbatim text predicate | CCO v1.7 line 437-442 in `runs/scratch/cco-v1.7/CommonCoreOntologiesMerged.ttl`; not yet in `cco_seed.txt` |
| Diagram edge | Relation IRI | Where it's defined |
|---|---|---|
-| Inscription inheres in document (asserted IQE to IBE) | `ro:0000052` (characteristic_of) | `03_TECHNICAL_CORE/ontology/imports/ro_bot.owl:534-549` plus ARCO binding `ro:0000052 rdfs:subPropertyOf bfo:0000197` at `ARCO_core.ttl:193-194` (PR #41). Asserted-subject: IQE (SDC); asserted-object: IBE (IC). Inverse `ro:0000053` (bearer_of) materializes via OWL-RL prp-inv1. |
+| Inscription inheres in document (asserted IQE to IBE) | `ro:0000052` (characteristic_of) | `03_TECHNICAL_CORE/ontology/imports/ro_bot.owl:534-549` plus ARCO binding `ro:0000052 rdfs:subPropertyOf bfo:0000197` at `ARCO_core.ttl:248-249` (PR #41). Asserted-subject: IQE (SDC); asserted-object: IBE (IC). Inverse `ro:0000053` (bearer_of) materializes via OWL-RL prp-inv1. |
| ICE is concretized by inscription (asserted ICE to IQE) | `bfo:0000058` (is concretized by) | `03_TECHNICAL_CORE/ontology/imports/bfo-2020.owl:225-241`. Asserted-subject: ICE (GDC); asserted-object: IQE (SDC). Domain BFO_0000031 (GDC); range union of BFO_0000015 (Process) and BFO_0000020 (SDC). Inverse `bfo:0000059` (concretizes) materializes via OWL-RL prp-inv1. |
| System has component | `bfo:0000051` (has_part) | `03_TECHNICAL_CORE/ontology/imports/bfo-2020.owl` |
| Component has disposition | `ro:0000091` (has_disposition) | `03_TECHNICAL_CORE/ontology/imports/ro_bot.owl:712+` |
| Bearer has role | `ro:0000087` (has_role) | `03_TECHNICAL_CORE/ontology/imports/ro_bot.owl:696-708` |
| ICE is about system | `iao:0000136` (is_about) | `03_TECHNICAL_CORE/ontology/imports/iao_bot.owl` |
-| IUS prescribes process | `cco:prescribes` | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:132-134` |
-| USS designates role | `cco:designates` | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:136-139` |
+| IUS prescribes process | `cco:prescribes` | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:133-135` |
+| USS designates role | `cco:designates` | `03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl:137-140` |
## Status notes
@@ -168,7 +168,7 @@ Every node above traces to a file. Every edge traces to a BFO/CCO/RO/IAO/ARCO ax
- The full RO / IAO / BFO / CCO import chain. The slim modules at `03_TECHNICAL_CORE/ontology/imports/*.owl` provide everything the diagram cites. See `docs/ARCO_imports_rationale.md` for the import-chain discussion.
- Fixture-specific data. The 6 fixtures (Sentinel, CreditScorer, Verification, flag_tests, adversarial_blanknode, adversarial_decoy) instantiate the reality and information sides for specific systems. See `three_gate_classifier.md` for which fixture exercises which gate combination.
- The accountability-to-individual extension (canon-grounded in conversation; activates when a specific use case demands named-individual chain).
-- The CCO version provenance hardening (the version pin lives in `ARCO_governance_extension.ttl:15` comment, not in `cco_bot.owl` itself).
+- The CCO version provenance hardening (the version pin lives in `ARCO_governance_extension.ttl:16` comment, not in `cco_bot.owl` itself).
## When to update
diff --git a/docs/versions.md b/docs/versions.md
index 439a09a..24aa061 100644
--- a/docs/versions.md
+++ b/docs/versions.md
@@ -111,7 +111,7 @@ The certificate is a four-layer artifact; each layer has its own version. Detail
| Layer | Field name | Current version | Where pinned | Advance on |
|---|---|---|---|---|
-| Determination packet schema | `packet_schema_version` (`determination_packet.json`) | 1.4 | `run_pipeline.py:2504` `schema_version` constant (future location: `pipeline_output_v2.py` per `output_manifest_v2.yaml:31`); emitted into `determination_packet.json` | Field added/removed/renamed; enum values changed. Last bumped by PR #68: added `asserted_dispositions_outside_regulated_union` + `asserted_prescribed_processes_outside_regulated_union` so the packet mirrors the same fields already in evidence.json and certificate.txt EVIDENCE PATH on negative runs |
+| Determination packet schema | `packet_schema_version` (`determination_packet.json`) | 1.4 | `run_pipeline.py:2692` `schema_version` constant (future location: `pipeline_output_v2.py` per `output_manifest_v2.yaml:31`); emitted into `determination_packet.json` | Field added/removed/renamed; enum values changed. Last bumped by PR #68: added `asserted_dispositions_outside_regulated_union` + `asserted_prescribed_processes_outside_regulated_union` so the packet mirrors the same fields already in evidence.json and certificate.txt EVIDENCE PATH on negative runs |
| Summary schema | `schema_version` (`summary.json`) | 1.4 | `run_pipeline.py` summary emission block | Field added/removed/renamed; enum values changed. Last bumped by PR #68 Wave 2: added `regulatory_alignment` field; applied ternary `_status_label` enums to `entailment` (`PRESENT` / `NOT_PRESENT` / `NOT_RUN`), `latent_risk` (`DETECTED` / `NOT_DETECTED` / `NOT_RUN`), and `obligation` / `regulatory_alignment` (`PASS` / `FAIL` / `NOT_APPLICABLE` / `NOT_RUN`) |
| Evidence schema | `schema_version` (`evidence.json`) | 1.4 | `run_pipeline.py` evidence emission block | Bare-list -> object restructure (PR #68 Wave 2): `regulated_capability_bindings` + `asserted_dispositions_outside_regulated_union` + `asserted_prescribed_processes_outside_regulated_union` |
| Certificate template | `certificate_template_version` | (per renderer) | Renderer code; emitted into certificate footer | Visually/semantically meaningful layout change |