- MarketCategoryMapper: classify from question text (the Gamma /markets
endpoint delivers neither category nor event tags, so on-demand markets
had no signal at all), match short tokens on word boundaries ("eth" no
longer hits inside "whether", "pop" not inside "popular"), widen the
keyword lists across all categories.
- UpdateMarketFields: never overwrite a tag-derived category with an
uninformative "Other" from the on-demand path.
- PositionPnLEngine: sync Trader.TotalTrades to the actual replayed row
count — the worker-side increment counters drift (INSERT IGNORE,
deletions, historic imports) and produced Trades30d > TotalTrades.
- Tests: 14 new (mapper classification + word-boundary regression,
TotalTrades sync + Trades30d invariant, category update guard via
SQLite) — suite now 32 green + 1 skip.
- FIXPLAN Teil D for the larger rebuilds (AggregatedCount column,
TraderTraits heuristics, IngestMode tiering for ultra-HF traders).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Shared ApiConfiguration.MapPredictalyticsEndpoints() used by both the
standalone API and the embedded WinForms Kestrel server: the embedded
host was missing /api/watchlist and /api/dev (empty watchlist page),
the standalone host was missing /api/search.
- New Development menu action "Recalculate All Traders": backfills
ResolutionOutcome from snapped outcome prices, wipes derived analytics
(snapshots, category stats, rebuildable positions), zeroes aggregates
and marks every trader for re-analysis. Raw trades untouched.
- Static files now served with Cache-Control: no-cache in both hosts,
plus ?v= cache-buster on app.js/style.css (stale browser JS masked
earlier UI fixes).
- Watchlist hardened: endpoint null-safe, real Analytics.CopytradingScore,
Platform field; repository includes Trader.Analytics; page shows a
visible error row instead of staying silently blank.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Clean Architecture .NET 8 solution (Domain/Application/Infrastructure/Api/Worker/WinFormsHost)
for analyzing Polymarket traders for copytrading/strategy-replication candidates.
Includes EF Core InitialBaseline migration and DB secrets removed from source/config
in preparation for version control.