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

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

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

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)