Contract Delta: 014-fdc3-intent-interoperability
Parent state: 012-platform-convergence-c3
Document any API/event/schema changes for this state.
OpenAPI Changesβ
- No backend OpenAPI changes are required for this state.
Event Contract Changesβ
- Existing NATS event contracts remain unchanged.
- FDC3 interoperability introduces application-level context/intent contracts handled in-browser.
Interop Contract Changes (App-Level)β
Supported Context Typesβ
- Inbound:
fdc3.instrument - Outbound:
fdc3.instrument
Inbound Intents (TraderX Listens For)β
ViewOrderswithfdc3.instrumentTraderX.CreateTradeTicketwithfdc3.instrumentTraderX.CreateOrderTicketwithfdc3.instrument
Outbound Intents (TraderX Raises)β
ViewChartwithfdc3.instrumentViewQuotewithfdc3.instrument
Context Mapping Rulesβ
- Canonical symbol source: TraderX security/ticker fields (
security,ticker) normalized to uppercase. - Minimum context payload requirement:
type = "fdc3.instrument"id.tickerpresent and non-empty.
- Optional identifiers may be included when available:
id.ISINid.FIGIid.RIC
App Directory Contract (Sail Demo Profile)β
- Seeded TraderX app record includes:
- launch URL for TraderX runtime entrypoint
- declared intents under interop metadata (
listensForforViewOrders,TraderX.CreateTradeTicket,TraderX.CreateOrderTicket) - declared context support for
fdc3.instrument
- Demo profile includes additional apps able to consume
fdc3.instrumentand/or raise ticket-launch intents. - App-directory assets are versioned inside state
014generated artifacts to avoid manual demo-time editing.
Compatibility Notesβ
- Core backend contracts remain backward compatible with state
012. - Interop behavior is additive; if FDC3 is unavailable, all pre-existing workflows remain operational.
- Unknown or malformed intent/context payloads are ignored with diagnostics rather than causing user-visible failures.