Skip to content

BCR-2026-XXX: Peer Endorsement Predicates#156

Open
ChristopherA wants to merge 8 commits intomasterfrom
bcr-2026-011
Open

BCR-2026-XXX: Peer Endorsement Predicates#156
ChristopherA wants to merge 8 commits intomasterfrom
bcr-2026-011

Conversation

@ChristopherA
Copy link
Contributor

Proposes Known Values for peer endorsements in Gordian Envelopes — signed attestations from one party about another that build webs of trust.

Predicates defined:

  • endorserParty — The entity making the endorsement
  • endorsementBasis — How the endorser knows the subject (direct experience, reputation, etc.)
  • endorsementScope — What specific capability or quality is endorsed
  • endorsementContext — Circumstances under which the endorsement applies
  • endorsementAcceptance — Subject's acceptance of the endorsement

Plus relationship context predicates for transparency.

Codepoints: Community range 1150-1173

Includes patterns guide for leveraging existing schemas (Schema.org, Open Badges, Verifiable Credentials) before defining new predicates.

Seeking rough consensus; willing to use 100000+ range if community prefers.

@shannona shannona self-requested a review February 3, 2026 19:50
Copy link
Contributor

@shannona shannona left a comment

Choose a reason for hiding this comment

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

LGTM.

@ChristopherA
Copy link
Contributor Author

Updates (Feb 4, 2026)

Per reviewer feedback:

  1. Notation: Changed CID(...)Digest(...) per Issue BCR notation question: Content-addressed envelope references in examples #157 resolution
  2. Type markers: Fixed quoting for type markers (e.g., 'PeerEndorsement')
  3. Date format: Added timezone to date examples
  4. Cross-reference fixes: Updated references to BCR-006/007 predicates

@ChristopherA
Copy link
Contributor Author

Per Wolf's feedback: removed { } envelope wrapping from examples that don't include signatures. Wrapping is only needed when showing signed envelopes.

@ChristopherA ChristopherA changed the title Add BCR-2026-011: Peer Endorsement Predicates BCR-2026-010: Peer Endorsement (Renumbered from 011) Feb 4, 2026
@ChristopherA
Copy link
Contributor Author

Updates (2026-02-04)

Renumbering

  • Renumbered: BCR-2026-011 → BCR-2026-010
  • Codepoint range: 1150-1173 (unchanged assignment)
  • Branch name bcr-2026-011 retained for PR history continuity

Content Changes

  • All signature examples now use double-signing pattern with signer predicate
  • This aligns with BCR-2026-004 (Signing Event Attestations) which establishes the pattern:
    • Inner wrap+sign: Content
    • Add attestations: Who signed (signer), capacity, etc.
    • Outer wrap+sign: Binds attestations to content
  • Examples now show institutional endorsements with proper signedOnBehalfOf when signing for organizations

Related

This PR is part of a coordinated suite of 8 BCRs for attribution, authority, and endorsement predicates. See PR #151 for the complete overview of the suite structure.

@ChristopherA
Copy link
Contributor Author

Signature Pattern Update

Updated all 8 signature examples to use the signature-with-assertions pattern from BCR-2024-009 (documented in BCR-2026-004).

Examples updated:

  • Basic peer endorsement
  • acceptedEndorsement (simple)
  • Complete peer endorsement
  • Acceptance model with multiple endorsements
  • Institutional endorsement with signedOnBehalfOf

Pattern change:

# Before (double-wrap):
{ { content } 'signed': Signature ['signer': XID] } 'signed': Signature

# After (signature-with-assertions):
{ content } [ 'signed': { Signature ['signer': XID] } ['signed': Signature] ]

Also updated note text from "double-signing pattern" to "signature-with-assertions pattern" for consistency.

Proposes Known Values for peer endorsements in web-of-trust systems.
Includes patterns guide for Schema.org, Open Badges, VC reuse.

Community range 1150-1173. Seeking rough consensus; willing to use
100000+ if community prefers.

Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Part of coordinated suite renumbering. BCR-2026-004 (Signing Event
Attestations) was inserted, shifting all subsequent numbers.

Updates:
- All signature examples now use double-signing pattern with
  'signer' predicate per BCR-2026-004

Codepoint range unchanged: 1150-1173

Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Per Wolf's recommendation: use temporary letter designations.
Actual BCR numbers will be assigned at merge time.
Updated all internal cross-references to XXX format.

Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
@ChristopherA ChristopherA changed the title BCR-2026-010: Peer Endorsement (Renumbered from 011) BCR-2026-XXX: Peer Endorsement Predicates Feb 5, 2026
- Add distinction note: sig:endorsement describes countersignature intent,
  while our endorsement predicates describe peer trust relationships
- Update example from xades:ClaimedRole to sig:signerRole
- Update codepoints: signer 300→800, signedOnBehalfOf 301→801
- Reference Signature Qualifiers for role and commitment predicates

Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
@ChristopherA
Copy link
Contributor Author

Updates for compatibility with the new Signature Qualifiers BCR:

  • Added distinction note: sig:endorsement describes countersignature intent, while our endorsement predicates describe peer trust relationships between people
  • Updated example from xades:ClaimedRole to sig:signerRole with proper typed envelope syntax
  • Fixed codepoint references: signer 300→800, signedOnBehalfOf 301→801
  • Added reference to Signature Qualifiers for role and commitment predicates

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