Skip to main content
Jira progress: loading…

MEID_STANDARD

Canonical Micro-Engine Identity (MEID) Standard

1. Purpose​

The Canonical Micro-Engine Identity (MEID) Standard defines the stable, ZAR-governed identity model for executable micro-engines across ZAYAZ.

A MEID identifies the logical micro-engine independent of software version, implementation language, deployment environment, runtime instance, or tenant configuration.

The standard ensures that every micro-engine can be named consistently, discovered through ZAR, mapped to one or more versioned CMIs, referenced by architecture documents and Jira epics, and preserved in telemetry, replay, DAL anchors, and Pergamum Pulse.


2. Scope​

MEIDs are mandatory for executable micro-engines and runtime processors in MICE, TrustGate, AAE, DAL, DSAIL, AII, ZSSR, EIF, EGFS, and shared ZAR/SIS services.

A MEID is not used for individual runtime executions, records, schemas, dashboards, UI components, datasets, policies, or standalone documents.


3. Identity Model​

Every micro-engine has two primary identifiers:

IdentifierPurposeStableVersionedExample
MEIDStable logical identity of the engineYesNoMEID_GHG_CALC_INTENSITY
CMIVersioned implementation artifact identityNoYescomp.GHG-INT.ENGINE.CALCULATOR.1_0_0

The MEID answers: Which logical engine is this?

The CMI answers: Which versioned implementation executed?

Relationship:

MEID_GHG_CALC_INTENSITY
├── CMI: comp.GHG-INT.ENGINE.CALCULATOR.1_0_0
├── CMI: comp.GHG-INT.ENGINE.CALCULATOR.1_1_0
└── CMI: comp.GHG-INT.ENGINE.CALCULATOR.2_0_0

4. Canonical MEID Structure​

The canonical MEID structure is:

MEID_<DOMAIN>_<CAPABILITY>_<FUNCTION>
PartMeaningRegistry Table
DOMAINSemantic or functional area of the enginezar.meid_domain
CAPABILITYClass of action performed by the enginezar.meid_capability
FUNCTIONConcrete implementation role of the enginezar.meid_function

Example:

MEID_TRUST_SCORE_CALCULATOR
PartValue
PrefixMEID
DomainTRUST
CapabilitySCORE
FunctionCALCULATOR

5. DOMAIN, CAPABILITY, and FUNCTION​

5.1. DOMAIN​

DOMAIN identifies the stable semantic area in which the engine operates.

Examples include GHG, ENERGY, WATER, WASTE, TRUST, SIGNAL, FEDERATION, LINEAGE, AI, and RESOURCE.

DOMAIN is not necessarily the documentation module or CMI module prefix. For example, a TrustGate engine belongs to the Verification & Assurance module in CMI terms, but its MEID domain may be TRUST, SIGNAL, REPLAY, FEDERATION, or POLICY.

5.2. CAPABILITY​

CAPABILITY identifies what the engine does.

Examples include CALC, VALIDATE, SCORE, NORMALIZE, REPLAY, ATTEST, ANCHOR, ROUTE, VERIFY, EXPORT, and SYNCHRONIZE.

5.3. FUNCTION​

FUNCTION identifies the concrete executable role.

Examples include CALCULATOR, VALIDATOR, PARSER, ROUTER, GENERATOR, SYNCHRONIZER, REPLAYER, EVALUATOR, and NORMALIZER.


6. Valid and Invalid Examples​

6.1. Valid Examples​

MEIDMeaning
MEID_GHG_CALC_INTENSITYGHG intensity calculation engine
MEID_GHG_AGGR_AGGREGATIONGHG aggregation engine
MEID_ENERGY_CALC_INTENSITYEnergy intensity calculation engine
MEID_WASTE_CLASSIFY_HAZARDWaste hazard classification engine
MEID_SIGNAL_NORMALIZE_UNITUnit normalization engine for signals
MEID_TRUST_SCORE_CALCULATORTrust score calculation engine
MEID_TRUST_VALIDATE_VALIDATORTrust validation engine
MEID_FEDERATION_SYNCHRONIZE_SYNCHRONIZERFederation synchronization engine

6.2. Invalid Examples​

Invalid MEIDReason
MEID_TG001Non-semantic numeric identifier
MEID_CORE_NORMAmbiguous domain and abbreviated function
MEID_CALC_GHG_INTDoes not follow <DOMAIN>_<CAPABILITY>_<FUNCTION> order
MEID_GHG_INTENSITYMissing capability
MEID_TRUST_SCOREMissing function
MEID_signal_normalize_unitLowercase not allowed
MEID_TRUST-SCORE-CALCULATORHyphens not allowed
MEID_MICE_GHG_CALC_INTENSITYModule encoded into MEID

7. Registry Architecture​

