# SolaceNet, gateway rails, and RTGS — full remaining task list

**Purpose:** One actionable backlog derived from [PROTOCOL_GAPS_CHECKLIST.md](PROTOCOL_GAPS_CHECKLIST.md), [public/GAPS_AND_INCONSISTENCIES.md](public/GAPS_AND_INCONSISTENCIES.md), and the Proxmox RTGS / DBIS Rail docs. Update row statuses in the checklist as tasks close.

**Last reviewed:** 2026-04-07

**Priority legend**

| Tier | Meaning |
|------|---------|
| **P0** | Blocks honest production claims or regulatory narrative alignment |
| **P1** | Core path to first production slice (settlement + evidence + one live rail) |
| **P2** | Breadth, observability, UX, secondary rails |
| **P3** | Optional, carrier, or explicit deferrals |

---

## P0 — Truth in advertising and critical alignment

| # | Task | Gap ID(s) | Notes |
|---|------|-----------|--------|
| 1 | **Reconcile marketplace/offering copy** with live connector maturity — or scope down `gateway-microservices-offering.json` until rails are real | PG-SN-001, offering JSON | **Updated 2026-04-08:** description names scaffolds + KTT evidence semantics; keep row until production connectors ship. |
| 2 | **Document KTT explicitly** as evidence-only in marketplace/UI copy; separate from symmetric send/receive rails | PG-GW-008, inconsistencies doc | Code already fails `send` by design |
| 3 | **Decide DBIS Rail scope:** implement contracts + router-only mint **or** formally defer and update all docs that imply live Rail | PG-RAIL-001–005, master doc | See `docs/dbis-rail/DBIS_RAIL_AND_PROJECT_COMPLETION_MASTER_V1.md` |
| 4 | **Fix or quarantine Thirdweb adapter** type issues (`ethers` namespace) for clean `tsc` / CI | PG-GW-009 | **Partial:** `ethers` dependency + `import type { Provider, Signer }`; full `dbis_core` `tsc` may still fail elsewhere. |

---

## P1 — Gateway core (SolaceNet + REST + enforcement)

| # | Task | Gap ID(s) | Notes |
|---|------|-----------|--------|
| 5 | **DI / lifecycle policy** for rail adapters (singleton vs per-request) and document | PG-GW-W01 | Registry exists; avoid accidental state bleed |
| 6 | **Orchestrated `send` path** (outbox, idempotency, DLQ) for rails that support outbound messages | PG-GW-W01, PG-GW-001–007 | KTT may stay receive-only |
| 7 | **Extend `SOLACENET_GATEWAY_RAILS_ENFORCE`** to every rail ingress (file drop, MQ, future workers) + **audit log** export for denied/allowed | PG-GW-W03 | HTTP path partially done |
| 8 | **Optional code facade** for PluginRegistry ↔ gateway adapters when one physical connector serves both | PG-GW-W02 | Doc exists; implement if needed |
| 9 | **Register `solacenet_provider_connector`** rows per environment for each live provider | PG-SN-002 | Tie to capability bindings |
|10 | **smom-dbis-138-publish / tokenization:** wire `requireCapability` or document explicit exception | PG-SN-003 | |

---

## P1 — Replace rail scaffolds (production connectors)

| # | Task | Gap ID | Notes |
|---|------|--------|--------|
|11| SWIFT FIN/MT — SWIFTNet, crypto, parse, ACK/NAK, sandbox → prod | PG-GW-001 | |
|12| SWIFT ISO 20022 — transport + schema validation + status | PG-GW-002 | |
|13| SWIFT gpi — UETR tracker integration | PG-GW-003 | |
|14| DTC settlement — real message/API | PG-GW-004 | |
|15| DTCC NSCC — API/protocol | PG-GW-005 | |
|16| DTCC FICC — API/protocol | PG-GW-006 | |
|17| TT route — real routing contract | PG-GW-007 | |
|18| KTT evidence — real validate, persistence, **SoR match**, correlation IDs; keep or drop `send` | PG-GW-008 | |
|19| Thirdweb — remove encode placeholders or document as non-prod | PG-GW-009 | |

