Map composer into HYBX sidecar plans
All checks were successful
Deploy to Phoenix / deploy (push) Successful in 5s

This commit is contained in:
defiQUG
2026-03-29 03:34:23 -07:00
parent ee95e980e9
commit 50809f75dc
2 changed files with 1532 additions and 0 deletions

View File

@@ -0,0 +1,834 @@
# HYBX Compliance & Routing Sidecar — Technical Plan
## Purpose
Design a dedicated **Compliance and Routing Sidecar** that integrates with the Transaction Composer engine to evaluate regulatory constraints, liquidity routing, fee paths, and settlement feasibility **before execution**.
The sidecar acts as a **decision intelligence layer**, ensuring that all designed transactions are compliant, optimally routed, and operationally executable.
---
# Core Concept
The Compliance & Routing Sidecar functions as:
1. Policy Engine
2. Compliance Validator
3. Routing Optimizer
4. Liquidity Resolver
5. Fee Path Generator
6. Risk Decision Engine
It operates alongside the orchestration engine but **does not execute transactions**.
It evaluates and returns **decisions, recommendations, and constraints**.
---
# High-Level Architecture
## Primary Engines
The sidecar consists of six major subsystems:
1. Policy Engine
2. Compliance Engine
3. Routing Engine
4. Liquidity Engine
5. Fee Engine
6. Risk Engine
Each subsystem runs independently but communicates via shared context.
---
# Integration Model
## Deployment Pattern
Sidecar runs adjacent to orchestration engine.
Architecture Pattern:
Composer UI → Orchestration Engine → Sidecar → Decision Response
Not:
Composer UI → Execution
Execution is blocked until sidecar approval.
---
# Core Responsibilities
## 1 — Validate Transaction Design
Evaluate:
- Entity eligibility
- Jurisdiction constraints
- Currency permissions
- Cross-border restrictions
- Liquidity availability
- Fee compliance
Return:
PASS
WARN
FAIL
---
## 2 — Generate Routing Paths
Determine optimal route across:
- Correspondent banks
- Nostro/Vostro accounts
- Settlement rails
- Liquidity partners
Routing considers:
- Latency
- Liquidity availability
- Regulatory constraints
- Fee efficiency
---
## 3 — Enforce Regulatory Constraints
Validate compliance against:
- AML rules
- KYC requirements
- Sanctions lists
- FX regulations
- Settlement permissions
---
## 4 — Compute Liquidity Strategy
Determine:
- Liquidity source
- FX conversion path
- Net settlement amount
---
## 5 — Build Fee Distribution Logic
Construct:
- Fee tiers
- Fee sequence
- Net disbursement schedule
---
## 6 — Assess Risk
Calculate:
- Transaction exposure
- Counterparty risk
- Settlement risk
---
# Core Data Flow
Transaction → Sidecar → Decision Graph → Orchestrator
Sidecar returns:
- Decision Status
- Route Plan
- Liquidity Plan
- Fee Plan
- Risk Score
---
# API Design
## Core Endpoint
POST /evaluate-transaction
Request:
{
transactionGraph,
participants,
accounts,
liquidity,
fees
}
Response:
{
status,
routingPlan,
liquidityPlan,
feePlan,
complianceResults,
riskScore
}
---
# Policy Engine Design
## Role
Policy engine defines regulatory logic.
Policies stored as rule sets.
---
## Policy Types
### Jurisdiction Policies
Examples:
- Allowed currency pairs
- Cross-border transfer limits
---
### Institution Policies
Examples:
- Settlement permissions
- Nostro relationship validity
---
### Transaction Policies
Examples:
- Maximum transfer size
- Required approvals
---
# Compliance Engine Design
## Function
Validates all nodes and edges in transaction graph.
Checks include:
- AML
- Sanctions
- FX permissions
- Participant eligibility
---
# Routing Engine Design
## Routing Model
Graph-based pathfinding.
Uses:
Weighted directed graph.
Weights include:
- Fee cost
- Latency
- Liquidity availability
Algorithm:
Multi-criteria shortest path.
---
# Transaction Composer Mapping
## Role of `transaction-composer/`
The package at `transaction-composer/` should be treated as the **operator and developer-facing UI/control surface** for the Compliance & Routing Sidecar, not as a separate orchestration product.
The intended relationship is:
Transaction Composer UI → Orchestration API → Compliance & Routing Sidecar → Decision Output → Approved Execution Plan
The composer is responsible for:
- designing transaction topology
- capturing user intent
- validating graph structure
- previewing compliance and routing outcomes
- running dry-run simulation
- exporting graph and compiled transaction payloads
The sidecar is responsible for:
- policy evaluation
- jurisdiction checks
- route generation
- liquidity resolution
- fee planning
- risk scoring
- final decision output
The composer **does not replace** the sidecar.
The sidecar **does not replace** the composer.
Together they form the design-time and pre-execution decision layer.
## Current Composer Capabilities Already Aligned
The current `transaction-composer/` MVP already provides the correct surface for several sidecar inputs:
- typed transaction graph with financial node kinds
- graph edge validation
- transaction compilation into structured payloads
- compliance pre-checks
- dry-run simulation
- AI-assisted graph creation from natural-language prompts
- project save/load and JSON export
This means the composer can already act as:
- graph authoring client
- transaction payload builder
- initial validation client
- operator review console
## Functional Mapping: Composer → Sidecar
| Composer capability | Current package location | Sidecar responsibility it should feed |
|---|---|---|
| Node type system | `transaction-composer/src/types/nodeTypes.ts` | Canonical transaction graph schema consumed by sidecar |
| Edge validation | `transaction-composer/src/graph/validateConnection.ts` | Structural pre-validation before policy/routing evaluation |
| Transaction compiler | `transaction-composer/src/orchestration/transactionCompiler.ts` | Normalized request body for `/evaluate-transaction` |
| Local compliance checks | `transaction-composer/src/compliance/complianceEngine.ts` | Fast UI pre-check before full sidecar decision pass |
| Dry-run simulation | `transaction-composer/src/orchestration/dryRunEngine.ts` | Operator preview before execution approval |
| JSON export | `transaction-composer/src/export/exportTransaction.ts` | Offline review / audit / handoff artifact |
| AI prompt interpreter | `transaction-composer/src/ai/promptInterpreter.ts` | Rapid route drafting before formal sidecar evaluation |
| Action bar / state machine | `transaction-composer/src/components/BottomExecutionBar.tsx`, `transaction-composer/src/state/transactionMachine.ts` | User workflow for build → evaluate → simulate → approve |
## Required Sidecar API Alignment
The composer should become the primary client of the sidecar endpoint:
`POST /evaluate-transaction`
Recommended request model:
```json
{
"graph": {
"nodes": [],
"edges": []
},
"compiledTransaction": {},
"context": {
"jurisdictions": [],
"participants": [],
"operator": {},
"executionMode": "dry-run"
}
}
```
Recommended response model:
```json
{
"status": "PASS",
"routingPlan": {},
"liquidityPlan": {},
"feePlan": {},
"complianceResults": [],
"riskScore": 0,
"warnings": [],
"blockingIssues": []
}
```
The local `complianceEngine.ts` should remain as a fast client-side validation layer, while the sidecar becomes the authoritative server-side evaluator.
## UI-to-Sidecar Screen Mapping
### 1. Left Component Palette
Maps to:
- canonical transaction grammar
- supported route primitives
- institution and settlement building blocks
### 2. Center Graph Canvas
Maps to:
- transaction topology authoring
- route visualization
- structural review before evaluation
### 3. Right AI Chat Panel
Maps to:
- prompt-to-graph generation
- future policy explanations
- route recommendation explanations
- jurisdictional warnings returned by sidecar
### 4. Bottom Execution Bar
Maps to:
- Build → local compile
- Validate → local pre-check plus sidecar evaluation
- Dry Run → local simulation plus optional sidecar route simulation
- Execute → only after sidecar approval and orchestration confirmation
## Orchestrator Boundary
The composer should call an orchestration API, not external rails directly.
Recommended control sequence:
1. Composer builds graph.
2. Composer compiles transaction.
3. Composer sends evaluation request to Compliance & Routing Sidecar.
4. Sidecar queries:
- jurisdictional cheat sheets
- institution policy registry
- liquidity adapters
- fee rules
- risk engines
5. Sidecar returns decision package.
6. Composer renders:
- PASS / WARN / FAIL
- route recommendation
- liquidity strategy
- fee path
- risk notes
7. Orchestrator receives approved decision package for execution.
## Jurisdictional Cheat Sheet Integration
The sidecar should not hardcode jurisdiction rules.
Instead:
- composer submits transaction context
- sidecar resolves all participating jurisdictions
- sidecar queries the Jurisdictional Intelligence System
- returned jurisdiction constraints become part of the decision package
That means `hybx_jurisdictional_cheat_sheets_technical_plan.md` is a direct dependency of this sidecar and should be treated as its policy-knowledge backend.
## Recommended Immediate Integration Tasks
1. Add a new composer-side API client for `POST /evaluate-transaction`.
2. Add a sidecar decision panel in the composer UI for:
- decision status
- routing plan
- liquidity plan
- fee plan
- risk score
3. Split local validation into:
- `local graph validation`
- `authoritative sidecar evaluation`
4. Freeze a single canonical request/response schema between composer and sidecar.
5. Add sidecar-backed node and edge annotations so returned warnings/errors paint directly onto the graph.
6. Extend the AI panel so it can also explain sidecar findings, not just create graphs.
## Production Architecture Decision
`transaction-composer/` should be recognized as:
- the design studio
- the operator console
- the pre-execution validation client
The Compliance & Routing Sidecar should be recognized as:
- the authoritative policy and routing decision service
This mapping allows the broader DBIS/HYBX stack to answer questions about:
- whether a route is legal
- whether liquidity is sufficient
- whether fees are valid
- whether settlement is feasible
- which path should be chosen before execution
---
# Liquidity Engine Design
## Responsibilities
Determine liquidity sources.
Resolve:
- FX path
- Liquidity pool selection
---
## Liquidity Model
Liquidity stored as pools.
Each pool includes:
{
currency,
amount,
provider,
expiry
}
---
# Fee Engine Design
## Responsibilities
Build complete fee map.
Includes:
- Fee percentage
- Flat fees
- Conditional fees
---
# Risk Engine Design
## Risk Factors
- Counterparty reliability
- Currency volatility
- Liquidity exposure
Output:
Risk Score: 0100
---
# Decision Output Model
Sidecar produces a Decision Graph.
Structure:
{
complianceStatus,
routingGraph,
liquidityGraph,
feeGraph,
riskProfile
}
---
# Routing Intelligence Model
Routing is dynamic.
Supports:
- Multi-hop routing
- Failover paths
- Parallel routing
---
# Execution Blocking Logic
Execution permitted only if:
Compliance PASS
Risk acceptable
Liquidity available
---
# Sidecar Communication Protocol
Transport Options:
Preferred:
- gRPC
Alternative:
- REST
---
# State Management Model
Each transaction tracked through lifecycle.
States:
Draft
Validated
Routed
Approved
Ready
Executed
Failed
---
# Storage Architecture
## Databases
Primary:
PostgreSQL
Secondary:
Redis (cache)
Optional:
Graph Database (Neo4j)
---
# Decision Caching Model
Cache previous routing decisions.
Speeds repeated transactions.
Cache Key:
Transaction Signature Hash
---
# Policy Storage Model
Policies stored as structured JSON.
Supports:
Versioning
Rollback
Audit
---
# Compliance Logging
Every validation logged.
Includes:
Timestamp
Policy Version
Result
---
# Observability Architecture
Metrics captured:
- Decision latency
- Compliance failures
- Routing complexity
---
# Monitoring Tools
Recommended:
Prometheus
Grafana
OpenTelemetry
---
# Performance Targets
Validation latency target:
< 200 ms
Routing latency target:
< 500 ms
---
# Horizontal Scaling Model
Sidecar must scale independently.
Scaling method:
Container-based horizontal scaling.
---
# Container Architecture
Each subsystem deployable independently.
Services:
policy-service
compliance-service
routing-service
liquidity-service
fee-service
risk-service
---
# Event Model
Sidecar reacts to events.
Events:
TransactionCreated
TransactionUpdated
TransactionValidated
TransactionApproved
---
# Failure Handling Model
Failures categorized as:
Soft Fail
Hard Fail
Retryable Fail
---
# Security Architecture
Authentication:
mTLS
Authorization:
RBAC
---
# Audit Model
Full audit trail required.
Tracks:
All policy decisions
All routing changes
All risk evaluations
---
# Decision Transparency Model
Every decision must be explainable.
Outputs include:
Rule triggered
Reason
Outcome
---
# AI Integration Capability
Sidecar optionally supports AI-based recommendations.
Use cases:
Suggest routing optimizations
Suggest liquidity paths
Flag anomalous patterns
---
# Future Extensions
Planned capabilities:
Adaptive routing
Dynamic policy learning
Real-time liquidity discovery
Predictive compliance risk scoring
---
# Minimum Viable Sidecar Components
Required for MVP:
Policy Engine
Compliance Engine
Routing Engine
Liquidity Engine
Risk Engine
Decision API
---
# Production Readiness Milestones
Phase 1:
Basic compliance validation.
Phase 2:
Routing logic integration.
Phase 3:
Liquidity optimization.
Phase 4:
Full decision intelligence.
---
# Final Outcome
When complete, the Compliance & Routing Sidecar becomes:
A deterministic decision engine that transforms transaction designs into validated, routable, executable workflows with full regulatory assurance.

