Skip to main content
Jira progress: loading…

TG-RULE-EVALUATOR

TrustGate Rule Evaluation Engine

0. Identity

Loading identity…

Depends on module:

Decision-grade verification and assurance domain that orchestrates verifier workflows, evidence handling, trust scoring, audit trails, and assurance packaging across CSRD/ESRS and other frameworks. Enables third-party sign-off, dispute handling, and assurance-ready disclosure outputs with replayable provenance.
Domain:
assurance-verification
Category:
trust-assurance
Classification:
module
Lifecycle status:
active
Semver:
1.0.0
Introduced in:
v0.3
Governance
AI risk level:
high
Trust threshold:
0.97
Human review required:
true
Verifier involved:
true
Audit required:
true
Ownership
Primary owner:
Platform
Architecture board:
true
White-label allowed:
true
Entrypoints
Docs:
/verification-assurance
UI:
/app/assurance
API:
/api/assurance
Dependencies
Modules
  • sis
  • input-hub
  • reports-insights-hub
  • zara
  • zaam
Unresolved tokens
  • ALTD
  • DAL
  • EvidenceVault
  • StripeConnect
  • TruliooKYB
  • TrustGate
  • VTE
  • VerifierWorkflowEngine
Engines (declared)
  • VerifierWorkflowEngine
  • DaVE
  • VTE
  • DICE
  • EvidenceVault
  • ALTD
  • DAL
  • TrustGate
  • StripeConnect
  • TruliooKYB
  • AISIM
Micro-engines (from registry)
None
Micro-engines (declared)
None
Signals
USO
  • ASSURANCE.VERIFICATION
  • ASSURANCE.EVIDENCE
  • ASSURANCE.SIGNOFF
  • AUDIT.LINEAGE
  • GOVERNANCE.TRUST
  • IDENTITY.VERIFIER
  • PAYMENT.ESCROW
CSI
  • CSI_VERIFICATION_ASSURANCE
SSSR tags
  • assurance
  • verification
  • verifiers
  • evidence
  • signoff
  • trust-score
  • audit
  • tamper-detection
  • blockchain
  • rfp
  • disputes
  • escrow
  • stripe-connect
Workflows & Outputs
Workflows
  • VerifierOnboardingAndQualification
  • AssuranceRFPAndProposalFlow
  • EvidenceRequestAndCollection
  • EvidenceValidationAndScoring
  • TrustScoreComputationAndPropagation
  • VerifierReviewAndCommenting
  • IssueFlaggingAndDisputeResolution
  • VerifierSignOffAndStamping
  • AssurancePackagingForReports
  • PaymentEscrowAndPayoutOrchestration
Outputs
  • verifier_profiles
  • assurance_requests
  • evidence_packages
  • validation_findings
  • trust_score_updates
  • signoff_stamps
  • assurance_ready_disclosure_packages
  • payment_events
Audit
Ledger:
ALTD
Replay supported:
true
PII policy:
controlled_pii_outside_omr
Tags

1. Purpose

The TrustGate Rule Evaluation Engine evaluates registered platform validation and assurance rules against enriched TrustGate runtime objects.

Where the Structure Validation Engine verifies that a signal is structurally valid, the Rule Evaluation Engine determines whether the signal satisfies the applicable operational, semantic, assurance, governance, federation, replay, and policy rules required before TrustGate scoring and routing.

The engine is the first TrustGate runtime component that executes rules from the platform-wide zar.validation_rule_registry.

It does not calculate the final Trust Score. Instead, it produces a deterministic rule evaluation result set that becomes one of the primary inputs to the Trust Scoring Engine, Decision Engine, Quarantine Manager, Replay Engine, AII, and AAE.


2. Position within TrustGate Runtime

Signal Parser


Structure Validation


Signal Normalizer


Context Enrichment


──────────────────────────────────────────
Rule Evaluation Engine
──────────────────────────────────────────


TG-RULE-EVALUATOR — Rule Evaluation Engine


TG-POLICY-RESOLUTION — Policy Resolution Engine


TG-SCORE-TRUST — Trust Scoring Engine


TG-DECISION — Decision Engine


