Skip to content

fix(ontology): AnnexIII_Condition_5b prescribes class, not deployment token#28

Merged
Amosk21 merged 1 commit intomainfrom
fix/credit-scorer-regulatory-prescribes-class
May 2, 2026
Merged

fix(ontology): AnnexIII_Condition_5b prescribes class, not deployment token#28
Amosk21 merged 1 commit intomainfrom
fix/credit-scorer-regulatory-prescribes-class

Conversation

@Amosk21
Copy link
Copy Markdown
Owner

@Amosk21 Amosk21 commented May 2, 2026

Summary

One-line ontology fix: ARCO_instances_creditscoring.ttl line 30 now has :AnnexIII_Condition_5b cco:prescribes :CreditworthinessEvaluationProcess (the class IRI as concept-individual via OWL 2 punning) instead of :CreditScorer_EvalProcess_Token (a deployment-specific token). This matches the Sentinel pattern for Annex III 1(a).

Why

The EU AI Act regulation prescribes process types, not deployment-specific tokens. The token-prescribes pattern (Pattern B in check_regulatory_alignment.sparql) does not generalize: adding a second 5(b) assessment would force either an alignment-query mismatch (the law's prescribed token differs from the new IUS's token) or a duplicate regulatory ICE per assessment. The class-prescribes pattern (Pattern A) lets one regulatory ICE serve any number of 5(b) assessments and matches the principled separation between abstract regulation and deployment-specific intent.

The SPARQL alignment query already handles both patterns via its EXISTS branch (?process a ?prescribedByLaw), so this is a no-behavior-change fix that aligns 5(b) with the Sentinel pattern and prepares 5(b) for additional worked examples.

Test plan

  • python 03_TECHNICAL_CORE/scripts/run_pipeline.py (Sentinel default) — ALL CHECKS PASSED
  • python 03_TECHNICAL_CORE/scripts/run_pipeline.py --system CreditScorer_001 --instances 03_TECHNICAL_CORE/ontology/ARCO_instances_creditscoring.ttl — ALL CHECKS PASSED
  • Cross-category isolation preserved: Sentinel ≠ 5(b), CreditScorer ≠ 1(a)
  • Audit layer Reg. aligned: PASS for both runs (SPARQL EXISTS branch correctly matches IUS token's rdf:type to regulatory class)
  • CI: arco-demo workflow
  • CI: robot-validate workflow (HermiT OWL 2 DL cross-check)

🤖 Generated with Claude Code

…ployment token

ARCO_instances_creditscoring.ttl line 30: regulatory condition now
cco:prescribes :CreditworthinessEvaluationProcess (the class IRI as
concept-individual) instead of :CreditScorer_EvalProcess_Token.

Why: the EU AI Act regulation prescribes process types, not deployment
tokens. The token-prescribes pattern (Pattern B) does not generalize
— adding a second 5(b) assessment would force either a token mismatch
in the alignment query or a duplicate regulatory ICE per assessment.
The class-prescribes pattern (Pattern A, matching Sentinel) lets one
regulatory ICE serve any number of 5(b) assessments. The SPARQL
alignment query (check_regulatory_alignment.sparql) already handles
both patterns via its EXISTS branch.

Pipeline passes both Sentinel and CreditScorer runs after the change;
no regressions; cross-category isolation preserved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@Amosk21 Amosk21 merged commit 17eed0a into main May 2, 2026
4 checks passed
@Amosk21 Amosk21 deleted the fix/credit-scorer-regulatory-prescribes-class branch May 2, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant