Hack Day: FDC3 Version 3 Update
- Dominant language
- Shell
- Stars
- 106
- Forks
- 146
- Avg merge
- 21d 40m
- Merged PRs (30d)
- 1
Description
## Concept
Update TraderX's FDC3 implementation to exercise FDC3 v3 ahead of GA, using the FDC3 `3.0.0-alpha.2` client package and the Sail `sail-v3-beta` branch as the demo/runtime target.
This can run as a hack day track even while FDC3 v3 is still pre-release: the goal is to validate the migration early, identify Sail/Web Agent gaps, and make TraderX a useful reference/demo app for v3 interoperability.
## Prototype Direction
- Move TraderX frontend integration to official `@finos/fdc3@3.0.0-alpha.2` and `getAgent()` semantics.
- Stand up a local Sail v3 beta sidecar for a repeatable demo workspace.
- Seed AppD records for TraderX, Mini TraderX, TraderX Intent Launcher, TradingView-style demo apps, Pricer, and FINOS conformance apps.
- Use canonical `fdc3.instrument` broadcasts for security selection.
- Add TraderX-specific `traderx.account` context for account selection between TraderX windows.
- Add a standalone `/mini-traderx` companion window that listens for global account/instrument context, shows current price, and displays a live position blotter filtered to the selected instrument.
- Keep Mini TraderX scoped to account, instrument, price, and positions only; trade/order ticket launching remains in main TraderX and the separate Intent Launcher.
- Verify real Sail delivery of broadcasts across TraderX, Mini TraderX, launcher, TradingView, and Pricer.
## Demo Ideas
1. Open a Sail v3 workspace with main TraderX, Mini TraderX, TradingView Chart/Market Data, Pricer, and Intent Launcher already laid out.
2. Select a position/security in main TraderX and watch Mini TraderX plus external apps pivot through `fdc3.instrument`.
3. Change selected account in main TraderX and watch Mini TraderX pivot through `traderx.account`.
4. Use Intent Launcher to raise `TraderX.CreateTradeTicket` / `TraderX.CreateOrderTicket` for the current instrument.
5. Show fallback/local-only behavior when no FDC3 agent is present.
6. Capture conformance/regression gaps for Sail v3 beta and FDC3 alpha.
## Current Prototype Notes
- State 014 is the target state for this work.
- FDC3 package target: `@finos/fdc3@3.0.0-alpha.2`.
- Sail target: `sail-v3-beta` branch.
- Keep TraderX payloads canonical for `fdc3.instrument.id.ticker`; isolate Sail/demo compatibility shims in state generation/bootstrap code.
- Account context should only carry account identity/display name, not balances, positions, or P&L.
## Acceptance Criteria
- [ ] TraderX state 014 can start TraderX + Sail v3 beta + demo apps with one generated runtime command.
- [ ] Sail workspace seeds all demo apps and no dead local AppD ports.
- [ ] Main TraderX publishes and consumes `fdc3.instrument`.
- [ ] Main TraderX and Mini TraderX publish/consume `traderx.account`.
- [ ] Mini TraderX runs standalone at `/mini-traderx` and renders live account/instrument-scoped positions.
- [ ] Smoke test proves real Sail broadcast delivery to Mini TraderX, launcher, TradingView, and Pricer.
- [ ] Notes collected for FDC3 v3/Sail beta gaps before v3 GA.
Contributor guide
Assessment
This issue has not been assessed yet.