Quarantine / Attestation / DAL / Replay

The Rule Evaluation result contributes to downstream Policy Resolution, Trust Scoring, Decision, Quarantine, Replay, and assurance processes.

Runtime orchestration shall nevertheless preserve the canonical order: Rule Evaluation → Policy Resolution → Trust Scoring → Decision.


3. Canonical Identity

PropertyValue
Engine NameTrustGate Rule Evaluation Engine
MEIDMEID_SIGNAL_VALIDATE_EVALUATOR
CMIvera.TG-RULE.ENGINE.EVALUATOR.1_0_0
ZAR CodeTGR08
KindENGINE
Owner ModuleVerification & Assurance
Runtime TierTier-0 Assurance Runtime
Primary Registryzar.validation_rule_registry
Replay SupportNative
DAL AnchoringEvaluation summary and critical findings
Federation AwareYes

4. Scope

The Rule Evaluation Engine evaluates rules across several platform domains.

Rule DomainDescription
SIGNALSignal structure, fields, formats, and semantic payload expectations
IDENTITYECO Number, DID, organization, federation identity, and controller checks
ENGINEMEID, CMI, ZAR artifact, engine compatibility, and runtime registration checks
METRICMetric identifiers, CSI references, semantic metric definitions, and compatibility
UNITUnit compatibility, UOM normalization, conversion eligibility, and dimensional checks
CRYPTOSignatures, hashes, proofs, certificates, Merkle paths, and integrity metadata
POLICYGovernance policies, policy bundles, routing constraints, and tenant overrides
REPLAYReplay readiness, deterministic reproducibility, replay references, and replay drift
FEDERATIONCross-ECO validity, federation status, AFLE attestations, and EGFS node state
AIAI model registration, explainability status, model approval, and confidence metadata
LINEAGEUSO chain completeness, DAL reference validity, and transformation lineage
ASSURANCEAssurance evidence, attestation completeness, verifier state, and certification readiness
DATA_QUALITYCompleteness, consistency, timeliness, accuracy, and quality indicators
SECURITYAuthorization, authentication, access policy, and runtime security constraints

5. Runtime Responsibilities

The Rule Evaluation Engine is responsible for:

  • loading applicable validation rules from zar.validation_rule_registry;
  • selecting rules by domain, category, function, MEID, CMI, CSI, tenant, policy bundle, and federation profile;
  • evaluating rule expressions deterministically;
  • recording rule results with severity, action, and evidence;
  • producing replayable rule evaluation artifacts;
  • flagging rule failures for trust scoring and routing;
  • marking quarantine candidates;
  • emitting rule telemetry to VIZZ and AAE;
  • preparing rule evaluation summaries for DAL anchoring;
  • preserving full explainability for auditors and replay engines.

The engine SHALL NOT modify factual signal values.


6. Rule Evaluation Architecture

Enriched Signal


Rule Scope Resolver


Rule Registry Loader


Policy Overlay Resolver


Rule Execution Planner


Expression Evaluator


Result Aggregator


Severity Mapper


Action Resolver


Rule Evaluation Output

7. Runtime Processing Pipeline

StageDescription
ReceiveAccept enriched signal from Context Enrichment Engine.
ScopeDetermine applicable rule scope.
LoadLoad active rules from ZAR registry.
OverlayApply tenant, policy, jurisdiction, and federation overlays.
PlanBuild deterministic execution order.
EvaluateExecute each rule expression.
AggregateCombine rule results into a summary.
ResolveDetermine severity and action outcomes.
EmitPublish rule results and telemetry.
Prepare ReplayStore deterministic rule execution context.

8. Rule Selection Algorithm

Rule selection is deterministic and policy-driven.

Rules are selected using the following inputs:

InputPurpose
signal_typeDetermines signal-specific rule groups.
metric_typeSelects metric validation and semantic rules.
eco_numberSelects tenant, entity, and federation-specific rule overlays.
csiSelects schema and interface rules.
meidSelects engine-specific rules.
cmiSelects implementation-specific rules.
policy_bundleSelects FAGF governance policy rules.
federation_profileSelects AFLE/EGFS-specific federation rules.
assurance_tierSelects assurance intensity and review requirements.

9. Runtime Algorithm

function evaluateRules(enrichedSignal):

scope = RuleScopeResolver.resolve(enrichedSignal)

baseRules = RuleRegistry.load(
domain = scope.rule_domains,
status = "active"
)

scopedRules = RuleSelector.filter(
baseRules,
signal_type = enrichedSignal.signal_type,
metric_type = enrichedSignal.metric.metric_type,
csi = enrichedSignal.schema.csi,
meid = scope.meid,
cmi = scope.cmi,
federation_profile = enrichedSignal.federation.profile,
policy_bundle = enrichedSignal.governance.policy_bundle
)

overlays = PolicyOverlayResolver.load(enrichedSignal)

effectiveRules = RuleOverlayMerger.merge(scopedRules, overlays)

executionPlan = RulePlanner.order(effectiveRules)

results = []

for rule in executionPlan:
result = RuleExpressionEvaluator.evaluate(rule, enrichedSignal)
results.append(result)

if result.action == "abort":
break

summary = RuleResultAggregator.aggregate(results)

emit(summary)

return summary

All rule execution SHALL be deterministic for replay compatibility.


10. Rule Execution Formula

Each rule produces a binary or weighted evaluation result.

For binary rules:

Ri{0,1}R_i \in \{0,1\}

where:

  • 11 = rule passed
  • 00 = rule failed

For weighted rule scoring:

RulePassRatio=i=1nwiRii=1nwiRulePassRatio = \frac{ \sum_{i=1}^{n} w_i R_i } { \sum_{i=1}^{n} w_i }

The Rule Pass Ratio is not the final Trust Score. It is an input to the Trust Scoring Engine.


11. Severity Mapping

Each rule has a configured severity.

SeverityMeaningTypical Action
infoInformational findingpass or warn
warningNon-blocking concernwarn
errorMaterial validation failurereview or quarantine
criticalIntegrity or identity failurereject or abort
blockingProcessing cannot continueabort

12. Action Resolution

Rule actions are resolved into a TrustGate evaluation state.

Rule ActionRuntime Meaning
passContinue processing.
warnContinue with warning metadata.
reviewContinue but mark for human review.
quarantineContinue to quarantine handling.
rejectReject the signal from assurance processing.
abortStop execution immediately.

If multiple rules produce actions, the strongest action wins.

Action precedence:

abort
>
reject
>
quarantine
>
review
>
warn
>
pass

13. Input CSI Contracts

CSIRequiredDescription
comp.TG.OUTPUT.ENRICHED-SIGNAL.1_0YesCanonical enriched TrustGate signal.
comp.TG.EVENT.CONTEXT-COMPLETE.1_0YesContext completeness event from Context Enrichment Engine.
comp.SSSR.SCHEMA.REGISTRY.1_0ConditionalSchema metadata used for schema-linked rule execution.
comp.USO.LINEAGE.EVENT.1_0ConditionalOperational lineage events for lineage-linked rules.
comp.DAL.ANCHOR.PROOF.1_0ConditionalDAL proof metadata for integrity and cryptographic rules.
comp.FAGF.POLICY.BUNDLE.1_0ConditionalGovernance rules and policy overlays.
comp.EGFS.FEDERATION.CONTEXT.1_0ConditionalFederation identity and node context.
comp.DSAIL.AI.RECOMMENDATION.1_0OptionalAI advisory context for AI-related validation rules.

14. Output CSI Contracts

CSIDescription
comp.TG.OUTPUT.RULE-RESULT.1_0Individual rule result.
comp.TG.OUTPUT.RULE-SUMMARY.1_0Aggregated rule evaluation summary.
comp.TG.EVENT.RULE-PASSED.1_0Rule passed event.
comp.TG.EVENT.RULE-FAILED.1_0Rule failed event.
comp.TG.EVENT.RULE-WARNING.1_0Rule warning event.
comp.TG.EVENT.QUARANTINE-CANDIDATE.1_0Rule-based quarantine candidate event.
comp.TG.EVENT.RULE-REPLAY-CONTEXT.1_0Replay context generated for deterministic re-evaluation.

15. Rule Evaluation Result Object

{
"rule_result_id": "TGRR-2026-000001",
"rule_code": "TG-VAL-0007",
"rule_id": "VRR-TG-0007",
"rule_domain": "UNIT",
"rule_category": "VALIDATE",
"rule_function": "UNIT_COMPATIBILITY",
"status": "failed",
"severity": "error",
"action": "quarantine",
"field": "metric.unit",
"message": "Unit is not compatible with the declared metric type.",
"evidence": {
"provided_unit": "EUR",
"expected_dimension": "energy",
"accepted_units": ["kWh", "MWh", "GJ"]
},
"evaluated_at": "2026-06-25T15:12:41Z",
"engine_cmi": "vera.TG-RULE.ENGINE.EVALUATOR.1_0_0"
}

16. Rule Evaluation Summary Object

{
"evaluation_id": "TGRE-2026-000042",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"engine_cmi": "vera.TG-RULE.ENGINE.EVALUATOR.1_0_0",
"rules_checked": 42,
"rules_passed": 39,
"rules_failed": 3,
"warnings": 4,
"highest_severity": "error",
"resolved_action": "quarantine",
"rule_pass_ratio": 0.9285,
"replayable": true,
"evaluated_at": "2026-06-25T15:12:41Z"
}

17. API Specification

17.1. Endpoint

POST /api/trustgate/MEID_SIGNAL_VALIDATE_EVALUATOR

17.2. Request

{
"signal": {
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"metric": {
"metric_type": "energy.total_consumption",
"metric_value": 12843.2,
"unit": "kWh"
},
"schema": {
"csi": "comp.TG.OUTPUT.ENRICHED-SIGNAL.1_0"
},
"governance": {
"policy_bundle": "FAGF-2026.2"
}
}
}

17.3. Response

{
"status": "success",
"evaluation_id": "TGRE-2026-000042",
"rules_checked": 42,
"rules_failed": 0,
"resolved_action": "pass",
"rule_pass_ratio": 1.0
}

18. Runtime Events

18.1. Rule Passed Event

{
"event_type": "trustgate.rule.passed",
"rule_code": "TG-VAL-0006",
"signal_id": "SIG-2026-00001472",
"timestamp": "2026-06-25T15:12:41Z"
}

18.2. Rule Failed Event

{
"event_type": "trustgate.rule.failed",
"rule_code": "TG-VAL-0007",
"severity": "error",
"action": "quarantine",
"signal_id": "SIG-2026-00001472",
"timestamp": "2026-06-25T15:12:41Z"
}

18.3. Quarantine Candidate Event

{
"event_type": "trustgate.quarantine.candidate",
"evaluation_id": "TGRE-2026-000042",
"signal_id": "SIG-2026-00001472",
"reason": "UNIT_COMPATIBILITY",
"rule_code": "TG-VAL-0007",
"timestamp": "2026-06-25T15:12:41Z"
}

19. DAL Integration

The Rule Evaluation Engine does not anchor every individual rule result by default.

It produces DAL anchor candidates for:

  • evaluation summaries;
  • critical failures;
  • rejected signals;
  • quarantine candidates;
  • federation-relevant failures;
  • replay-inconsistent results;
  • policy overrides.

Example DAL anchor candidate:

{
"artifact_type": "RuleEvaluationSummary",
"artifact_id": "TGRE-2026-000042",
"artifact_hash": "sha256:8db77c0f...",
"engine_cmi": "vera.TG-RULE.ENGINE.EVALUATOR.1_0_0",
"dal_anchor_required": true
}

20. Replay Behaviour

The Rule Evaluation Engine is replay-native.

Replay requires:

  • original enriched signal;
  • resolved rule set;
  • rule registry versions;
  • policy overlays;
  • expression engine version;
  • engine CMI;
  • execution order;
  • configuration hash.

Replay equality is determined by:

ReplayMatch=hash(original_rule_summary)=hash(replayed_rule_summary)ReplayMatch = hash(original\_rule\_summary) = hash(replayed\_rule\_summary)

Replay mismatch triggers an OARM review event.


21. Federation Behaviour

Federation-related rule failures are marked with:

{
"federation_relevant": true,
"source_eco": "ECO-A123",
"target_eco": "ECO-B456",
"federation_profile": "supplier-attestation"
}

The engine SHALL not transmit raw signal payloads across federation boundaries.

Only rule summaries, proof references, hashes, and attestations may be exchanged through AFLE/EGFS unless an explicit federation policy allows broader exchange.


22. AI Integration

The Rule Evaluation Engine may consume AI advisory metadata from DSAIL, but AI cannot determine pass/fail outcomes for deterministic rules.

AI may be used for:

  • rule prioritization;
  • anomaly-informed rule selection;
  • adaptive sampling recommendations;
  • explainability enrichment;
  • false-positive reduction analysis.

AI SHALL NOT override deterministic registry rules.

Example AI-assisted rule context:

{
"ai_context": {
"model_cmi": "siss.DSAIL-MODEL.MODEL.ANOMALY.2_0_0",
"anomaly_score": 0.82,
"recommendation": "evaluate additional lineage consistency rules",
"explainability_score": 0.91
}
}

23. Security Model

The engine requires:

  • authenticated internal service identity;
  • authorization to read rule registry entries;
  • authorization to read policy overlays;
  • signed configuration bundles;
  • immutable audit logging;
  • replay-safe configuration hashes.

All rule expressions loaded at runtime SHALL be approved and registered in ZAR.

No unregistered executable rule expressions may be evaluated in production.


24. Failure Handling

FailureAction
Rule registry unavailableRetry, then fail closed.
Policy overlay unavailableUse cached active policy if valid.
Rule expression invalidMark rule as failed and escalate.
Unknown rule domainReject rule load.
Unsupported expression languageReject rule load.
Missing mandatory rule setAbort evaluation.
AI advisory unavailableContinue without AI.
DAL unavailableContinue but mark anchor pending.

25. Observability

MetricDescription
trustgate_rule_evaluations_totalNumber of rule evaluations executed.
trustgate_rules_failed_totalNumber of failed rules.
trustgate_rules_warning_totalNumber of warning-level rules.
trustgate_rule_latency_msRule evaluation latency.
trustgate_rule_registry_lookup_msRule registry lookup latency.
trustgate_rule_cache_hit_rateCache efficiency.
trustgate_quarantine_candidates_totalRule-triggered quarantine candidates.
trustgate_rule_replay_mismatch_totalReplay mismatches.

26. Performance Targets

MetricTarget
Average evaluation latency< 50 ms
P95 evaluation latency< 150 ms
Maximum rules per signal500
Rule registry lookup latency< 20 ms cached
Replay consistency100%
Availability99.95%

27. Compliance

The engine supports:

FrameworkContribution
CSRDData quality and auditability controls.
ESRSDisclosure validation and evidence quality.
ISSBSustainability disclosure consistency.
ISO 14064-1GHG data validation and uncertainty controls.
ISO 27001Runtime control and integrity verification.
EU AI ActAI advisory separation and explainability.

28. Developer Implementation Notes

Developers implementing this engine SHALL:

  • use the platform-wide zar.validation_rule_registry;
  • evaluate only active or explicitly approved experimental rules;
  • preserve deterministic rule execution ordering;
  • store the rule registry version used for each evaluation;
  • store the expression engine version;
  • produce replay artifacts for every evaluation;
  • never allow AI advisory context to override deterministic rules;
  • emit rule result events for both pass and fail outcomes;
  • mark federation-relevant findings explicitly.

29. Summary

The TrustGate Rule Evaluation Engine is the deterministic rule execution layer of TrustGate.

It converts enriched runtime signals into explainable rule evaluation results using the platform-wide validation rule registry. Its outputs drive trust scoring, decision routing, quarantine handling, replay preparation, DAL anchoring, federation attestation, AII telemetry, and assurance workflows.

By separating rule evaluation from trust scoring, ZAYAZ preserves a clean assurance architecture:

Validation determines what is wrong.

Scoring determines how much it matters.

Decisioning determines what happens next.



GitHub RepoRequest for Change (RFC)