---

## P1 — DBIS Rail off-chain + relayer

| # | Task | Gap ID | Notes |
|---|------|--------|--------|
|20| **Production ISO Gateway** aligned with EIP-712 MintAuth + `accountingRef` / `isoHash` | PG-RAIL-006 | Spec/rulebook exist |
|21| **MintAuth relayer** — ops runbook, monitoring, key rotation, incident drill | PG-RAIL-007 | |

---

## P1 — RTGS spine (canonical docs matrix)

*Full row-by-row status lives in* `docs/03-deployment/DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md`. *Tasks below are the protocol-heavy items still not Complete.*

| # | Task | Gap ID | Matrix state |
|---|------|--------|--------------|
|22| Freeze **OMNL / Fineract** tenant, auth, settlement API contract | PG-RTGS-007 | Partial |
|23| **Canonical event model** — correlation ID, retry, DLQ, FireFly/sidecar/chain | PG-RTGS-023 | Planned |
|24| **Mojaloop** — live endpoint, auth, quote/transfer/callback | PG-RTGS-015 | Planned |
|25| **Indonesia / BNI** — live domestic contract | PG-RTGS-026 | Planned |
|26| **Global correspondent** — SWIFT/ISO, nostro/vostro, confirmations | PG-RTGS-027 | Planned |
|27| **ISO 20022 evidence + vault** — manifests, hashes, legal path | PG-RTGS-024 | Partial |
|28| **Institutional 4.995 package** — `--strict` readiness, real materials | PG-RTGS-025 | Partial |
|29| **ISO20022Router** — complete G4 manual acceptance (deploy, payload, tx, correlation, evidence) | PG-RTGS-028 | Partial |
|30| Freeze **Chain 138 settlement** contract graph for RTGS | PG-RTGS-020 | Partial |
|31| Place **MerchantSettlementRegistry** / **WithdrawalEscrow** in canonical flows | PG-RTGS-021 | Partial |
|32| **MT103 hardcopy sidecar** — ingest ↔ settlement correlation | PG-RTGS-017 | Partial |
|33| **HYBX sidecars** — boundaries, auth, retries (all listed in matrix) | PG-RTGS-016 | Partial / Planned |
|34| **RTGS production gate** — all mandatory rows green for chosen architecture | PG-RTGS-029 | Planned |

---

## P2 — Hyperledger / identity / interoperability (RTGS matrix)

| # | Task | Gap ID | Notes |
|---|------|--------|--------|
|35| FireFly primary — orchestration role + real workflow | PG-RTGS-001 | Partial |
|36| FireFly secondary — rebuild or formally exclude | PG-RTGS-002 | Retired / standby |
|37| Fabric — production topology decision | PG-RTGS-003 | Partial |
|38| Indy — production role decision | PG-RTGS-004 | Partial |
|39| Aries / AnonCreds / Ursa — lifecycle validation | PG-RTGS-005 | Partial |
|40| Cacti — cross-ledger contract | PG-RTGS-006 | Partial |
|41| Mifos X / operator procedures | PG-RTGS-008 | Partial |
|42| HYBX participant / treasury / nostro-vostro model | PG-RTGS-009 | Planned |
|43| Depository / CSD layer | PG-RTGS-010 | Planned |
|44| Global custodian | PG-RTGS-011 | Planned |
|45| FX pricing / dealing engine | PG-RTGS-012 | Planned |
|46| Liquidity pooling + source adapters | PG-RTGS-013 | Planned |
|47| Custody / safekeeping lifecycle | PG-RTGS-014 | Planned |
|48| Card-networks sidecar — scope + protocol | PG-RTGS-018 | Partial |
|49| Securities sidecar — CSD alignment | PG-RTGS-019 | Partial |
|50| Settlement tokens + reserve/oracle mapping | PG-RTGS-022 | Partial |

---

## P2 — Quantum / QPS and admin dashboards

| # | Task | Gap ID | Notes |
|---|------|--------|--------|
|51| Replace **scaffold** FX/risk/scoring for `LegacyProtocol` extended rails with real rules | PG-QP-001, PG-QP-002 | Types exist |
|52| **Telecom northbound event schema** (when boundary service exists) | PG-QP-003 | |
|53| **GAS/QPS mapping profiles** — real profiles, not placeholders | PG-AD-002 | |
|54| **Global overview** — QPS / Ω / GPN placeholders → real metrics or remove | PG-AD-003 | |
|55| **SCB payment rails** — real data source | PG-AD-004 | |
|56| **GAS/QPS** — wire true volumes per rail (not only adapter ID list + heuristics) | PG-AD-001 | |

---

## P3 — Carrier / telecom (out of app repo unless product requires)

| # | Task | Gap ID | Notes |
|---|------|--------|--------|
|57| Charter **telecom boundary service** + northbound API into SolaceNet | PG-CAR-001–004 | SS7/SIGTRAN/MAP/CAP/Diameter |

---

## P3 — Consistency and hygiene (ongoing)

| # | Task | Source | Notes |
|---|------|--------|--------|
|58| Align **outbox semantics** — synthetic `SENT` vs KTT `FAILED` on send; document test vs prod behavior | GAPS_AND_INCONSISTENCIES | |
|59| **QPS “SWIFT” volume** — replace `iso_messages` string heuristic with real classification | GAPS_AND_INCONSISTENCIES | |
|60| Keep **agent-hints / sitemap / verify script** in sync when adding public routes | Public gaps §3 | |
|61| Run **`pnpm run verify:info-defi-oracle-public`** after each hub deploy | Ops | |
|62| Optional **`pnpm run audit:info-defi-oracle-site`** (Playwright) in release cadence | Ops | |
|63| Maintain **`PROTOCOL_GAPS_CHECKLIST.md`** statuses as backlog moves | Process | |

---

## Infrastructure rows (not duplicated here)

Besu, Explorer, Caliper benchmarks, and other **non-protocol** RTGS matrix rows remain in `DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md` — track there for VM/LXC/ops completeness.

---

## Suggested execution waves (summary)

1. **Wave A:** P0 items + PG-RAIL decision + first real rail sandbox (pick one: SWIFT ISO or domestic).  
2. **Wave B:** OMNL freeze + event model + ISO evidence path + ISO20022Router G4.  
3. **Wave C:** Remaining gateway adapters + provider connectors + QPS real metrics.  
4. **Wave D:** Mojaloop / BNI / correspondent as jurisdiction requires.  
5. **Wave E:** P2 institutional layers (CSD, custody, FX engine) per product scope.  
6. **Wave F:** Carrier only if explicitly in scope.

---

## Related documents

- [PROTOCOL_GAPS_CHECKLIST.md](PROTOCOL_GAPS_CHECKLIST.md) — ID-level tracking  
- [public/GAPS_AND_INCONSISTENCIES.md](public/GAPS_AND_INCONSISTENCIES.md) — narrative gaps  
- [RAIL_AND_PROTOCOL_GOVERNANCE.md](RAIL_AND_PROTOCOL_GOVERNANCE.md)  
- [PLUGIN_AND_GATEWAY_BRIDGE.md](PLUGIN_AND_GATEWAY_BRIDGE.md)  
- Proxmox: `docs/03-deployment/DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md`  
- Proxmox: `docs/dbis-rail/DBIS_RAIL_AND_PROJECT_COMPLETION_MASTER_V1.md`  
- Proxmox: `docs/04-configuration/SOLACENET_PUBLIC_HUB.md`
