Files
defi-arbitrage/docs/solacenet/PROTOCOL_GAPS_CHECKLIST.md
T

166 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SolaceNet — protocol gaps checklist (tracked)
**Purpose:** Single **complete** inventory of **protocol, messaging, and integration** gaps across `dbis_core`, SolaceNet, and cross-repo RTGS / DBIS Rail dependencies. Use for backlog triage, ownership, and closing the loop with [RAIL_AND_PROTOCOL_GOVERNANCE.md](RAIL_AND_PROTOCOL_GOVERNANCE.md).
**How to use status**
| Status | Meaning |
|--------|---------|
| `open` | Not implemented or only stub/placeholder |
| `partial` | Some path exists; production contract or wiring incomplete |
| `deferred` | Explicit program deferral recorded (see linked doc); not “open” for sprint pickup |
| `n/a` | Explicitly out of scope for this repo (document boundary only) |
| `done` | Production-capable per defined gate (update row when true) |
**Last updated:** 2026-04-07
---
## A. Carrier and telecom signaling
| ID | Protocol / stack | Location / note | Status | Close when |
|----|------------------|-----------------|--------|------------|
| PG-CAR-001 | **SS7** (MTP2/3, SCCP, ISUP, TCAP…) | Not in repo | `open` | N/A in app repo unless a **telecom boundary service** is chartered; SolaceNet owns northbound API only per governance doc |
| PG-CAR-002 | **SIGTRAN** (M2PA, M3UA, SUA over SCTP) | Not in repo | `open` | Same as PG-CAR-001 |
| PG-CAR-003 | **MAP / CAP / INAP** (circuit intelligence) | Not in repo | `open` | Same |
| PG-CAR-004 | **Diameter** (LTE/5G adjacent) | Not in repo | `open` | Same |
---
## B. `dbis_core` gateway rail adapters (TypeScript)
Path: `src/core/gateway/adapters/`. All are **scaffolds** unless status changed.
| ID | Rail | Adapter path | Status | Gap summary |
|----|------|--------------|--------|-------------|
| PG-GW-001 | SWIFT FIN/MT | `swift-fin/swift-fin-adapter.ts` | `open` | No SWIFTNet, no real MT build/parse/sign, synthetic SENT/ACK |
| PG-GW-002 | SWIFT ISO 20022 | `swift-iso/swift-iso-adapter.ts` | `open` | No transport, no XSD/JSON schema pipeline, no ACK semantics |
| PG-GW-003 | SWIFT gpi | `swift-gpi/swift-gpi-adapter.ts` | `open` | No UETR tracker integration |
| PG-GW-004 | DTC settlement | `dtc-settlement/dtc-settlement-adapter.ts` | `open` | No DTC message/API integration |
| PG-GW-005 | DTCC NSCC | `dtcc/dtcc-nscc-adapter.ts` | `open` | No NSCC API/protocol integration |
| PG-GW-006 | DTCC FICC | `dtcc/dtcc-ficc-adapter.ts` | `open` | No FICC API/protocol integration |
| PG-GW-007 | TT route | `tt-route/tt-route-adapter.ts` | `open` | Synthetic routing only |
| PG-GW-008 | KTT legacy evidence | `ktt-evidence/ktt-evidence-adapter.ts` | `open` | Trivial validate; **send unsupported**; no SoR match, no persistence contract |
| PG-GW-009 | Thirdweb (chain RPC) | `thirdweb/thirdweb-adapter.ts` | `partial` | Encode/path comments still **placeholder** in places; not a banking rail but shares adapter plane |
**B1. Wiring and registry**
| ID | Gap | Status | Close when |
|----|-----|--------|------------|
| PG-GW-W01 | No **single** gateway adapter registry importing all rail adapters | `partial` | **Registry + REST + OpenAPI + unit tests:** `gateway-adapter-registry.ts`, `/api/v1/gateway/rails*`, Swagger tag **SolaceNet Gateway Rails**, `src/__tests__/unit/core/gateway/*.test.ts`. **Remaining:** DI singleton policy, production connectors, optional `send` orchestration |
| PG-GW-W02 | **PluginRegistry** (`integration/plugins/`) vs **gateway adapters** — duplicate Swift/ISO concepts, no bridge doc in code | `partial` | **Doc:** [PLUGIN_AND_GATEWAY_BRIDGE.md](PLUGIN_AND_GATEWAY_BRIDGE.md). **Remaining:** optional facade service in code |
| PG-GW-W03 | SolaceNet **requireCapability** not consistently enforced on adapter ingress paths | `partial` | **On:** `SOLACENET_GATEWAY_RAILS_ENFORCE=1` for `/api/v1/gateway/rails/*`, `POST /instructions`, `GET /events/replay`. **Runbook:** [SOLACENET_GATEWAY_RAILS_ENFORCE_RUNBOOK.md](SOLACENET_GATEWAY_RAILS_ENFORCE_RUNBOOK.md). **Audit:** structured logs + optional `SOLACENET_GATEWAY_AUDIT_LOG_PATH` NDJSON; **`requireGatewayMicroservicesForWorker`** for MQ/file. **Remaining:** wire worker call sites + SIEM pipelines |
---
## C. Quantum / QPS legacy protocol coverage
Services: `src/infrastructure/quantum/proxy/quantum-translation.service.ts`, `quantum-compatibility.service.ts`.
**Type source:** `legacy-protocol-types.ts` — `LegacyProtocol` = core five plus **SolaceNet-extended** rails (`KTT_EVIDENCE`, `TT_ROUTE`, `DTC_SETTLEMENT`, `DTCC_NSCC`, `DTCC_FICC`, `SWIFT_GPI`, `MOJALOOP`, `RTGS`, `CARD_NETWORK`). **`GET /api/quantum-proxy/compatibility/protocols`** returns the full list.
| ID | Missing vs marketplace / gateway rails | Status |
|----|----------------------------------------|--------|
| PG-QP-001 | **KTT**, **TT route**, **DTC**, **DTCC** (NSCC/FICC), **SWIFT gpi** as distinct handling | `partial` | **Types + defaults** in `legacy-protocol-types.ts` / quantum translation & compatibility |
| PG-QP-002 | **RTGS** (generic), **Mojaloop**, **card networks**, **instant payment** schemes | `partial` | **RTGS**, **MOJALOOP**, **CARD_NETWORK** in `LegacyProtocol`; still scaffold scoring |
| PG-QP-003 | **Telecom northbound** (carrier boundary event schema) | `partial` | **Example JSON Schema:** [schemas/telecom-northbound-event.example.json](schemas/telecom-northbound-event.example.json). **Remaining:** boundary service + AsyncAPI |
---
## D. Admin dashboards and metrics (protocol surfaces)
| ID | Component | Path | Status | Gap |
|----|-----------|------|--------|-----|
| PG-AD-001 | GAS/QPS legacy rails | `gas-qps.service.ts` | `partial` | **SolaceNet adapter IDs** merged into `legacyRails`; volumes still 0 / heuristic until QPS integration |
| PG-AD-002 | GAS/QPS mapping profiles | same | `open` | Placeholder profiles only |
| PG-AD-003 | Global overview QPS / Ω / GPN / etc. | `global-overview.service.ts` | `open` | Marked placeholder |
| PG-AD-004 | SCB payment rails | `scb-overview.service.ts` | `open` | Payment rails placeholder |
---
## E. DBIS Rail — on-chain and authorization protocol (parent repo docs)
Source of truth for deployment truth: `docs/dbis-rail/DBIS_RAIL_AND_PROJECT_COMPLETION_MASTER_V1.md` (Proxmox repo).
| ID | Protocol / contract layer | Status | Gap summary |
|----|---------------------------|--------|-------------|
| PG-RAIL-001 | **DBIS_RootRegistry** | `deferred` | [DBIS_RAIL_SCOPE_DEFERRAL.md](DBIS_RAIL_SCOPE_DEFERRAL.md) — not in active implementation until program charter |
| PG-RAIL-002 | **DBIS_ParticipantRegistry** | `deferred` | Same |
| PG-RAIL-003 | **DBIS_SignerRegistry** | `deferred` | Same |
| PG-RAIL-004 | **DBIS_SettlementRouter** | `deferred` | Same |
| PG-RAIL-005 | **DBIS_GRU_MintController** (router-only mint) | `deferred` | Same; owner-mint vs router mint per master doc when un-deferred |
| PG-RAIL-006 | **Production ISO Gateway** matching EIP-712 MintAuth pipeline | `partial` | Spec/rulebook complete; production service + on-chain registry not aligned |
| PG-RAIL-007 | **MintAuth relayer** operational hardening | `partial` | Documented; full ops gate open |
---
## F. RTGS and external messaging protocols (Proxmox matrix)
Canonical table: `docs/03-deployment/DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md`.
Below: rows that are **protocol, endpoint, or message-contract** heavy and **not Complete**. (Infrastructure rows like Besu/Explorer are omitted here; see matrix for full operational checklist.)
| ID | Matrix component | Typical protocol / contract gap | Matrix state (as of doc) |
|----|------------------|--------------------------------|--------------------------|
| PG-RTGS-001 | FireFly primary `6200` | Event/orchestration API contract across workflows | Partial |
| PG-RTGS-002 | FireFly secondary `6201` | HA / secondary node payload | Retired / standby |
| PG-RTGS-003 | Fabric `6000-6002` | Fabric channel/chaincode deployment contract if in scope | Partial |
| PG-RTGS-004 | Indy `6400-6402` | DID/ledger protocol production role | Partial |
| PG-RTGS-005 | Aries / AnonCreds / Ursa | DIDComm / credential protocol lifecycle | Partial |
| PG-RTGS-006 | Cacti | Cross-ledger connector protocol | Partial |
| PG-RTGS-007 | OMNL / Fineract API rail | REST/auth/tenant settlement contract | Partial |
| PG-RTGS-008 | Mifos X / Fineract UI | Operator/API procedures | Partial |
| PG-RTGS-009 | HYBX participant / treasury | Business protocol for nostro/vostro + IDs | Planned |
| PG-RTGS-010 | Depository / CSD | Securities settlement messaging model | Planned |
| PG-RTGS-011 | Global custodian | Custody reporting / instruction protocols | Planned |
| PG-RTGS-012 | FX pricing / dealing | Quote/booking protocol to OMNL | Planned |
| PG-RTGS-013 | Liquidity pooling + **source adapters** | Per-source bank/pool protocol contracts | Planned |
| PG-RTGS-014 | Custody / safekeeping lifecycle | End-to-end instruction + statement protocol | Planned |
| PG-RTGS-015 | **Mojaloop** | Quote/transfer/callback/settlement API contract | Planned |
| PG-RTGS-016 | HYBX sidecar layer + listed sidecars | Ingress/auth/retry/event protocols | Partial / Planned |
| PG-RTGS-017 | **mt103-hardcopy-sidecar** | MT103 ingest ↔ settlement correlation | Partial |
| PG-RTGS-018 | **card-networks-sidecar** | Card scheme settlement file/API protocol if in scope | Partial |
| PG-RTGS-019 | **securities-sidecar** | Securities instruction protocol vs CSD | Partial |
| PG-RTGS-020 | Chain 138 settlement path | Contract call graph as frozen protocol | Partial |
| PG-RTGS-021 | MerchantSettlementRegistry / WithdrawalEscrow | Invocation protocol in RTGS flow | Partial |
| PG-RTGS-022 | DBIS settlement tokens + reserve/oracle | Mint/burn and attestation protocols | Partial |
| PG-RTGS-023 | FireFly / sidecar / chain **event model** | Correlation ID, retry, DLQ protocol | Planned |
| PG-RTGS-024 | **ISO 20022 evidence and vault** | Archive/manifest/hash protocol | Partial |
| PG-RTGS-025 | **Institutional 4.995 package** | Submission package protocol | Partial |
| PG-RTGS-026 | **Indonesia / BNI** domestic | Live endpoint/auth/message contract | Planned |
| PG-RTGS-027 | **Global correspondent / liquidity bank** | SWIFT/ISO/correspondent API contract | Planned |
| PG-RTGS-028 | **ISO20022Router** on-chain + off-chain | G4 acceptance steps in matrix subsection | Partial until manual gate passes |
| PG-RTGS-029 | RTGS production gate | All mandatory protocol lanes green | Planned |
---
## G. SolaceNet capability vs rail implementation
| ID | Gap | Status | Close when |
|----|-----|--------|------------|
| PG-SN-001 | `gateway-microservices` capability describes rails; **adapters remain scaffolds** | `open` | Critical rails reach `done` in section B or scope reduced in offering JSON |
| PG-SN-002 | `solacenet_provider_connector` rows for each live rail provider | `partial` | **Seed:** `npm run seed:gateway-provider` (`dbis-gateway-rail-plane`). **Remaining:** per-institution connectors + bindings |
| PG-SN-003 | smom-dbis-138-publish / tokenization vs SolaceNet | `partial` | **Doc:** [TOKENIZATION_SMOM_AND_SOLACENET.md](TOKENIZATION_SMOM_AND_SOLACENET.md). **Close when:** smom flows hit `dbis_core` tokenization APIs and entitlements are enforced there |
---
## H. Suggested close order (dependencies)
1. **PG-GW-W01 / W02 / W03** — Single registry + SolaceNet enforcement (enables safe iteration).
2. **PG-RAIL-001–005 / 006** — On-chain authorization protocol (or explicit deferral).
3. **PG-RTGS-007, PG-RTGS-023** — OMNL + canonical event/correlation protocol.
4. **PG-GW-001–008** — Replace scaffolds rail-by-rail with sandbox → prod endpoints.
5. **PG-RTGS-015, 026, 027** — External switch/domestic/correspondent protocols.
6. **PG-CAR-*** — Only if product scope includes carrier signaling; boundary service first.
---
## Related documents
- [REMAINING_TASKS_FULL_LIST.md](REMAINING_TASKS_FULL_LIST.md) — **prioritized full task list** (all remaining work in one place)
- [AUDIT_GAPS_INCONSISTENCIES_MISSING.md](AUDIT_GAPS_INCONSISTENCIES_MISSING.md) — **delta audit** (naming drift, missing CI/integration tests, edge gaps)
- [RAIL_AND_PROTOCOL_GOVERNANCE.md](RAIL_AND_PROTOCOL_GOVERNANCE.md)
- Proxmox: [DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md](../../../docs/03-deployment/DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md)
- Proxmox: [DBIS_RAIL_AND_PROJECT_COMPLETION_MASTER_V1.md](../../../docs/dbis-rail/DBIS_RAIL_AND_PROJECT_COMPLETION_MASTER_V1.md)
- `dbis_core/src/core/gateway/adapters/README.md`
- `dbis_core/marketplace/gateway-microservices-offering.json`