View File

@@ -0,0 +1,698 @@
# HYBX Jurisdictional Cheat Sheets — Technical Plan
## Purpose
Design a comprehensive **Jurisdictional Intelligence System (JIS)** that functions as the financial equivalent of a global intelligence reference, similar in concept to the CIA World Factbook but specialized for banking, payments, liquidity movement, settlement routing, and regulatory execution.
This system provides **deterministic jurisdiction knowledge** used by the Compliance & Routing Sidecar to ensure that every transaction is legally executable within applicable jurisdictions.
---
# Core Objective
Create a structured, versioned, queryable **Book of Jurisdictional Cheat Sheets** covering every jurisdiction where financial activity may occur.
Each jurisdiction profile must provide:
- Regulatory constraints
- Currency permissions
- Settlement rules
- Liquidity restrictions
- Licensing requirements
- Cross-border permissions
- Fee constraints
- Compliance requirements
This becomes the **ground truth registry** for jurisdictional logic.
---
# Core Concept
The Jurisdictional Cheat Sheets system acts as:
1. Jurisdiction Knowledge Base
2. Compliance Reference Library
3. Routing Constraint Source
4. FX Permission Authority
5. Settlement Legality Validator
6. Institutional Licensing Reference
---
# System Role in Overall Architecture
Primary Consumers:
- Compliance Sidecar
- Routing Engine
- Liquidity Engine
- Transaction Composer
- Risk Engine
Integration Flow:
Transaction Graph → Sidecar → Jurisdiction Lookup → Decision Output
## Mapping to `transaction-composer/`
`transaction-composer/` should be treated as the human-facing authoring client for jurisdiction-aware transaction design.
The practical flow is:
1. Composer generates the transaction graph.
2. Composer compiles the graph into a normalized transaction request.
3. Compliance & Routing Sidecar resolves the relevant jurisdictions.
4. Jurisdictional Cheat Sheets return:
- currency permissions
- cross-border restrictions
- licensing requirements
- settlement legality
- reporting thresholds
5. Sidecar returns the decision package back to the composer UI for operator review.
This means the cheat-sheet system is not a standalone reporting tool only. It is an online policy backend for the sidecar and a visible explanation source for the composer.
---
# System Architecture Overview
## Primary Subsystems
1. Jurisdiction Registry
2. Policy Knowledge Base
3. Currency Rules Engine
4. Licensing Database
5. Cross-Border Rule Engine
6. Reporting and Visualization Layer
---
# Jurisdiction Registry Design
## Purpose
Maintain canonical jurisdiction definitions.
Each jurisdiction receives a **Jurisdiction ID**.
---
## Core Fields
Each jurisdiction record includes:
Jurisdiction ID
Country Name
ISO Country Code
Region
Capital City
Primary Financial Regulator
Secondary Regulators
Legal System Type
Central Bank Name
Currency
Time Zones
Languages
Political Risk Tier
Financial Risk Tier
Sanctions Status
---
# Regulatory Metadata Layer
## Purpose
Capture jurisdiction-specific financial regulations.
---
## Regulatory Categories
### Banking Regulations
Fields:
Bank Licensing Requirements
Minimum Capital Requirements
Reserve Requirements
Reporting Requirements
Audit Requirements
---
### Payments Regulations
Fields:
Allowed Payment Types
Domestic Settlement Systems
Real-Time Gross Settlement Availability
Instant Payment Availability
Payment Network Participation
---
### FX Regulations
Fields:
FX Convertibility Status
Allowed Currency Pairs
Capital Controls
FX Approval Requirements
Maximum FX Limits
---
### Cross-Border Regulations
Fields:
Outbound Transfer Permissions
Inbound Transfer Permissions
Restricted Jurisdictions
Reporting Thresholds
Documentation Requirements
---
# Currency Rules Engine
## Purpose
Define currency behavior within jurisdiction.
---
## Currency Model
Currency Code
Convertibility Level
Settlement Type
Liquidity Availability
Central Bank Restrictions
Digital Currency Support
---
# Licensing Database Design
## Purpose
Track institutional permissions.
---
## License Types
Commercial Bank License
Remittance License
Money Services License
Broker License
Liquidity Provider License
---
## License Fields
License ID
License Type
Issuing Authority
Validity Period
Operational Scope
Restrictions
---
# Cross-Border Rule Engine
## Purpose
Define international transaction permissions.
---
## Rule Types
Country-to-Country Transfer Rules
Currency Export Rules
Sanctions Restrictions
Dual-Control Requirements
Capital Flow Restrictions
---
# Settlement Infrastructure Registry
## Purpose
Catalog financial settlement systems.
---
## Settlement System Fields
System Name
Settlement Type
Operating Hours
Supported Currencies
Settlement Finality Model
Participation Requirements
Examples:
RTGS
ACH
Instant Payment Systems
Cross-border Clearing Networks
---
# Liquidity Infrastructure Registry
## Purpose
Identify available liquidity channels.
---
## Liquidity Fields
Liquidity Providers
Supported Currency Pools
Liquidity Windows
Collateral Requirements
Liquidity Limits
---
# Fee Governance Model
## Purpose
Define jurisdictional fee constraints.
---
## Fee Fields
Maximum Allowed Fees
Regulated Fee Categories
Mandatory Fee Disclosures
Taxation Rules
Stamp Duty Rules
---
# Risk Intelligence Layer
## Purpose
Provide jurisdictional risk indicators.
---
## Risk Indicators
Political Stability Index
Regulatory Stability Index
Financial Crime Risk
AML Risk Tier
Sanctions Risk Tier
Currency Volatility Index
---
# Sanctions Intelligence Module
## Purpose
Track restricted jurisdictions.
---
## Sanctions Fields
Sanctioning Authority
Sanctions Type
Restricted Activities
Blocked Entities
Sector Restrictions
---
# Documentation Requirements Engine
## Purpose
Define required transaction documentation.
---
## Documentation Types
Customer Identification
Beneficiary Documentation
Source of Funds Declaration
Purpose of Payment
Regulatory Filings
---
# Data Model Design
## Core Structure
Each jurisdiction stored as structured object.
Example:
{
jurisdictionId,
regulator,
currencyRules,
fxRules,
settlementSystems,
licensingRules,
crossBorderRules,
riskProfile
}
---
# Versioning Architecture
Every jurisdiction profile is versioned.
Supports:
Historical snapshots
Policy rollback
Audit tracking
---
# Update Model
Updates triggered by:
Regulatory change
Policy update
Market changes
---
# Data Acquisition Model
Sources include:
Official regulatory publications
Central bank releases
Financial supervisory authorities
International financial organizations
Licensed legal intelligence providers
---
# Data Normalization Layer
Normalize all incoming jurisdiction data.
Ensure consistent schema alignment.
---
# Validation Model
Each jurisdiction profile must pass validation checks.
Checks include:
Field completeness
Logical consistency
Policy compatibility
---
# Query Interface Design
Provide high-speed lookup capability.
Example Queries:
Get FX permissions for USD → IDR
Check cross-border transfer legality
Retrieve settlement options
Fetch licensing requirements
---
# API Architecture
Primary Endpoint:
GET /jurisdiction/{id}
Returns full jurisdiction profile.
---
# Search Capability
Enable multi-dimensional search.
Search filters:
Country
Currency
Regulator
Risk Tier
Settlement Availability
---
# Integration with Sidecar
Sidecar queries jurisdiction data during validation.
Used for:
Routing validation
Compliance validation
Liquidity validation
---
# Caching Model
Frequently accessed jurisdictions cached.
Cache TTL configurable.
---
# Storage Architecture
Primary Storage:
PostgreSQL
Secondary Storage:
ElasticSearch (search index)
Optional:
Graph Database
---
# Visualization Interface
Provide UI dashboard.
Displays:
Jurisdiction Overview
Currency Rules
Risk Indicators
Settlement Systems
---
# Dashboard Components
Interactive maps
Jurisdiction comparison tables
Risk heat maps
Compliance summaries
---
# Policy Linking Model
Each jurisdiction links to policy references.
Policies stored separately.
Referenced dynamically.
---
# Multi-Jurisdiction Simulation Support
Support modeling of multi-country flows.
Example:
USD → Indonesia → Botswana → Malta
Simulate legal pathway.
---
# Localization Support
Support multilingual output.
Languages configurable.
---
# Audit Trail Model
All changes logged.
Includes:
User
Timestamp
Change Summary
Previous Version
---
# Security Architecture
Access Control:
Role-Based Access Control (RBAC)
Encryption:
Data-at-rest encryption
Data-in-transit encryption
---
# Observability Architecture
Track:
Lookup latency
Query frequency
Update frequency
---
# Performance Targets
Lookup latency target:
< 100 ms
Search latency target:
< 300 ms
---
# Horizontal Scaling Model
Scale by:
Jurisdiction clusters
Regions grouped geographically.
---
# Global Coverage Requirement
System must support:
All sovereign states
Dependent territories
Special financial jurisdictions
---
# Jurisdiction Classification Model
Classify jurisdictions into tiers.
Example:
Tier 1 — Major Financial Centers
Tier 2 — Regional Banking Hubs
Tier 3 — Restricted or Emerging Jurisdictions
---
# Deployment Model
Deploy as independent service.
Accessible via API.
---
# Backup Strategy
Nightly backups required.
Geo-redundant storage recommended.
---
# Minimum Viable Jurisdiction Dataset
Initial coverage:
Top 50 global financial jurisdictions.
Includes:
United States
Indonesia
Singapore
Switzerland
Malta
United Kingdom
European Union jurisdictions
---
# Production Expansion Plan
Phase 1:
Core jurisdictions.
Phase 2:
Full global coverage.
Phase 3:
Real-time regulatory updates.
---
# Final Outcome
When complete, the Jurisdictional Cheat Sheets system becomes:
A continuously updated, machine-readable global financial intelligence reference that enables compliant, optimized, jurisdiction-aware financial transaction execution.