- remove the sector_type parameter from the selection port, adapter, and
use case; the adapter now passes SectorType.INDUSTRY directly, deleting
the dead concept vocabulary mapping
- stop parsing concepts/concept_total/concept_limit from the sector-radar
membership response in the web API layer and narrow the response type to
industries only
- update tests and the task PRD accordingly; backend pyright errors drop
from the 16 baseline to 14
- Introduced ActiveMoneyflowSource to fetch optional active-order flow, enhancing the sector radar's data capabilities.
- Updated StockFactRecord and DailyAggregateRecord to include pct_change and active_buy_net_amount_yuan for improved financial insights.
- Modified the build process to incorporate active moneyflow data without invalidating main rankings on failure.
- Enhanced the HTTP API to return detailed sector history and metrics, including pct_change and active buy metrics for members.
- Updated tests to validate the new functionality and ensure data integrity across various scenarios.
Add point-in-time stock membership lookup to the sector radar module
(GET /sector-radar/stocks/{ts_code}/membership) reading the existing
dc_index/dc_member snapshots, and surface industries plus concept chips
in the selection signal detail panel with graceful no-data hiding.