Skip to content

docs(verification): profile floors are specification choices, not regulatory derivations - #310

Merged
lywinged merged 1 commit into
agentrust-io:mainfrom
ioanavalea:patch-1
Sep 9, 2026
Merged

docs(verification): profile floors are specification choices, not regulatory derivations#310
lywinged merged 1 commit into
agentrust-io:mainfrom
ioanavalea:patch-1

Conversation

@ioanavalea

Copy link
Copy Markdown
Contributor

What this changes

docs/verification.md presents the transitive profile floor as following from "EU AI Act Annex IV high-risk". This corrects that attribution, keeps every profile and every floor exactly as it stands, and adds an informative section recording what the cited instruments actually require.

The line being corrected:

| FIPS-aligned, EU AI Act Annex IV high-risk, HIPAA | transitive |

Type of change

  • Editorial (typo, link fix, clarification: no normative effect)
  • Non-breaking spec change (new optional field, new platform profile, informative addition)
  • Breaking spec change (requires 14-day comment period and Project Lead sign-off)
  • Schema change
  • Example addition

The added subsection is informative and sits in docs/ rather than in the specification, so it carries no normative effect and no conformance test IDs.

Spec section

None. The change is confined to docs/verification.md. Section 3.3.1 of spec/trace-v0.2.md, which this document is the implementation guide to, is unchanged, and no schema file is touched.

Why

Two separate problems sit in the same phrase.

Annex IV is the technical documentation schedule whose elements Article 11(1) requires the technical documentation to contain at a minimum. It is not a classification annex, so "Annex IV high-risk" names no category a reader can look up, since high-risk classification runs through Article 6 with Annexes I and III. The row now reads "EU AI Act Article 6 high-risk".

Separately, no provision of the Regulation requires a verification depth, so a floor cannot be derived from it. The floor is still the right requirement for that profile, and it is a requirement this specification makes rather than one the Regulation imposes. The lead-in now says so for every row.

No other instrument is put in Annex IV's place. A floor that rests on a citation is only as stable as the reading of that citation, and the security argument already in this document carries the floor without one. The regulatory material therefore moves into an informative section that records what each instrument requires and stops there, which also keeps the table clear of anything a reader could take as a compliance claim. @safal207's refinement is carried in that section: the software bill of materials obligation in the CRA is a component inventory, and an inventory of top-level dependencies does not by itself establish builder or transitive verification, which are claims about provenance rather than about composition.

FIPS and HIPAA are unchanged and are not spoken to here, as in my comment on #66.

Not changed, deliberately

The depth vocabulary is untouched. #66 gives the same supply-chain ladder two names, surface | builder_chain | dependency_chain for verification.depth and surface | builder | transitive for build_provenance.provenance_depth, and reconciling the two was asked for on that thread. docs/verification.md uses the short names throughout, so this PR uses them too. Which vocabulary survives is a maintainer decision worth settling before v1.0, and this PR does not make it.

No new conformance claim and no legal-compliance claim are introduced, and the informative section states explicitly that verification at any depth is not evidence of compliance with either instrument.

Context

The profile-floor correction was directed on #66 to be a separate docs-only contribution with source verification and no new conformance or legal-compliance claim: #66 (comment). #66 has since been closed via #306, whose description states that it does not close #66, so this is filed as the separate contribution that was asked for rather than as a change to that issue's scope.

Checklist

  • DCO sign-off on all commits (git commit -s)
  • CHANGELOG.md updated (for any normative change): not applicable, no normative change
  • Breaking changes marked in spec text: not applicable
  • Backward compatibility statement included: not applicable

AI assistance

Drafting and source verification were AI-assisted. Article 6, Article 11(1), Article 15(5), Article 25(4), Article 111(2), Article 113 and Annex IV were read against Regulation (EU) 2024/1689 as amended; Article 1 points (10) and (12) and the Article 113 replacement against Regulation (EU) 2026/1744; and Annex I Part II point 1 and Article 71 against Regulation (EU) 2024/2847, before being cited.

… correct the Annex IV attribution

Annex IV is the technical documentation schedule referred to in Article 11(1) rather than a classification annex, so "Annex IV high-risk" names no category a reader can look up. High-risk classification runs through Article 6 with Annexes I and III.

No provision of the Regulation requires a verification depth, so the floor is stated as a choice this specification makes rather than a derivation from any regime. The regulatory detail moves into an informative section recording what each instrument requires and nothing beyond it.

Documentation only. No normative delta, no schema change, no conformance test IDs.

Signed-off-by: Ioana Valea <ioana.valea02@gmail.com>
@ioanavalea
ioanavalea requested review from a team and lywinged as code owners September 9, 2026 06:46

@lywinged lywinged left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Approved.

The correction is right, and for the reason that matters: Annex IV is the technical documentation schedule Article 11(1) points at, so "Annex IV high-risk" named nothing a reader could look up, while classification runs through Article 6 with Annexes I and III.

I checked the new section's citations rather than taking them, since this is the kind of text that gets quoted back at us. They hold, including the two that rest on the amended Regulation:

  • Annex IV is titled "Technical Documentation Referred to in Article 11(1)" and is a documentation schedule, not a classification annex.
  • Article 6(1) classifies safety components under the Annex I harmonisation legislation and Article 6(2) classifies the Annex III uses, so the substituted label names something a reader can check.
  • Article 15(5) is outcome-framed, and its list is the one you give.
  • Articles 11 and 15 sit in Chapter III Section 2 and Article 25 in Section 3.
  • Regulation (EU) 2026/1744 entered into force on 27 July 2026, it does amend both Article 25(4) and Article 111(2), and the new Article 113 dates are 2 December 2027 for Article 6(2) and Annex III and 2 August 2028 for Article 6(1) and Annex I. That is what you wrote, mapping included.
  • The Cyber Resilience Act dates are right as well: Annex I obligations from 11 December 2027, Article 14 reporting from 11 September 2026, which is in two days.

One suggestion, not a condition. The section leaves out Article 12, which is the provision this repository leans on everywhere else: spec/trace-v0.2.md cites it for tamper-evident logging and LIMITATIONS.md maps it to Level 1. It supports your thesis rather than complicating it, since Article 12 requires that a system technically allow the automatic recording of events over its lifetime and says nothing about provenance or supply-chain depth. A reader who knows this repository will look for it in a section that promises what the Regulation actually requires.

Two notes for whoever reads this next, neither of them yours to act on.

spec/trace-v0.2.md still describes the Article 12 timeline as "the current provisional timeline" with obligations "from around December 2027". After 2026/1744 that is stale, and the date is now split by classification. It deserves its own issue: it is normative-adjacent and correctly out of scope for a documentation-only change.

The same file's comparison table reads "EU AI Act Annex IV / Article 12" in a row about mandating documentation. That use of Annex IV is correct and should not be swept by analogy with this fix.

Checked on the branch: 1319 passed and 1 skipped, with check_dashes.py, ruff and mypy clean. Nothing in the package or the vectors depends on the profile names and no test parses this table, which is also why nothing caught the original wording.

@imran-siddique imran-siddique left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approving. The table correction is right and the informative section is the more useful half.

On the table. Annex IV was the wrong citation for what that row meant. Annex IV is the technical-documentation schedule whose elements Article 11(1) requires the documentation to contain; classification runs through Article 6 with Annexes I and III. A reader configuring a floor from the old row would have been reading a documentation annex as a classification test.

What I verified, against the primary texts rather than the PR body.

  • Regulation (EU) 2026/1744 exists, and EUR-Lex confirms it amends Article 25(4) to exactly the list quoted here: "AI system, AI model, tools, services, components, or processes". The addition of AI model to that list is the amendment, and it is stated correctly.
  • The two application dates are exact: 2 December 2027 for systems high-risk under Article 6(2) and Annex III, 2 August 2028 for Article 6(1) and Annex I.
  • Article 15(5)'s outcome framing, data poisoning, model poisoning, adversarial examples, confidentiality attacks and model flaws, matches the published wording, and the point that it states an outcome rather than a supply-chain verification depth is the right reading.
  • Regulation (EU) 2024/2847 Annex I obligations from 11 December 2027 and the Article 14 reporting obligations from 11 September 2026 both match.

What I did not verify, so it is on the record rather than implied. The free-and-open-source carve-out wording inside the amended 25(4): the EUR-Lex text truncated at that sentence, and I read the carve-out forward from the original rather than from the amended text. And the characterisation of the Article 111(2) grace period as covering units of a type and model already placed on the market. Neither changes a floor in the table.

Why this is worth having beyond accuracy. The section says a floor that is met is not evidence of compliance with either regulation, and that neither requires a verification depth at all. That makes our own claim weaker and it is correct. A profile floor is a choice this specification makes for deployments that describe themselves as operating under a regime, and saying so in the document stops the table being cited as though the Regulation produced it.

CI: the runs were held pending first-time-contributor approval and reported 2 checks. Released, and the rollup came back at 6 with everything green apart from the maintainer-hold gate, which this approval clears.

@lywinged
lywinged merged commit a79ad17 into agentrust-io:main Sep 9, 2026
8 of 9 checks passed
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.

[pre-v1.0] Verification depth + action_receipts: two-axis verification model

3 participants