Conversation
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.
pramodkvarma
left a comment
There was a problem hiding this comment.
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)?
|
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