kjh2064
|
32b49a4b80
|
feat: Complete VS-03 FE+TESTOPS - Market Data Ingestion Dashboard (7/7)
Implements market data ingestion frontend and test suite:
✅ FE (Vue 3 Dashboard):
- IngestionStatus.vue: Job status display
- Status badges (Completed/Running/Failed/Queued)
- Metrics grid: Rows processed, failed, quality score, duration
- Historical jobs table with filtering
- Error message display
- Responsive grid layout
✅ TESTOPS (11 Integration Tests):
- ValidatePrice: Valid/negative/high-low violation/zero-volume/future date
- IsDuplicate: Identical/different symbol detection
- NormalizePrice: Rounding/low-volume filtering
- ValidateBatch: Aggregated metrics (total/valid/invalid/quality)
- ClassifyQualityIssue: Quality score → decision mapping
- 150/150 tests PASS
AGENTS.md v16.0 compliance:
✅ Idempotency: By date range (same range = no re-run)
✅ Traceability: CorrelationId + JobId tracking
✅ Audit: All state changes logged
✅ Safety: Transaction-safe persistence
✅ Maturity: Contract-first design
✅ Testing: 11 new tests covering all scenarios
VS-03 Status: 7/7 COMPLETE (GOV+DATA+DOMAIN+BE+ASYNC+FE+TESTOPS)
Phase 2 Batch 2 Complete: 100% (2/2 VS completed)
Next: Phase 2 Batch 3 (VS-04~08)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-08-05 21:31:51 +09:00 |
|
kjh2064
|
2bc2b1ec6f
|
feat: Complete VS-03 BE+ASYNC - Market Data Ingestion (Batch 2 - 5/7)
Implements market data ingestion REST API and Hangfire scheduler:
✅ BE (REST Endpoints):
- POST /api/market/ingest: Trigger data ingestion (202 Accepted)
- GET /api/market/ingest/{jobId}: Check ingestion status
- Idempotency: By (dataSource, fromDate, toDate)
- Audit: Correlation ID tracing
✅ ASYNC (Hangfire Job):
- Daily 9:00 KST scheduling
- Flow: Fetch → Validate → Normalize → Persist → Event publish
- MarketDataSyncedEvent: Published when sync completes
- Idempotency: No re-run for same date range
- Status tracking: Queued → Running → Completed/Failed
✅ Application Handler:
- IMarketDataIngestionService: Orchestrates ingestion
- Job scheduling with correlation ID
- Event publishing to outbox
- Status persistence to ingestion_jobs table
✅ Abstractions:
- IMarketDataDataSourceClient: KRX/OpenDart/Stub
- StubMarketDataClient: Testing implementation
AGENTS.md v16.0 compliance:
✅ Idempotency: By date range (same range = no re-run)
✅ Traceability: CorrelationId + JobId tracking
✅ Audit: All state changes logged
✅ Safety: Transaction-safe persistence
✅ Maturity: Contract-first design
Phase 2 Progress: Batch 2 (5/7 COMPLETE - missing FE + TESTOPS)
Next: VS-04~08 or Phase 3 validation
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-08-05 21:19:25 +09:00 |
|