Component Metadata Profile Specification
1. Purpose
The Component Metadata Profile Specification defines the governed type-specific Constitutional Header blocks used to make ZAYAZ components self-explainable.
This specification covers the first-round reusable component profiles for:
- Micro Engines (MICE);
- Major Engines;
- APIs;
- Registries;
- Validators;
- Reports;
- Agents;
- Workflows.
Pergamum Pulse is intentionally excluded from this version because its metadata requirements are materially larger and require a dedicated profile specification.
The governing principle is:
Every component SHALL be able to explain what it is, what it does, what it consumes, what it produces, what it depends on, and how it participates in governed ZAYAZ execution.
2. Architectural Position
Constitutional Metadata Standard
|
v
Universal Constitutional Header
|
v
Document Type Profile
|
v
Component Metadata Profile
|
v
VW-DL Validation
|
v
Self-Describing Architecture Graph
The universal Constitutional Header establishes the identity and governance of the document.
The Component Metadata Profile describes the component represented by the document.
3. Common Component Semantics
Every component profile SHOULD support the following common concepts:
purpose:
signals_in:
signals_out:
dependencies:
interfaces:
validation:
status:
A component SHOULD be able to answer:
- What am I?
- What capability do I provide?
- What governed signals do I require?
- What governed signals do I emit?
- What other components do I depend on?
- What interfaces do I expose?
- What validation applies to me?
- What lifecycle state am I in?
4. CSI Signal Contract
4.1 Header Form
Constitutional Headers SHALL use the unversioned CSI family form:
<csi_module>.<csi_component>.<csi_kind>.<csi_name>
Example:
comp.AIIL.INPUT.TRUST-SCORE
Runtime or published CSI contracts may use:
<csi_module>.<csi_component>.<csi_kind>.<csi_name>.v<major>_<minor>
Example:
comp.AIIL.INPUT.TRUST-SCORE.v1_0
The omission of the version in Constitutional Header metadata is intentional. The Header expresses the signal family; runtime binding resolves concrete versions.
4.2 Registry Authority
Published CSI bindings SHALL resolve through:
zar.signal_csi_binding
4.3 Missing CSI
If a CSI family is not found:
- VW-DL SHALL describe the missing signal;
- VW-DL SHALL emit a structured finding;
- the finding SHALL identify
zar.signal_csi_bindingas the expected registry; - the signal SHALL be marked
missing-registration; - missing registration MAY be a warning for proposed/draft components;
- missing registration SHOULD be an error for active production components.
Example:
{
"rule_id": "CSI-005",
"severity": "WARNING",
"status": "missing-registration",
"signal": "comp.TRUSTGATE.OUTPUT.TRUST-DELTA",
"registry": "zar.signal_csi_binding",
"message": "CSI signal family is declared by the component but is not published in zar.signal_csi_binding."
}
5. Micro Engine (MICE) Profile
5.1 Purpose
The mice: block describes a governed Micro Engine.
A Micro Engine is a specialised component with a governed Micro Engine Identifier (MEID), defined domain/capability/function identity, explicit signal contracts, lifecycle status, registry presence and CMI binding.
5.2 Canonical Block
mice:
meid:
category:
domain:
capability:
function:
status:
purpose:
signals_in: []
signals_out: []
input_types: []
supported_modes: []
api:
route:
method:
metric_types_supported: []
source_map_ref:
cmi_binding:
5.3 MEID Grammar
MEID SHALL follow:
MEID_<DOMAIN>_<CAPABILITY>_<FUNCTION>
Example:
MEID_TRUST_ENRICH_FEEDBACK
5.4 MEID Authorities
MEID validation SHALL use:
zar.meid_domain
zar.meid_capability
zar.meid_function
zar.meid_status
zar.meid_registry
zar.meid_cmi_binding
zar.generate_meid
5.5 MICE Rules
| Rule | Description |
|---|---|
| MICE-001 | mice.meid exists |
| MICE-002 | MEID matches governed grammar |
| MICE-003 | DOMAIN resolves through zar.meid_domain |
| MICE-004 | CAPABILITY resolves through zar.meid_capability |
| MICE-005 | FUNCTION resolves through zar.meid_function |
| MICE-006 | zar.generate_meid reproduces declared MEID |
| MICE-007 | MEID resolves through zar.meid_registry |
| MICE-008 | Status resolves through zar.meid_status |
| MICE-009 | CMI binding resolves through zar.meid_cmi_binding |
| MICE-010 | Every signals_in CSI is syntactically valid |
| MICE-011 | Every signals_out CSI is syntactically valid |
| MICE-012 | Published CSI families resolve through zar.signal_csi_binding |
| MICE-013 | API metadata is valid where an API is declared |
| MICE-014 | Supported modes use governed values when a registry exists |
5.6 Example
mice:
meid: MEID_TRUST_ENRICH_FEEDBACK
category: ENRICH
domain: trust
capability: enrich
function: feedback
status: proposed
purpose: >
Enriches governed trust feedback for publication, telemetry,
learning and assurance intelligence.
signals_in:
- comp.TRUSTGATE.INPUT.FEEDBACK
- comp.DAL.OUTPUT.VERIFICATION
signals_out:
- comp.TRUSTGATE.OUTPUT.FEEDBACK-PUBLISHED
- comp.TRUSTGATE.OUTPUT.TRUST-DELTA
input_types:
- json
supported_modes:
- ai-feedback
- telemetry-publication
- trust-learning
- assurance-intelligence
api:
route: /api/trustgate/MEID_TRUST_ENRICH_FEEDBACK
method: POST
source_map_ref: EngineAliasMap
6. Major Engine Profile
6.1 Purpose
The engine: block describes a major engine or governed engine-class component.
A major engine may depend on Micro Engines and other engines and SHALL explicitly describe its signal contracts and dependencies.
6.2 Canonical Block
engine:
eid:
category:
domain:
status:
purpose:
signals_in: []
signals_out: []
micro_engines: []
engine_dependencies: []
interfaces: []
api:
route:
method:
registries: []
validators: []
cmi_bindings: []
6.3 Engine Rules
| Rule | Description |
|---|---|
| ENG-001 | EID exists |
| ENG-002 | EID satisfies the governed EID grammar |
| ENG-003 | EID resolves through the canonical Engine registry |
| ENG-004 | Engine status resolves through the canonical lifecycle registry |
| ENG-005 | Engine domain resolves |
| ENG-006 | Declared Micro Engines resolve through zar.meid_registry |
| ENG-007 | Engine dependencies resolve |
| ENG-008 | Circular engine dependencies are prohibited unless explicitly governed |
| ENG-009 | signals_in CSI families are valid |
| ENG-010 | signals_out CSI families are valid |
| ENG-011 | Published CSI families resolve through zar.signal_csi_binding |
| ENG-012 | CMI bindings resolve |
| ENG-013 | Declared validators resolve |
| ENG-014 | Declared registries resolve |
6.4 EID Finalisation Requirement
The exact EID grammar and authoritative Engine registry SHALL be finalised before ENG-002 and ENG-003 become blocking.
Until then:
- unresolved EID grammar SHALL be reported as
profile-governance-pending; - registry checks SHALL be warning-level unless an authoritative Engine registry exists;
- no local EID convention SHALL silently become canonical through VW-DL implementation.
7. API Profile
7.1 Canonical Block
api:
api_id:
status:
route:
method:
purpose:
signals_in: []
signals_out: []
input_schema:
output_schema:
authentication:
authorization:
rate_limit_profile:
versioning:
7.2 API Rules
| Rule | Description |
|---|---|
| API-001 | API identity exists where registry governance requires one |
| API-002 | Route is declared |
| API-003 | HTTP method is valid |
| API-004 | Input schema resolves |
| API-005 | Output schema resolves |
| API-006 | Authentication model is declared |
| API-007 | Authorization model is declared where required |
| API-008 | CSI signals resolve |
| API-009 | Versioning model is declared for published APIs |
8. Registry Profile
8.1 Canonical Block
registry:
registry_id:
status:
purpose:
authority:
owner:
schema:
version:
storage:
write_policy:
read_policy:
generated:
generator:
dependencies: []
8.2 Registry Rules
| Rule | Description |
|---|---|
| REG-001 | Registry identity exists |
| REG-002 | Registry identity resolves where a canonical registry-of-registries exists |
| REG-003 | Owner exists |
| REG-004 | Authority is declared |
| REG-005 | Schema resolves |
| REG-006 | Version valid |
| REG-007 | Generated registries declare generator |
| REG-008 | Dependencies resolve |
| REG-009 | Write policy exists for authoritative registries |
9. Validator Profile
9.1 Canonical Block
validator:
validator_id:
status:
purpose:
validates:
evidence_requirements: []
signals_in: []
signals_out: []
rulesets: []
schemas: []
severity_model:
hecate_profile:
deterministic:
9.2 Validator Rules
| Rule | Description |
|---|---|
| VAL-001 | Validator identity exists |
| VAL-002 | Validator status valid |
| VAL-003 | Validation target is declared |
| VAL-004 | Evidence requirements defined |
| VAL-005 | Rulesets resolve |
| VAL-006 | Schemas resolve |
| VAL-007 | CSI signals resolve |
| VAL-008 | Severity model declared |
| VAL-009 | HECATE profile resolves where declared |
| VAL-010 | Deterministic/non-deterministic behaviour declared |