Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/robot-validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ jobs:
- ARCO_instances_creditscoring.ttl
- ARCO_instances_verification.ttl
- ARCO_instances_adversarial_decoy.ttl
- ARCO_instances_adversarial_decoy_5b.ttl
- ARCO_instances_flag_tests.ttl

steps:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

# Obsidian knowledge base (local only, not versioned)
KB/
# Defensive: even if KB/ rule changes, never commit vendor node_modules trees
KB/**/node_modules/

# Git metadata (huge)
.git/
Expand Down
77 changes: 77 additions & 0 deletions 03_TECHNICAL_CORE/ontology/ARCO_instances_adversarial_decoy_5b.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
@prefix : <https://arco.ai/ontology/core#> .
@prefix bfo: <http://purl.obolibrary.org/obo/BFO_> .
@prefix cco: <http://www.ontologyrepository.com/CommonCoreOntologies/> .
@prefix ro: <http://purl.obolibrary.org/obo/RO_> .
@prefix iao: <http://purl.obolibrary.org/obo/IAO_> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

<https://arco.ai/ontology/instances/adversarial_decoy_5b> rdf:type owl:Ontology ;
rdfs:label "ARCO Adversarial Test: Equivalency Decoy (5(b) parity)" ;
rdfs:comment """Tests that OWL-RL performs real equivalence reasoning on the Annex III 5(b) branch, mirroring the 1(a) decoy at ARCO_instances_adversarial_decoy.ttl.

:WeirdCalculator is declared owl:equivalentClass to :CreditworthinessEvaluationCapability.
The disposition is typed ONLY as :WeirdCalculator — no Credit/Evaluation/Score/Assessment
vocabulary appears in the alias class, disposition, module, or system IRIs.

If the reasoner is real, it infers CreditworthinessEvaluationCapability membership
via owl:equivalentClass propagation; the three-gate intersection then entails
:AnnexIII5bApplicableSystem.

Cross-category isolation is also under test here: post-reasoning the system
must NOT entail :AnnexIII1aApplicableSystem (no biometric identification
capability is bound to any component).

Adversarial-purity discipline (parallel to the 1(a) decoy):
- no provider organisation, no provider role
- no assessment documentation process, no assessment documentation artifact
- no compliance obligation
- no determination ICE asserted
Only the reality-side path the three-gate axiom needs to fire is asserted.
Closes OPEN_PROBLEMS L3.7 (5(b) adversarial equivalentClass parity).""" ;
owl:imports <https://arco.ai/ontology/governance> .

#################################################################
# ADVERSARIAL SETUP: equivalence decoy class
#################################################################

:WeirdCalculator rdf:type owl:Class ;
rdfs:label "Weird Calculator (decoy name)" ;
skos:prefLabel "Weird Calculator (decoy name)"@en ;
skos:definition "An adversarial test class declared owl:equivalentClass to :CreditworthinessEvaluationCapability. Used by the 5(b) equivalence-decoy fixture to verify that the OWL reasoner performs real semantic inference via equivalentClass propagation on the credit branch, rather than IRI pattern matching or class-name string matching." ;
rdfs:comment "Equivalent to CreditworthinessEvaluationCapability but with an unrelated name. Tests that the reasoner uses equivalence, not string matching, on the 5(b) branch." ;
owl:equivalentClass :CreditworthinessEvaluationCapability .

#################################################################
# SYSTEM — typed using ONLY the decoy class name
#################################################################

:WeirdCalc_Disposition rdf:type :WeirdCalculator ;
rdfs:label "Weird Calculator Disposition (typed as WeirdCalculator only)" .

:WeirdCalc_Module rdf:type :HardwareComponent ;
rdfs:label "Weird Calculator Hardware Module" ;
ro:0000091 :WeirdCalc_Disposition .

:WeirdCalcSystem_001 rdf:type :System ;
rdfs:label "Weird Calculator System 001" ;
bfo:0000051 :WeirdCalc_Module .

#################################################################
# DOCUMENTARY MINIMUM (gates 2 + 3)
#################################################################