The MEID registry is implemented under the zar schema.

zar.meid_status
zar.meid_domain
zar.meid_capability
zar.meid_function
zar.meid_registry
zar.meid_cmi_binding

Registry flow:

Domain Vocabulary
│
Capability Vocabulary
│
Function Vocabulary
│
▼
Canonical MEID Registry
│
▼
CMI Binding Registry

8. Registry Tables​

8.1. zar.meid_status​

StatusMeaning
proposedSubmitted but not approved
activeApproved and available
deprecatedStill recognized but not recommended
reservedReserved for future or protected use
blockedExplicitly disallowed
retiredNo longer valid for active runtime use
experimentalSandbox or prototype use only

8.2. zar.meid_domain​

Stores approved domain vocabulary.

FieldDescription
domain_codeUppercase domain code
canonical_nameHuman-readable name
descriptionMeaning and scope
statusLifecycle status
created_atCreation timestamp
updated_atLast update timestamp

8.3. zar.meid_capability​

Stores approved capability vocabulary.

8.4. zar.meid_function​

Stores approved function vocabulary.

8.5. zar.meid_registry​

Stores canonical MEIDs.

Recommended fields include meid, domain_code, capability_code, function_code, canonical_name, description, owner_module, engine_class, tier, status, created_by, approved_by, approved_at, created_at, and updated_at.

The registry MUST enforce:

meid = 'MEID_' || domain_code || '_' || capability_code || '_' || function_code

8.6. zar.meid_cmi_binding​

Stores bindings between a stable MEID and one or more versioned CMIs.

Only one CMI SHOULD be marked is_current = true per MEID unless an approved parallel runtime strategy exists.


9. Naming Rules​

MEIDs MUST:

  • start with MEID_;
  • use uppercase ASCII letters, numbers, and underscores only;
  • use exactly three vocabulary components after MEID_;
  • use vocabulary values registered in ZAR;
  • be globally unique.

MEIDs SHOULD NOT include:

  • version numbers;
  • programming language;
  • cloud vendor;
  • tenant;
  • region;
  • release date;
  • temporary project names;
  • implementation detail.

10. Lifecycle​

proposed
↓
reserved
↓
active
↓
deprecated
↓
retired

Alternative branch:

proposed
↓
blocked

11. MEID Generation Workflow​

The MEID Canonical Name Engine SHALL implement this workflow:

  1. Select or propose a DOMAIN.
  2. Select or propose a CAPABILITY.
  3. Select or propose a FUNCTION.
  4. Validate all three parts against ZAR vocabulary tables.
  5. Generate the canonical MEID.
  6. Check for duplicates in zar.meid_registry.
  7. Return the existing MEID if one already exists.
  8. Register the MEID as proposed, reserved, or active.
  9. Bind one or more CMIs through zar.meid_cmi_binding.
  10. Record creator, approver, timestamps, and lifecycle status.

12. API Requirements​

12.1. Preview​

POST /meid/preview

Request:

{
"domain": "TRUST",
"capability": "SCORE",
"function": "CALCULATOR"
}

Response:

{
"meid": "MEID_TRUST_SCORE_CALCULATOR",
"exists": false,
"valid": true
}

12.2. Register​

POST /meid/register

Request:

{
"domain": "TRUST",
"capability": "SCORE",
"function": "CALCULATOR",
"canonical_name": "Trust Score Calculator",
"description": "Calculates final TrustGate trust score from weighted evidence components.",
"owner_module": "verification-assurance",
"engine_class": "Assurance-Engine",
"tier": "tier-0"
}

12.3. Bind CMI​

POST /meid/bind-cmi

Request:

{
"meid": "MEID_TRUST_SCORE_CALCULATOR",
"cmi": "vera.TG-SCORE.ENGINE.CALCULATOR.1_0_0",
"zar_code": "TGS05",
"is_current": true
}

13. SQL Reference​

The canonical generation function MAY be implemented as:

create or replace function zar.generate_meid(
p_domain text,
p_capability text,
p_function text
)
returns text
language sql
immutable
as $$
select 'MEID_' || upper(p_domain) || '_' || upper(p_capability) || '_' || upper(p_function);
$$;

14. Governance​

MEID governance is owned by ZAR.

Governance requirements:

  • New domain, capability, or function values require approval.
  • Existing vocabulary values should be deprecated rather than deleted.
  • Active MEIDs must not be renamed.
  • If a MEID name is wrong, create a new MEID and deprecate the old one.
  • CMI bindings must preserve historical auditability.
  • Production MEIDs must be linked to at least one approved CMI before deployment.

15. Migration Guidance​

Some existing MEIDs do not yet follow the canonical grammar.

