Decision Object
The QuorumDecisionObject is the canonical data structure that captures the end-to-end lifecycle of a risk event. It is the primary transport mechanism for state across the arbitration, execution, and forensic layers.
Interface Specification
export interface QuorumDecisionObject { /** Unique decision identifier */ decision_id: UUID; correlation_id: UUID; created_at: ISOTime; // INPUT LAYER input: { source_system: string; event_type: string; raw_payload: Record<string, unknown>; normalized_payload: Record<string, unknown>; }; // CONTEXT LAYER context: { entity_id?: string; user_id?: string; session_id?: string; device_fingerprint?: string; geo_context?: string; }; // BEHAVIORAL LAYER behavior: { velocity_signals: Record<string, number>; anomaly_scores: Record<string, number>; historical_patterns: string[]; risk_features: Record<string, number>; }; // MODEL LAYER (bounded influence only) model: { model_versions: string[]; raw_scores: Record<string, number>; calibrated_scores: Record<string, number>; feature_attributions: Record<string, number>; confidence_bounds: { lower: number; upper: number; }; }; // GOVERNANCE LAYER (immutable snapshot) governance: { policy_version: string; rule_set_id: string; precedence_tree_hash: string; applied_constraints: string[]; }; // ARBITRATION OUTPUT arbitration: { resolved_path_id: string; conflict_detected: boolean; suppressed_rules: string[]; activated_rules: string[]; decision_authority_chain: string[]; final_rationale_hash: string; }; // DECISION RESULT decision: { outcome: "APPROVE" | "DECLINE" | "REVIEW" | "ESCALATE"; risk_score: number; decision_confidence: number; reason_codes: string[]; }; // EXECUTION LAYER execution: { executed: boolean; execution_timestamp?: ISOTime; action_type: string; external_systems_called: string[]; execution_result: "SUCCESS" | "FAILED" | "PENDING"; }; // AUDIT LAYER audit: { ledger_hash: string; immutable_event_pointer: string; replayable_state_vector: string; integrity_signature: string; }; }
Data Principles
Immutable Trace
The decision object is never mutated. Each layer appends its specific state, ensuring the final object contains the complete lineage of the decision.
WORM Compliance
Serialized as a binary blob for storage in Write-Once-Read-Many ledgers, supporting non-repudiation and forensic replay.
Isolated Logic
Data is logically partitioned to prevent "leakage" between model scores and governance rules until the arbitration resolution.
Logical Layer Breakdown
Input & Normalization
Captures the raw event from the source system and the canonical representation used for all internal logic.
Behavioral Signals
Dynamic velocity and anomaly scores distilled from raw interaction signals during state construction.
Model Attribution
Transparent capture of model outputs, including feature weights and confidence bounds for regulatory explainability.
Governance Snapshot
A permanent link to the policy version and rule set hash that governed this specific decision cycle.