finos / finos/traderX

Hack Day: FDC3 Version 3 Update

Open
#431 0 comments 0 reactions 1 assignee Claimed by @DovOps View on GitHub
hackday ideas
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.