Existing MEIDRecommended Canonical MEID
MEID_CALC_GHG_INTMEID_GHG_CALC_INTENSITY
MEID_CALC_GHG_AGGRMEID_GHG_AGGR_AGGREGATION
MEID_CALC_ENERGY_INTMEID_ENERGY_CALC_INTENSITY
MEID_CORE_NORMMEID_SIGNAL_NORMALIZE_UNIT or MEID_SIGNAL_NORMALIZE_NORMALIZER
MEID_UOM_001MEID_RESOURCE_AGGR_AGGREGATION or MEID_SIGNAL_NORMALIZE_UNIT
MEID_ASRE_AAECandidate for AAE-specific governance review

Migration should use aliases and deprecation rather than destructive renaming.


16. Reference Vocabulary​

16.1. Domains​

CodeCanonical Name
GHGGreenhouse Gas Emissions
ENERGYEnergy
WATERWater
WASTEWaste
FINANCEFinance
TRUSTTrust and Assurance
SIGNALSignal Processing
SUPPLIERSupplier Intelligence
PRODUCTProduct Sustainability
RISKRisk Intelligence
GOVERNANCEGovernance
AIArtificial Intelligence
REPLAYReplay Verification
FEDERATIONFederation Services
LINEAGELineage and Provenance
IDENTITYIdentity and Credentials
SECURITYSecurity
POLICYPolicy Management
AUDITAudit and Compliance
RESOURCEResource Intelligence
POLLUTIONPollution

16.2. Capabilities​

CodeCanonical Name
CALCCalculation
TRANSTransformation
VALIDATEValidation
SCOREScoring
NORMALIZENormalization
AGGRAggregation
CLASSIFYClassification
ALLOCATEAllocation
REPLAYReplay
ATTESTAttestation
ANCHORLedger Anchoring
ROUTERouting
ENRICHEnrichment
INGESTIngestion
DETECTDetection
MONITORMonitoring
ORCHESTRATEOrchestration
VERIFYVerification
EXPLAINExplainability
PREDICTPrediction
OPTIMIZEOptimization
EXPORTExport
IMPORTImport
SYNCHRONIZESynchronization
RESOLVEResolution
GENERATEGeneration
PROJECTProjection

PROJECT is conditional evaluation under a declared scenario or pathway (Scenario Engines, SCEN). It is distinct from PREDICT, which infers an outcome from data (Estimation & Forecasting Engines, ESTM).

16.3. Functions​

CodeCanonical Name
INTENSITYIntensity
AGGREGATIONAggregation
SCOPE1Scope 1
SCOPE2Scope 2
SCOPE3Scope 3
SHAREShare or Composition
BUDGETBudget
TARGET_GAPDistance to Target
HAZARDHazard Classification
TREATMENTTreatment Classification
UNITUnit Handling
FINALFinal Score
DECISIONDecision
SIGNALSignal
PARSERParser
VALIDATORValidator
CALCULATORCalculator
ORCHESTRATOROrchestrator
COORDINATORCoordinator
ROUTERRouter
CLASSIFIERClassifier
DETECTORDetector
GENERATORGenerator
EXPORTERExporter
IMPORTERImporter
SYNCHRONIZERSynchronizer
RESOLVERResolver
MONITORMonitor
ANCHORAnchor
ATTESTATIONAttestation
REPLAYERReplayer
EVALUATOREvaluator
ENRICHEREnricher
TRANSFORMERTransformer
NORMALIZERNormalizer
ELECTRICITYElectricity
FUELFuel
RENEWABLERenewable Energy
AIR_TRANSPORTAir Transport
FARMFarm Operations
MACHINERYMachinery
INVOICEInvoice-based Emissions
SPENDSpend-based Emissions
SCOPE2_ADJUSTMENTScope 2 Market Adjustment
SCOPE3_CATEGORYScope 3 Category
INDEXIndex
DELTADelta
SPLITSplit Allocation
AGRIVISIONAgricultural Vision
CONSUMPTIONConsumption
DISCHARGEDischarge
WITHDRAWALWithdrawal
STRESSWater Stress
DIVERSIONDiversion Rate
CHEMICALSChemicals
MANAGEMENTManagement
TRANSITION_ROITransition Return on Investment
CARBON_FINANCECarbon Finance
CARBON_PRICECarbon Price
FOOTPRINTFootprint
LIFECYCLELife Cycle
EPDEnvironmental Product Declaration
EMISSION_FACTOREmission Factor
ACCOUNTS_PAYABLEAccounts Payable
CRAWLERCrawler
AIR_QUALITYAir Quality
INTERPOLATORInterpolator
FORECASTERForecaster
INFERENCEInference
DEVICEDevice
DOCUMENTDocument
VECTORIZERVectorizer
ALIGNMENTAlignment
OCCUPANCYOccupancy
COVERAGECoverage
COMPLETENESSCompleteness
RECONCILIATIONReconciliation
AUDITAudit
CONTEXTContext
LEDGERLedger
FEDERATIONFederation
FEEDBACKFeedback
RUNTIMERuntime
SCHEDULERScheduler
STRUCTUREStructure
RULESRules
POLICYPolicy
QUARANTINEQuarantine
CONFIGURATIONConfiguration
PURCHASED_GOODSPurchased Goods and Services (Scope 3 cat. 1)
CAPITAL_GOODSCapital Goods (Scope 3 cat. 2)
FUEL_ENERGY_ACTIVITIESFuel- and Energy-related Activities (Scope 3 cat. 3)
UPSTREAM_TRANSPORTUpstream Transportation and Distribution (Scope 3 cat. 4)
OPERATIONAL_WASTEWaste Generated in Operations (Scope 3 cat. 5)
BUSINESS_TRAVELBusiness Travel (Scope 3 cat. 6)
EMPLOYEE_COMMUTINGEmployee Commuting (Scope 3 cat. 7)
UPSTREAM_LEASED_ASSETSUpstream Leased Assets (Scope 3 cat. 8)
DOWNSTREAM_TRANSPORTDownstream Transportation and Distribution (Scope 3 cat. 9)
PRODUCT_PROCESSINGProcessing of Sold Products (Scope 3 cat. 10)
PRODUCT_USEUse of Sold Products (Scope 3 cat. 11)
END_OF_LIFEEnd-of-Life Treatment of Sold Products (Scope 3 cat. 12)
DOWNSTREAM_LEASED_ASSETSDownstream Leased Assets (Scope 3 cat. 13)
FRANCHISESFranchises (Scope 3 cat. 14)
INVESTMENTSInvestments (Scope 3 cat. 15)
ACTIVITY_FACTORActivity × Emission Factor (average-data method)
SUPPLIER_SPECIFICSupplier-specific Data
TRANSPORTTransport, all modes (journey of air, road, rail, sea and inland-waterway legs)
WASTE_TREATMENTWaste Treatment Emissions
USE_PHASEUse-phase Emissions
FINANCED_EMISSIONSFinanced Emissions (PCAF attribution)

