Problem statement:
Build a unified GraphQL API layer that integrates three finance domains: OpenTrading, Portfolio-Watcher, and tax-break.
Requirements:
- Define a coherent GraphQL schema for:
- accounts
- holdings/positions
- trades/orders/fills
- portfolio performance snapshots
- tax estimation inputs/outputs
- Add resolver architecture with modular service adapters/connectors for:
- opentrading
- portfolio-watcher
- tax-break
(use mock/default adapters if live endpoints are unavailable)
- Normalize inconsistent upstream fields into canonical internal models.
- Implement end-to-end query flows:
- portfolio overview with positions and P/L
- trade history mapped to tax-relevant events
- tax estimate summary derived from trading activity
- Add tests for schema/resolvers and aggregation logic.
- Add README section: “Finance Cluster Integration (Priority 1)” with setup/run/test instructions and data-flow.
Engineering constraints:
- Modular folders per connector + shared domain model layer.
- Environment-based configuration for endpoints/credentials placeholders.
- Graceful partial-failure handling (one connector failure should not break all data).
- Add minimal caching/batching where useful.
- Preserve backward compatibility where possible; document breaking changes if needed.
Acceptance criteria:
- Build passes, tests pass.
- New cross-source queries work.
- Tax summary is traceable to underlying trade/portfolio data.
- PR includes architecture decisions + follow-up tasks.
Problem statement:
Build a unified GraphQL API layer that integrates three finance domains: OpenTrading, Portfolio-Watcher, and tax-break.
Requirements:
(use mock/default adapters if live endpoints are unavailable)
Engineering constraints:
Acceptance criteria: