Fix/market data review items#39
Open
YawarRizwan wants to merge 14 commits intoed-donner:fix/market-data-review-itemsfrom
Open
Fix/market data review items#39YawarRizwan wants to merge 14 commits intoed-donner:fix/market-data-review-itemsfrom
YawarRizwan wants to merge 14 commits intoed-donner:fix/market-data-review-itemsfrom
Conversation
…items Fix/market data review items
Interactive dashboard showing all 10 tickers with live GBM-simulated prices, sparklines, color-coded direction arrows, and an event log for notable moves. Runs 60 seconds or until Ctrl+C, then prints a session summary comparing final prices to seeds. Usage: cd backend && uv run market_data_demo.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- planning/MARKET_DATA_SUMMARY.md: comprehensive summary of everything built, tested, and reviewed in the market data backend - backend/CLAUDE.md: developer guide with key APIs, setup, and usage - planning/archive/: moved 5 superseded market data planning documents Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Market data demo, summary docs, and backend CLAUDE.md
…935320908 Add Claude Code GitHub Workflow
Detailed implementation guide for the market data subsystem covering PriceUpdate model, PriceCache, MarketDataSource interface, GBM simulator, Massive API client, SSE streaming endpoint, lifecycle integration, and tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add market data backend implementation design
Comprehensive review of the market data backend implementation against PLAN.md and design docs. Documents 9 issues (3 critical, 2 high, 1 medium, 3 minor) including missing open_price field, SSE field name and timestamp format mismatches, and 33% stream.py test coverage gap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Market data code review findings
All 9 issues from MARKET_DATA_REVIEW.md resolved: Critical: - Add open_price to PriceUpdate and PriceCache.update() — session-start baseline required by frontend for daily change % calculation - Rename previous_price → prev_price to match PLAN.md SSE contract - Convert timestamp in to_dict() to ISO 8601 UTC string High: - Move massive imports to lazy (inside start()/_fetch_snapshots) so the massive package is only required when MASSIVE_API_KEY is set - SSE now emits one event per ticker instead of a single batched object - Add test_stream.py: 11 new tests covering SSE format, open_price, ISO timestamp, disconnect, deduplication; stream.py coverage 33% → 91% Medium: - Unknown tickers seed at $100 (DEFAULT_SEED_PRICE) not random $50–$300 Minor: - create_stream_router returns a fresh APIRouter each call - TSLA_CORR corrected to 0.25 (was 0.3) Also: move massive to optional dependency in pyproject.toml, update backend/CLAUDE.md to reflect new PriceUpdate fields. 89 tests pass, 96% coverage, ruff clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.