Function codes are the specific segment of a MEID. The list grows with the engine inventory and is reference vocabulary rather than a closed enumeration, but every value SHALL be registered here (and in zar.meid_function) before it is used in a MEID. A function code MAY contain _ (TARGET_GAP, SCOPE2_ADJUSTMENT); validators SHALL resolve the three MEID segments by vocabulary lookup, not by splitting on _.

16.4. MICE Types​

mice.category on an engine document SHALL be the type_code of a registered MICE Type document (see MTPS-001). The MICE Type bounds which §16.2 capabilities an engine's MEID may carry. The registry projection config/system/mice-types.json is generated from the type documents and is the authority for this table; it is reproduced here for reference.

Type codeMICE TypeAllowed capabilities
AGGRAggregation EnginesAGGR
ALERTAlert EnginesDETECT, MONITOR
AMEAssurance / Meta enginesVERIFY, ATTEST, SCORE, DETECT
CALCCalculation EnginesCALC, ALLOCATE
CONNConnector EnginesIMPORT, EXPORT, SYNCHRONIZE
CTRLControl & Governance EnginesATTEST, ANCHOR, REPLAY, ROUTE, ORCHESTRATE, MONITOR, RESOLVE, EXPORT
ESTMEstimation & Forecasting EnginesPREDICT, CLASSIFY
EXTRExtraction EnginesINGEST
GEOXGeospatial EnginesRESOLVE, CLASSIFY
METAMetadata Enrichment EnginesENRICH, CLASSIFY
NORMNormalization EnginesNORMALIZE
RMAPRisk Mapping EnginesCLASSIFY
RSLUResolution EnginesRESOLVE, CLASSIFY
SCENScenario EnginesPROJECT, OPTIMIZE
SCOREScoring EnginesSCORE
SENSSensor Logic UnitsVALIDATE, TRANS, DETECT
TRFMTransformation EnginesTRANS, CLASSIFY, NORMALIZE
TSERTime-Series EnginesTRANS, VALIDATE, SYNCHRONIZE
UOM-TYPEUOM EnginesAGGR, CALC, RESOLVE, VALIDATE
VALIValidator EnginesVALIDATE

UOM-TYPE is deprecated: its members migrate to NORM, RSLU and VALI. GEOX is a sub-type of RSLU.


17. Summary​

MEID gives ZAYAZ a stable identity layer for executable micro-engines.

CMI identifies versioned implementation artifacts.

MEID identifies stable logical engines.

Together they provide runtime traceability, deterministic replay, DAL auditability, ZAR governance, architecture graph consistency, and scalable developer naming discipline.

GitHub RepoRequest for Change (RFC)