TG-DECISION
TrustGate Decision Engine
0. Identity
Depends on module:
1. Purpose
The TrustGate Decision Engine converts TrustGate scoring outputs, validation outcomes, policy context, rule results, federation evidence, and replay metadata into a deterministic operational decision.
It is responsible for deciding whether a processed signal should be accepted, routed to the next processing stage, sent to human review, escalated, quarantined, rejected, or aborted due to unsafe runtime conditions.
The Decision Engine does not compute the trust score. It consumes the output of the Trust Scoring Engine and applies policy-defined decision thresholds and routing rules.
2. Position within TrustGate Runtime
Signal Parser
│
▼
Structure Validation
│
▼
Signal Normalizer
│
▼
Context Enrichment
│
▼
Rule Evaluation
│
▼
Policy Resolution
│
▼
Trust Scoring
│
▼
──────────────────────────────────────────
Decision Engine
──────────────────────────────────────────
│
├── Accept
├── Route
├── Human Review
├── Escalate
├── Quarantine
└── Reject
The Decision Engine must execute after the Trust Scoring Engine and before final DAL anchoring, external attestation, federation export, or downstream sustainability calculation.
3. Canonical Identity
| Property | Value |
|---|---|
| MEID | MEID_TRUST_ROUTE_DECISION |
| CMI | vera.TG-DECISION.ENGINE.ROUTER.1_0_0 |
| KIND | ENGINE |
| Owner Module | Verification & Assurance |
| Runtime Tier | Tier-0 Assurance Runtime |
| Engine Category | ROUTE |
| Engine Domain | trust |
| ZAR Registration | Required |
| Replay Support | Native |
| DAL Anchoring | Required |
| Federation Aware | Yes |
4. Runtime Responsibilities
| Responsibility | Description |
|---|---|
| Threshold Evaluation | Compare trust score and confidence against active decision thresholds. |
| Policy Enforcement | Apply FAGF and tenant-specific decision policies. |
| Rule Outcome Enforcement | Convert blocking rule failures into reject, abort, or quarantine decisions. |
| Replay Triggering | Trigger replay when score confidence, variance, or policy conditions require verification. |
| Quarantine Routing | Identify low-trust or policy-violating records for quarantine. |
| Review Routing | Send ambiguous or medium-confidence cases to human review. |
| Escalation | Escalate critical issues to assurance, governance, or security teams. |
| ZSSR Routing Hints | Produce downstream routing hints for the Smart Signal Router. |
| Audit Evidence | Emit deterministic decision events and DAL anchor candidates. |
| AI Feedback | Emit outcome telemetry to DSAIL for threshold and routing optimization. |
The Decision Engine must be deterministic. Identical inputs, policies, and versions must produce identical decisions.
5. Decision Outcomes
| Outcome | Meaning | Typical Next Step |
|---|---|---|
ACCEPT | Signal is trusted enough for automated progression. | Continue downstream processing. |
ROUTE | Signal is accepted but requires specific downstream routing. | Send routing hint to ZSSR. |
REVIEW | Signal requires human review. | Create review task. |
ESCALATE | Signal triggers governance, security, or assurance escalation. | Notify responsible board/team. |
QUARANTINE | Signal is isolated pending investigation or evidence remediation. | Create quarantine record. |
REJECT | Signal is invalid or non-compliant and must not proceed. | Terminate processing. |
ABORT | Runtime failure prevents safe decision. | Stop pipeline and raise incident. |
ABORT is reserved for runtime or policy failures, not normal business outcomes.
6. Decision Model
The generic decision function is:
Where:
| Variable | Meaning |
|---|---|
$T$ | Trust score |
$C$ | Confidence score |
$P$ | Active policy context |
$R$ | Rule evaluation outcome |
$V$ | Validation outcome |
$F$ | Federation and replay factors |
The engine evaluates these variables in strict order:
- blocking runtime failures;
- mandatory policy conditions;
- critical validation failures;
- blocking rule outcomes;
- trust score thresholds;
- confidence thresholds;
- replay requirements;
- federation requirements;
- routing preferences.
Blocking conditions always override numerical thresholds.
7. Threshold Model
trustgate:
decision_profile_ref: <governed-policy-reference>
threshold_policy_ref: <governed-policy-reference>
resolved_via: comp.TG.INPUT.POLICY-CONTEXT.v1_0
Thresholds, blocking conditions, and routing exits are resolved by the Policy Resolution Engine from governed policy context and must be recorded by reference in every decision event. This engine shall not define numeric thresholds, modifiers, or numeric policy locally.
8. Runtime Processing Pipeline
Receive Score Result
│
▼
Load Active Decision Policy
│
▼
Check Blocking Conditions
│
▼
Evaluate Validation Outcome
│
▼
Evaluate Rule Outcome
│
▼
Evaluate Trust Score
│
▼
Evaluate Confidence
│
▼
Evaluate Replay Requirement
│
▼
Evaluate Federation Requirement
│
▼
Generate Decision
│
▼
Emit Decision Event
9. Processing Algorithm
function decide(score_result, validation_result, rule_result, policy_context):
decision_policy = load_decision_policy(policy_context)
if runtime_failure_detected():
return ABORT
if identity_invalid(validation_result):
return REJECT
if signature_failed(validation_result):
return REJECT
if has_blocking_rule(rule_result):
return QUARANTINE
if requires_replay(policy_context, score_result):
return REVIEW
if score_result.trust_score >= policy.accept.min_trust_score
and score_result.confidence >= policy.accept.min_confidence:
return ACCEPT
if score_result.trust_score >= policy.route.min_trust_score
and score_result.confidence >= policy.route.min_confidence:
return ROUTE
if score_result.trust_score >= policy.review.min_trust_score:
return REVIEW
if score_result.trust_score < policy.quarantine.max_trust_score:
return QUARANTINE
return ESCALATE
The final default outcome must be conservative. If no safe decision can be derived, the engine must escalate or abort.
10. CSI Contracts
10.1. Input CSIs
| CSI | Required | Purpose |
|---|---|---|
comp.TG.INPUT.TRUST-SCORE.v1_0 | Yes | Trust score and confidence from the Trust Scoring Engine. |
comp.TG.INPUT.VALIDATION-RESULT.v1_0 | Yes | Validation status and failure codes. |
comp.TG.INPUT.RULE-RESULT.v1_0 | Yes | Rule evaluation result and severity. |
comp.TG.INPUT.POLICY-CONTEXT.v1_0 | Yes | Active decision thresholds and governance constraints. |
comp.OARM.INPUT.REPLAY-SUMMARY.v1_0 | No | Replay state and replay requirement context. |
comp.AFLE.INPUT.ATTESTATION-SUMMARY.v1_0 | No | Federation attestation validity. |
10.2. Output CSIs
| CSI | Purpose |
|---|---|
comp.TG.OUTPUT.TRUST-DECISION.v1_0 | Final TrustGate decision. |
comp.TG.OUTPUT.ROUTING-HINT.v1_0 | Routing hint for ZSSR. |
comp.TG.OUTPUT.QUARANTINE-CANDIDATE.v1_0 | Quarantine candidate record. |
comp.TG.EVENT.DECISION-ISSUED.v1_0 | Runtime decision event. |
comp.TG.EVENT.ESCALATION-TRIGGERED.v1_0 | Escalation event. |
comp.DSAIL.INPUT.DECISION-FEEDBACK.v1_0 | AI learning feedback. |
comp.AII.INPUT.DECISION-TELEMETRY.v1_0 | AII decision telemetry. |
11. Canonical Input Payload
{
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"score_result": {
"score_id": "TGS-2026-00001472",
"trust_score": 0.914,
"confidence": 0.936,
"classification_hint": "trusted"
},
"validation_result": {
"status": "passed",
"rules_checked": 42,
"rules_failed": 0,
"severity_max": "info"
},
"rule_result": {
"blocking": false,
"warnings": 1,
"critical_failures": 0
},
"policy_context": {
"policy_bundle": "FAGF-2026.2",
"decision_profile": "generic_assurance_decision_v1"
},
"replay": {
"required": false,
"verification_rate": 0.986
},
"federation": {
"attestation_valid": true,
"node_health": "healthy"
}
}
12. Canonical Output Payload
{
"decision_id": "TGD-2026-00001472",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"engine_cmi": "vera.TG-DECISION.ENGINE.ROUTER.1_0_0",
"meid": "MEID_TRUST_ROUTE_DECISION",
"decision": "ACCEPT",
"decision_reason": "trust_score_and_confidence_above_accept_threshold",
"trust_score": 0.914,
"confidence": 0.936,
"routing_hint": {
"target": "ZSSR",
"route": "standard_assurance_processing",
"priority": "normal"
},
"policy_context": {
"policy_bundle": "FAGF-2026.2",
"decision_profile": "generic_assurance_decision_v1"
},
"created_at": "2026-06-25T12:12:44Z"
}
13. Decision Event
{
"event_type": "trustgate.decision.issued",
"decision_id": "TGD-2026-00001472",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"decision": "ACCEPT",
"trust_score": 0.914,
"confidence": 0.936,
"engine_cmi": "vera.TG-DECISION.ENGINE.ROUTER.1_0_0",
"policy_bundle": "FAGF-2026.2",
"timestamp": "2026-06-25T12:12:44Z"
}
14. Quarantine Candidate
When the decision is QUARANTINE, the engine emits a quarantine candidate.
{
"quarantine_id": "TGQ-2026-00001472",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-B456",
"reason": "blocking_rule_failure",
"severity": "critical",
"rule_codes": [
"TG-VAL-0008",
"TG-VAL-0010"
],
"required_action": "human_assurance_review",
"created_at": "2026-06-25T12:12:44Z"
}
Quarantine record creation is finalized by the TrustGate Quarantine Manager.
15. Routing Hint
When the decision is ROUTE, the engine emits a routing hint for ZSSR.
{
"routing_hint_id": "TGRH-2026-00001472",
"signal_id": "SIG-2026-00001472",
"target_router": "ZSSR",
"preferred_route": "high_confidence_carbon_processing",
"priority": "normal",
"confidence": 0.936,
"constraints": [
"preserve_dal_anchor",
"retain_replay_artifact"
]
}
The Decision Engine does not directly execute the route. ZSSR remains responsible for final routing orchestration.
16. DAL Integration
The Decision Engine produces DAL anchor candidates for all final decisions.
{
"artifact_type": "TrustDecisionEvent",
"artifact_id": "TGD-2026-00001472",
"artifact_hash": "sha256:2f93ad...",
"engine_cmi": "vera.TG-DECISION.ENGINE.ROUTER.1_0_0",
"meid": "MEID_TRUST_ROUTE_DECISION",
"decision": "ACCEPT",
"created_at": "2026-06-25T12:12:44Z"
}
Final ledger anchoring is performed by the TrustGate DAL Anchor Engine.
17. Replay Behaviour
The engine must be replay deterministic.
Replay inputs include:
- score result;
- validation result;
- rule result;
- policy context;
- replay context;
- federation context;
- decision policy profile;
- engine CMI.
Replay verification succeeds when:
Any mismatch must emit a decision replay drift event.
{
"event_type": "trustgate.decision.replay_drift",
"decision_id": "TGD-2026-00001472",
"original_decision": "ACCEPT",
"replay_decision": "REVIEW",
"severity": "critical",
"timestamp": "2026-06-25T12:20:00Z"
}
18. Federation Behaviour
Decision events may be shared across federation boundaries only when policy permits.
Federated decision exports must include:
| Field | Required |
|---|---|
| ECO Number | Yes |
| DID | Yes |
| Decision | Yes |
| Trust Score | Yes |
| Confidence | Yes |
| Policy Bundle | Yes |
| Engine CMI | Yes |
| DAL Reference | Yes |
| Replay Reference | Yes |
Sensitive rule details may be redacted depending on federation profile.
19. AI Integration
The Decision Engine may consume AI recommendations but must not allow AI to override deterministic policies.
AI may recommend:
- review prioritization;
- escalation priority;
- replay frequency;
- routing optimization;
- threshold tuning for future policy review.
AI may not directly change:
- final decision;
- blocking rule outcome;
- policy thresholds;
- identity validity;
- signature validity.
AI influence must be logged as advisory metadata only.
20. AII Integration
Decision outcomes contribute to AII metrics.
{
"eco_number": "ECO-A123",
"period": "2026-Q2",
"decision_counts": {
"accept": 9823,
"route": 884,
"review": 211,
"quarantine": 38,
"reject": 6
},
"auto_accept_ratio": 0.897,
"review_rate": 0.019,
"quarantine_rate": 0.0035,
"decision_replay_drift_rate": 0.0001
}
21. Failure Handling
| Failure | Severity | Action |
|---|---|---|
| Missing score result | Critical | Abort |
| Missing policy context | Critical | Abort |
| Invalid decision profile | Critical | Abort |
| Blocking validation failure | Critical | Reject or quarantine |
| Invalid identity | Critical | Reject |
| Signature failure | Critical | Reject |
| Missing replay context | Warning | Continue if policy permits |
| Missing federation context | Warning | Continue if policy permits |
| AI unavailable | Info | Continue |
| Decision replay mismatch | Critical | Escalate |
22. Observability Metrics
| Metric | Description |
|---|---|
tg_decision_total | Total decisions issued. |
tg_decision_accept_total | Accepted signals. |
tg_decision_review_total | Human review cases. |
tg_decision_quarantine_total | Quarantined signals. |
tg_decision_reject_total | Rejected signals. |
tg_decision_latency_ms | Decision execution latency. |
tg_decision_replay_drift_total | Decision replay drift events. |
tg_decision_policy_abort_total | Policy-related abort events. |
23. Performance Targets
| Metric | Target |
|---|---|
| Average latency | < 20 ms |
| P95 latency | < 50 ms |
| P99 latency | < 100 ms |
| Throughput | 20,000 decisions/sec per worker pool |
| Replay determinism | 100% |
| Availability | 99.99% |
24. Security Requirements
The engine must:
- accept only authenticated internal runtime requests;
- verify policy context integrity;
- verify score result provenance;
- preserve full audit trails;
- prevent manual bypass of blocking rules;
- redact sensitive failure details in federated exports;
- emit immutable decision events;
- require DAL anchoring before external attestation;
- record MEID and CMI in every output.
25. Compliance Alignment
| Framework | Decision Engine Contribution |
|---|---|
| CSRD | Ensures controlled decisioning for sustainability data acceptance. |
| ESRS | Supports auditable treatment of uncertain or low-quality data. |
| ISSB / IFRS S1-S2 | Supports investor-grade data control workflows. |
| ISO 14064-1 | Supports verification workflow controls. |
| ISO 27001 | Supports controlled processing and audit evidence. |
| EU AI Act | Prevents AI from autonomously overriding governance decisions. |
26. Summary
The TrustGate Decision Engine converts trust scores and assurance evidence into deterministic operational outcomes.
It is responsible for controlled acceptance, routing, review, quarantine, rejection, and escalation of TrustGate signals.
No downstream TrustGate processing, DAL anchoring, federation attestation, or regulatory disclosure pipeline should proceed without a valid decision event from this engine.