:WeirdCalc_Process rdf:type :CreditworthinessEvaluationProcess ;
rdfs:label "Weird Calculator Process Token" .

:WeirdCalc_IntendedUse_001 rdf:type :IntendedUseSpecification ;
rdfs:label "Weird Calculator Intended Use" ;
cco:prescribes :WeirdCalc_Process ;
iao:0000136 :WeirdCalcSystem_001 .

:WeirdCalc_UseScenario_001 rdf:type :UseScenarioSpecification ;
rdfs:label "Weird Calculator Use Scenario" ;
iao:0000136 :WeirdCalcSystem_001 ;
cco:designates :NaturalPersonRole .
4 changes: 2 additions & 2 deletions 03_TECHNICAL_CORE/ontology/ARCO_instances_verification.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

Non-entailment claim: AnnexIII1aApplicableSystem is not entailed for VerificationKiosk_001 under current assertions (OWA — no closed-world guarantee).

Legal basis: Recital 22 and Art. 3(41) EU AI Act 1:1 biometric verification is excluded from Annex III 1(a); only 1:N remote biometric identification triggers classification.""" ;
Legal basis: Recital 15, Recital 17, and Annex III item 1(a) of EU AI Act 2024/1689 — the verification carve-out ("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") excludes 1:1 biometric verification from biometric identification (Recital 15) and from remote biometric identification systems specifically (Recital 17, rationale: minor impact on fundamental rights), and is reaffirmed in the Annex III 1(a) operative text. Article 3(36) defines biometric verification as the automated 1:1 modality; Article 3(41) defines the RBI system. Only 1:N remote biometric identification triggers Annex III 1(a) classification.""" ;
owl:imports <https://arco.ai/ontology/governance> .

#################################################################
Expand All @@ -24,7 +24,7 @@

:AnnexIII_Condition_1a_Exclusion rdf:type :RegulatoryContent ;
rdfs:label "Annex III 1(a) — Verification Exclusion Note" ;
rdfs:comment "Documents the 1:1 verification exclusion from Annex III 1(a). Recital 22 and Art. 3(41): only 1:N remote biometric identification triggers the Annex III classification." ;
rdfs:comment "Documents the 1:1 verification exclusion from Annex III 1(a). Recital 15, Recital 17, and Annex III 1(a) operative carve-out: only 1:N remote biometric identification triggers the Annex III classification. Article 3(36) defines 1:1 verification; Article 3(41) defines the RBI system." ;
iao:0000136 :BiometricVerificationCapability ;
iao:0000136 :BiometricIdentificationCapability .

Expand Down
5 changes: 3 additions & 2 deletions 03_TECHNICAL_CORE/reasoning/select_system_comment.sparql
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
# EMISSION LAYER — binds rdfs:comment of the system under evaluation.
#
# Used by the negative-case output to surface fixture-supplied regulatory
# reasoning (e.g., the kiosk fixture's comment naming Recital 22 / Article
# 3(41) and the verification-vs-identification distinction). The comment
# reasoning (e.g., the kiosk fixture's comment naming Recital 15 + Recital
# 17 + Annex III 1(a) carve-out and the verification-vs-identification
# distinction). The comment
# is fixture-authored ground truth and ships with the TTL; this query
# avoids embedding fixture-specific legal text as Python literals in the
# emitter (per CLAUDE.md Output discipline).
Expand Down
1 change: 1 addition & 0 deletions 03_TECHNICAL_CORE/scripts/hermit_cross_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
("ARCO_instances_creditscoring.ttl", ["CreditScorer_001"]),
("ARCO_instances_verification.ttl", ["VerificationKiosk_001"]),
("ARCO_instances_adversarial_decoy.ttl", ["DecoySystem_001"]),
("ARCO_instances_adversarial_decoy_5b.ttl", ["WeirdCalcSystem_001"]),
("ARCO_instances_flag_tests.ttl", ["FlagTest_BiometricSystem_WithDerogationClaim",
"FlagTest_CreditSystem_WithFraudProcess"]),
]
Expand Down
Loading
Loading