METADATA_KEY_ALLOWLIST.md
0. Purpose
Define metadata strictness per canonical GovernanceRecordType.
1. Global Rules
- Metadata must be flat
string -> string. - No nested objects, arrays, null, or undefined.
- Keys must be ASCII.
- Max key length: 64.
- Max value length: 512.
- Max entries per record: 32.
2. RecordType Metadata Registry
ACCESS_DECISION
recordType: ACCESS_DECISION
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
reasoncommentticketIdoriginquorumIdvoteRoundratifierId
POLICY_FREEZE
recordType: POLICY_FREEZE
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
policyVersioneffectiveFromdescription
TENDER_TRANSITION
recordType: TENDER_TRANSITION
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
fromStatetoStatereasonexternalReferenceauthDecisionEntryHashauthDecisionPayloadHash
AUCTION_TRANSITION
recordType: AUCTION_TRANSITION
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
fromStatetoStatebidReferenceexternalReferenceauthDecisionEntryHashauthDecisionPayloadHash
SETTLEMENT_INTENT
recordType: SETTLEMENT_INTENT
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
agreementIdexternalReferencememorequestIdauthDecisionEntryHashauthDecisionPayloadHashauthDecisionActionauthDecisionPolicyHash
SETTLEMENT_EVENT
recordType: SETTLEMENT_EVENT
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
externalTxIdproviderReferencenoteauthDecisionEntryHashauthDecisionPayloadHashauthDecisionActionauthDecisionPolicyHash
KES_VERSION_PROPOSED
recordType: KES_VERSION_PROPOSED
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
versionversionHashprevVersionHashtermsHashspecHashcostHashmilestonesHashpenaltyMatrixHashsettlementProfileHashauthDecisionEntryHashauthDecisionPayloadHashchainPrevVersionHashExpectedchainPrevVersionHashProvideddescriptionproposalReasonauthorIdroyaltyBpsroyaltyAddress
KES_VERSION_RATIFIED
recordType: KES_VERSION_RATIFIED
Required metadata keys:
- None (explicit)
Allowed optional metadata keys:
versionversionHashauthDecisionEntryHashauthDecisionPayloadHashratificationNote
3. Enforcement Rule
- Determine canonical recordType.
- Reject metadata keys outside its allowlist.
- Apply global metadata constraints.