# FDC3 Intent Interoperability on C3

> For the complete documentation index, see [llms.txt](https://deploy-preview-472--lucky-concha-f3599f.netlify.app/llms.txt).

State 014 layers FDC3 context and intent interoperability onto the C3 TraderX runtime and adds a local Sail sidecar demo environment.

*   Inherits architectural baseline from: `012-platform-convergence-c3`
*   Generated from: `system/architecture.model.json`
*   Canonical flows: `../001-baseline-uncontainerized-parity/system/end-to-end-flows.md`

## Entry Points

*   `traderx-ui`: `http://localhost:8080`
*   `sail-ui`: `http://localhost:8090`

## Architecture Diagram

Diagram source

```mermaid
flowchart LR
  trader["Trader"]
  traderxUi["TraderX Angular UI"]
  traderxIngress["TraderX Ingress"]
  sailSidecar["Sail Sidecar"]
  sailDirectory["Sail App Directory Profile"]
  demoApps["Demo FDC3 Apps"]
  orderApi["Order Matcher API"]
  tradeApi["Trade Service API"]
  positionApi["Position Service API"]
  nats["NATS Broker"]
  trader -->|"Selects blotter rows and launches tickets"| traderxUi
  trader -->|"Uses Sail app launcher/resolver"| sailSidecar
  sailDirectory -->|"Provides app/intents/context metadata"| sailSidecar
  sailSidecar -->|"Routes contexts/intents to TraderX"| traderxUi
  traderxUi -->|"Broadcasts fdc3.instrument and raises intents"| sailSidecar
  sailSidecar -->|"Hosts/resolves demo app workflows"| demoApps
  demoApps -->|"Raises ticket-launch and view intents"| sailSidecar
  traderxUi -->|"Uses existing UI/API routes"| traderxIngress
  traderxIngress -->|"Trade ticket workflows"| tradeApi
  traderxIngress -->|"Order ticket and order blotter workflows"| orderApi
  traderxIngress -->|"Position blotter queries"| positionApi
  traderxUi -->|"Receives realtime pricing/order updates via nats-ws"| nats
```

## Node Catalog

| Node | Kind | Label | Notes |
| --- | --- | --- | --- |
| `trader` | actor | Trader | User interacting with TraderX blotters and tickets. |
| `traderxUi` | service | TraderX Angular UI | Trade/order/position views plus FDC3 integration adapter. |
| `traderxIngress` | gateway | TraderX Ingress | NGINX ingress for TraderX UI/API traffic. |
| `sailSidecar` | service | Sail Sidecar | Local Sail desktop-agent runtime hosted outside TraderX ingress. |
| `sailDirectory` | component | Sail App Directory Profile | Seeded app-directory records for TraderX and demo apps. |
| `demoApps` | service | Demo FDC3 Apps | Chart/quote/workbench apps participating in ticker workflows. |
| `orderApi` | service | Order Matcher API | Order listing and lifecycle endpoints used by order flows. |
| `tradeApi` | service | Trade Service API | Trade creation/query endpoints used by trade ticket flows. |
| `positionApi` | service | Position Service API | Position/blotter data source for symbol-selected rows. |
| `nats` | service | NATS Broker | Realtime ticker and lifecycle updates via websocket gateway. |

## State Notes

*   FDC3 integration is additive and frontend-scoped.
*   No backend API or schema changes are required for core interoperability behavior.
*   Sail sidecar is intentionally outside TraderX ingress to keep concerns separated.
*   Degraded mode preserves baseline workflows when DesktopAgent is unavailable.
