Skip to content

docs: cite requirements that exist - #7

Merged
xgreenx merged 1 commit into
feat/ceremony-constructionsfrom
docs/cite-requirements-that-exist
Sep 8, 2026
Merged

xgreenx merged 1 commit into
feat/ceremony-constructionsfrom
docs/cite-requirements-that-exist

Conversation

@xgreenx

@xgreenx xgreenx commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Stacked on #2 (feat/ceremony-constructions). Comments only — no behaviour changes.

attestation.rs already said it, under a heading of its own: REQ-COMMON-47 through -61 are not in the published specification. They come from libid#12, which defined this byte layout and closed on 2026-08-20 without merging. The module kept the numbering on the intent of upstreaming the layout under those identifiers.

That has not happened, and the contracts decide what these names mean — they carry the same vocabulary and libid-org/libID-contracts#27 drops it there. This follows, so both sides keep naming the same rules by the same names.

Where each one went

cited now why
-47, -49, -61 REQ-COMMON-33 Published, and the same rule: the Notary Service takes the attested data and its signature, returns one decision covering that signature over exactly those bytes, and decides nothing profile-specific.
-56 REQ-COMMON-21, -21A The notary authenticates the TLS server identity; the Platform Verifier compares the authenticated authority byte for byte with its pinned constants.
-48, -57, -59, -60 dropped No published counterpart. Every rule they named stays, stated in full where it was — for -57 that is now spelled out: the freshness window the verifier enforces is measured from createdAt, so a reading the observed party could choose would be a window it could choose.

The requirement they were collectively standing in for is REQ-COMMON-18, which has a Platform Profile fix the attestation format and leaves the format to the profile author. The module header now says the layout is the profile's, instead of calling itself "the attestation format of ceremony-common section 9.1" — §9.1 is attestation verification and its fee, and defines no bytes.

Verification

  • cargo +nightly fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace — 100 passed

Sibling

#6 removes libid-attestations on the same base. The two do not touch the same files.

`attestation.rs` says it plainly: REQ-COMMON-47 through -61 are not in the
published specification. They were written in libid PR #12, which defined this
byte layout and closed on 2026-08-20 without merging. The module kept the
numbering on the intent of upstreaming the layout under those identifiers.

That has not happened, and the contracts are the side that decides: they were
the second implementation carrying the same vocabulary, and
libid-org/libID-contracts#27 drops it there. This follows, so the two keep
naming the same rules by the same names.

Where a published requirement says the same thing, the citation moves to it:

  -47, -49, -61  ->  REQ-COMMON-33, which has the Notary Service take the
                     attested data and its signature and return one decision
                     covering that signature over exactly those bytes, and
                     decide nothing profile-specific.
  -56            ->  REQ-COMMON-21 and REQ-COMMON-21A, which have the notary
                     authenticate the TLS server identity and the Platform
                     Verifier compare the authenticated authority byte for
                     byte with its pinned constants.

-48, -57, -59 and -60 have no published counterpart. The rules stay, stated in
full where they were; only the identifiers go. The one they were standing in
for is REQ-COMMON-18, which requires a Platform Profile to fix the attestation
format and leaves the format to the profile author -- so the module header now
says the layout is the profile's rather than calling itself section 9.1, which
is attestation verification and its fee and defines no bytes.

Comments only. 100 tests, clippy and nightly fmt unchanged.

Assisted-by: Claude Opus 5
Signed-off-by: xgreenx <xgreenx9999@gmail.com>
@xgreenx
xgreenx merged commit e20eb5e into feat/ceremony-constructions Sep 8, 2026
7 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.

2 participants