Skip to content

Energy vc edits#207

Closed
Anusree-J wants to merge 14 commits intobeckn:mainfrom
Anusree-J:energy-vc-edits
Closed

Energy vc edits#207
Anusree-J wants to merge 14 commits intobeckn:mainfrom
Anusree-J:energy-vc-edits

Conversation

@Anusree-J
Copy link
Copy Markdown
Contributor

1.Removed old VCs and restructure electricity credential into one credential with 5 objects, restructured program enrollment credential to use the same objects
2. Updated credentialStatus URLs across example files to use the correct DeDi registry format
3. Updated schemas so that generationProfile, storageProfile, consumptionProfile, and customerDetails are all optional
Only customerProfile remains required

@pramodkvarma @ameetdesh

claude and others added 14 commits March 23, 2026 12:09
Combines the 4 separate credentials (utility-customer, consumption-profile,
generation-profile, storage-profile) into a single W3C VC using the
credentialSubject array pattern. The 5 equal-level subjects are:
- ConsumerProfile (meterNumber, consumerNumber, maskedIdNumber)
- ConsumerDetails (fullName, installationAddress, serviceConnectionDate)
- ConsumptionProfile (premisesType, connectionType, sanctionedLoadKW, tariffCategoryCode)
- GenerationProfile (generationType, capacityKW, commissioningDate, manufacturer, modelNumber)
- StorageProfile (storageCapacityKWh, powerRatingKW, commissioningDate, storageType)

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Remove redundant id repetition across all 5 subjects. Now uses a single
credentialSubject object with the consumer DID declared once at the top,
and 5 equal-level sibling properties: consumerProfile, consumerDetails,
consumptionProfile, generationProfile, storageProfile.

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
1. credentialSubject.id now optional (per W3C VC Data Model)
2. serviceConnectionDate moved to customerProfile
3. Renamed to ElectricityCredential
4. Added validFrom/validUntil (VC Data Model 2.0 validity period)
5. Added maskedIdType alongside maskedIdNumber
6. Issuer id is now a URL (per W3C VC 2.0 issuer spec)
7. Added meterType (Smart, Conventional, Prepaid) to customerProfile
8. Renamed consumer → customer throughout

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Documents all classes, properties, ranges, and external vocabulary
mappings used by the ElectricityCredential specification.

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Renames the folder and updates all internal URIs (context.jsonld,
schema.json, example.json) and the parent readme.

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
- Delete utility-customer-vc, consumption-profile-vc,
  generation-profile-vc, storage-profile-vc
- Restructure program-enrollment-vc to use shared customerProfile
  and customerDetails objects (both optional), matching the
  electricity credential structure
- Upgrade program enrollment to W3C VC Data Model 2.0
  (validFrom/validUntil instead of issuanceDate/expirationDate)
- Rename validUntil field to enrollmentValidUntil to avoid
  collision with the VC-level validUntil
- Update parent readme

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Use correct URL format: example-utility.com/vc-revocation-registry

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Only customerProfile is required in credentialSubject. customerDetails,
consumptionProfile, generationProfile, and storageProfile are all optional.

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
licenseNumber is no longer a required field on the issuer object.

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Updated all references across both electricity-credential and
program-enrollment-vc specs.

https://claude.ai/code/session_01Uu922mXdheZs3VSroAkdqt
Expanded the overview of the Electricity Credential to include its versatility for different purposes.
Copy link
Copy Markdown
Contributor

@pramodkvarma pramodkvarma left a comment

Choose a reason for hiding this comment

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

Can we convert manu enums (as the documentation says) into actual enums in the schema spec. Looks like schema simply says "type:string" for many enums. Any specific reason?

Make validUntil an optional attribute if it's not already so.

Can we name the credential to "deg:customerCrendential" instead of "electricityCredential"?

Is address object reused from core existing objects? From schema.org? We should give option for geo tagging, short codes, etc as well.

Last object (issuer) is called "utility"? Why not just provider (for all credential it should be generic)?

@Anusree-J

@Anusree-J
Copy link
Copy Markdown
Contributor Author

Anusree-J commented Mar 24, 2026

  1. Can we convert manu enums (as the documentation says) into actual enums in the schema spec. Looks like schema simply says "type:string" for many enums. Any specific reason? For some fields, metertype specifically - there's no standard list of enums in use. Greenbutton defines birectional, forward, reverse. IES needs smart meter

  2. Make validUntil an optional attribute if it's not already so. Valid until is optional

  3. Can we name the credential to "deg:customerCrendential" instead of "electricityCredential"? Okay

  4. Is address object reused from core existing objects? From schema.org? We should give option for geo tagging, short codes, etc as well. Yes, address is taken from schema.org

  5. Last object (issuer) is called "utility"? Why not just provider (for all credential it should be generic)? can we just call this Issuer? as w3c vc data model suggests and not give another name for this?

@pramodkvarma

@Anusree-J Anusree-J closed this Mar 24, 2026
@Anusree-J Anusree-J deleted the energy-vc-edits branch March 24, 2026 04:35
@Anusree-J
Copy link
Copy Markdown
Contributor Author

#208 @pramodkvarma @ameetdesh

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.

4 participants