Skip to content

truth-pass: Annex III process genus, regulatory-basis provenance, pinned legal kernel, audit guards#73

Merged
Amosk21 merged 1 commit into
mainfrom
preview/wave0-2-squash
Jun 12, 2026
Merged

truth-pass: Annex III process genus, regulatory-basis provenance, pinned legal kernel, audit guards#73
Amosk21 merged 1 commit into
mainfrom
preview/wave0-2-squash

Conversation

@Amosk21

@Amosk21 Amosk21 commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Fixes

  • L2.12 / M-ProcessGenus-1:BiometricIdentificationProcess genus (Art 3(35)); :RemoteBiometricIdentificationProcess re-parented as the remote subkind (Art 3(41)); :BiometricVerificationProcess owl:disjointWith the genus (Art 3(36)). Bare genus is the non-triggering type; Gate 2 still keys on the remote subkind, so genus alone does not entail Annex III 1(a).
  • X.13 / X.15:hasRegulatoryBasis annotation property (rdfs:subPropertyOf cco:doctrinal_source, cco:definition_source); regulatory-basis annotations on modeled conditions; cco_bot.owl regenerated via ROBOT BOT with cco:doctrinal_source seeded (logical skeleton count-identical: 70 classes / 18 object properties / 87 subClassOf / 5 disjointWith / 420 CCO IRIs).
  • X.18 / L2.14 / L2.15 / L2.16 — pinned legal kernel at docs/legal/eu_ai_act_kernel.md (verbatim blocks + pinning rule); annotation truth-pass (phantom 5(b) provision scrubbed, Article 43(1) conformity sentence corrected, definition overclaims fixed); coherent LIMITATIONS.md disclosure pass.
  • L3.8–L3.12 — TBox/ABox load guard on instance files (class- and property-level schema predicates); canonical-IRI gate + CI wiring; flag_intent_without_capability.sparql (report-only); union-subclass sync guard on the asserted graph; negative-case and cross-category isolation absence checks in the reasoned closure.
  • Output — scope metadata separated from graph-backed entailment; Art 3(41) walk-up elicitation prompt in the negative panel; README reframed as a working proof with the vendor-document ingestion gap named explicitly.
  • Docs accuracy — 67 line anchors re-pinned across 9 public docs after file growth shifted them (each verified claim-against-content); public-repo provenance claims corrected; internal paths replaced with standard bibliographic citations.

Schema

No determination_packet.json / summary.json schema changes. Field set verified against the MCP consumer (mcp/arco_mcp.py reads summary.json and certificate.txt; all read keys present in fresh output).

Axiom paths

  • 03_TECHNICAL_CORE/ontology/ARCO_core.ttl:hasRegulatoryBasis mint, capability disjointness axiom annotation
  • 03_TECHNICAL_CORE/ontology/ARCO_governance_extension.ttl — process genus, subkind re-parent, process disjointness, four-class regulatory annotations
  • 03_TECHNICAL_CORE/ontology/imports/cco_bot.owl, imports/seeds/cco_seed.txt — slim-module regen

Tests

  • New: test_bi_rbi_genus.py, test_canonical_iris.py, test_genus_elicitation.py, test_tbox_guard.py
  • Extended: test_scenarios.py (negative / cross-category), test_adversarial_mechanism.py (5(b) equivalentClass decoy parity), HermiT matrix 5(b) decoy fixture
  • Local verification: pipeline ALL CHECKS PASSED (both layers); 9/9 test scripts green; HermiT vs OWL-RL agree on every certificate-grade (fixture, system, query)

Deferred

  • dcterms:license / dcterms:rights ontology-annotation stubs dropped by the BOT regen (valueless orphan declarations, no assertions used them; restore on next regen)
  • X.14 second-pass fiat annotations (:NaturalPersonRole, :DerogationClaim, :FraudDetectionProcess)
  • SUMMARY-to-verbatim replacement in the legal kernel (X.18 tail)

Revert

Single squash commit; git revert is clean. No schema or IRI consumers outside this repository.

🤖 Generated with Claude Code

…ned legal kernel, audit guards

Squash of audit/wave0-2-truth-pass (23 commits). Aligns the modeled artifacts and
emitted output with the actual EU AI Act text and closes the truth-pass register rows.
All 9 tests + run_pipeline.py green; HermiT cross-check via CI robot-validate.yml.

Modeling (L2.12 / M-ProcessGenus-1)
- Add :BiometricIdentificationProcess genus (Art 3(35)); re-parent
  :RemoteBiometricIdentificationProcess as the remote subkind (Art 3(41)).
- :BiometricVerificationProcess owl:disjointWith the genus (1:1 verification, Art 3(36)).
- Bare genus is the non-triggering type; Gate 2 still keys on the remote subkind, so
  genus alone does not entail Annex III 1(a). Drop the invented :Cooperative... class.

Provenance (X.13 / X.15)
- Add :hasRegulatoryBasis annotation property (rdfs:subPropertyOf cco:doctrinal_source,
  cco:definition_source); attach regulatory-basis annotations to modeled conditions.
- Seed cco:doctrinal_source into cco_seed.txt; regenerate cco_bot.owl via ROBOT BOT.
  Logical skeleton count-identical (70 classes / 18 obj props / 87 subClassOf /
  5 disjointWith / 420 CCO IRIs); net change is +doctrinal_source.

Legal text + disclosure (X.18 / L2.14 / L2.15 / L2.16)
- Add docs/legal/eu_ai_act_kernel.md: pinned, quoted legal text with a pinning rule.
- Annotation truth-pass: scrub phantom 5(b) provision, fix Article 43(1) conformity
  sentence + derogation xref, correct definition overclaims.
- Coherent LIMITATIONS.md disclosure pass.

Audit guards (L3.8 / L3.9 / L3.10 / L3.11 / L3.12)
- TBox/ABox load guard on instance files, extended to property-level schema predicates.
- flag_intent_without_capability.sparql (report-only intent-without-capability flag).
- Union-subclass sync guard runs on the asserted graph.
- Canonical-IRI gate + CI wiring.
- Negative-case and cross-category isolation absence checks in reasoned closure.

Output
- Separate scope metadata from graph-backed entailment in the determination output.
- Art 3(41) walk-up elicitation prompt in the negative panel.
- README reframed: ARCO presented as a working proof that such a tool can be built and
  trusted, with the vendor-document ingestion layer named as not-yet-built.

Docs truth-pass (public-repo accuracy)
- Re-pin 67 line anchors across 9 public docs (LIMITATIONS, README, roadmap, kiosk
  demo, legal kernel, modeling-decision docs, versions) that drifted as ARCO_core.ttl,
  ARCO_governance_extension.ttl, and run_pipeline.py grew; each re-pin verified
  claim-against-content individually. Several anchors already stale on main corrected
  to the actual declarations.
- decisions_justification_map.md: precedent note generalized to reference
  implementations; internal KB paths replaced with standard bibliographic citations.
- eu_ai_act_kernel.md: provenance note now states the full-text capture is not
  tracked in the public repository.
- README.md: drop citation to a nonexistent status file; correct the
  capability-disposition anchor.

Tests
- New: test_bi_rbi_genus, test_canonical_iris, test_genus_elicitation, test_tbox_guard.
- Extended: test_scenarios (negative/cross-category), test_adversarial_mechanism
  (5(b) equivalentClass decoy parity), HermiT matrix 5(b) decoy.

Deferred
- Restore optional dcterms:license/dcterms:rights ontology-annotation stubs on the next
  cco_bot.owl regen (valueless orphan declarations; no classification impact).

Revert: git revert this commit; no schema/IRI consumers outside this repo.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

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 67e1477 into main Jun 12, 2026
10 checks passed
@Amosk21 Amosk21 deleted the preview/wave0-2-squash branch June 12, 2026 16:19
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