Skip to content

fix(examples)!: migrate credentialStatus to DID-based CRSet model#46

Merged
jdsika merged 3 commits into
mainfrom
fix/credential-status-did-compliance
May 7, 2026
Merged

fix(examples)!: migrate credentialStatus to DID-based CRSet model#46
jdsika merged 3 commits into
mainfrom
fix/credential-status-did-compliance

Conversation

@jdsika
Copy link
Copy Markdown
Collaborator

@jdsika jdsika commented Apr 22, 2026

Summary

Migrates all SimpulseID credential examples and tests to the new DID-compliant credentialStatus model introduced in harbour-credentials.

Depends on: reachhaven/harbour-credentials PR (fix/credential-status-did-compliance)
Related: reachhaven/harbour-credentials#6

Changes

Examples (5 files)

All SimpulseID credentials migrated from:

"credentialStatus": [{"type": "harbour:CRSetEntry", "id": "did:ethr:0x4612.../<hash>", "statusPurpose": "revocation"}]

To:

"credentialStatus": [{"type": "harbour:CRSetEntry", "statusPurpose": "revocation", "statusServiceOperator": "did:ethr:0x14a34:0x4612FbF84Ef87dfBc363c6077235A475502346d1", "statusIndex": "<hash>"}]

Affected files:

  • simpulseid-administrator-credential.json
  • simpulseid-ascs-base-membership-credential.json
  • simpulseid-ascs-envited-membership-credential.json
  • simpulseid-participant-credential.json
  • simpulseid-user-credential.json

Tests

  • test_credential_status_registry_resolves updated: now checks statusServiceOperator equals the revocation registry DID and statusIndex is present (instead of checking old id prefix)

Documentation

  • docs/credentials/index.md credential skeleton updated with new fields

Submodule Pin

  • harbour-credentials pinned to fix/credential-status-did-compliance branch

Testing

  • make test simpulseid — 182 tests, 149 passed, 0 failed (remaining are slow SHACL mutation tests — all credential-related tests green)
  • SHACL positive baseline: all 5 credentials + 10 DIDs validated
  • All integrity tests passed including test_credential_status_registry_resolves
  • Evidence signing/verification chain green

Breaking Change

Same breaking change as harbour-credentials: consumers parsing credentialStatus[].id must update to read statusServiceOperator and statusIndex.

BREAKING CHANGE: credentialStatus entries use the new statusServiceOperator
+ statusIndex model instead of the old non-compliant DID path id notation.

- Migrate all 5 SimpulseID credential examples to new format
- Update test_examples_integrity.py: check statusServiceOperator and statusIndex
- Update docs/credentials/index.md credential skeleton
- Pin harbour-credentials submodule to fix/credential-status-did-compliance

Refs: reachhaven/harbour-credentials#6
Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
@jdsika jdsika self-assigned this Apr 22, 2026
@jdsika jdsika requested a review from flhps April 22, 2026 13:01
@jdsika jdsika added the bug Something isn't working label Apr 22, 2026
jdsika added 2 commits April 23, 2026 22:00
When the release workflow is triggered via workflow_dispatch, the target tag
does not yet exist in git history. git-cliff --latest picks up the previous
tag instead of generating notes for the new release.

Fix: create a lightweight local tag before running git-cliff so --latest
resolves to the correct range.

Also removes continue-on-error from the changelog step so failures are
surfaced instead of silently swallowed.

Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
The PR previously pinned to a feature branch commit (dd572d6) on
fix/credential-status-did-compliance. Update to the v1.1.0 release tag
(b89ddae) which includes the same CRSet model fix via squash-merge,
plus CI improvements and the TypeScript pipeline.

Refs: reachhaven/harbour-credentials#6
Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
@jdsika jdsika merged commit 0f57fb5 into main May 7, 2026
17 checks passed
@jdsika jdsika mentioned this pull request May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant