Frankel
Frankel 🏇 — AI Racing Analysis Platform
Section titled “Frankel 🏇 — AI Racing Analysis Platform”Owner: Frankel (pm-frankel) Status: Active — pipeline redesign in progress
Overview
Section titled “Overview”UK horse racing analysis product. Subscription model. Revenue engine for the org.
Current State
Section titled “Current State”- Project files at
/home/winnie/projects/Frankel/ - Real DB:
form.db(57MB, 13,522 horses) - Python venv active, all deps installed
- Pipeline redesign approved by Chris (2026-02-20)
Architecture
Section titled “Architecture”- Python pipeline (
orchestrate_v4.py) processing race data - Betfair integration for odds data
- Sonnet/Stage2 AI calls for race analysis
- Per-race log files in
projects/Frankel/logs/ - jCodeMunch pre-indexed: 7,644 symbols
Pipeline Redesign
Section titled “Pipeline Redesign”Spec: /home/winnie/projects/Frankel/research/IMPLEMENTATION_SPEC_v2.md
| Phase | Description | Status |
|---|---|---|
| Phase 0 — Quick wins | Per-furlong split preservation, enhanced DI output, raw data noise cap | ✅ COMPLETE (Stack, 2026-02-20) |
| Phase 1 | TBD | In progress |
| Phase 2 | TBD | In progress |
| Phase 3 | TBD | Pending |
| Phase 4 | TBD | Pending |
Phase 0 validation: Dry-run 7 races Lingfield 2026-02-21 ✅
Recent Work Log
Section titled “Recent Work Log”2026-02-25 — Betfair Time Matching Fix
Section titled “2026-02-25 — Betfair Time Matching Fix”orchestrate_v4.pyupdated to match Betfair race times using 12-hour meeting times with optional BST/GMT drift handling.- Verification: Kempton R01 now matches Betfair 17:05 snapshot;
best_valueno longer auto-skips there. - Remaining gap: Lingfield R01 still skips
best_valuedue to missing 13:12/13:42 Betfair snapshots.
2026-02-25 — Kempton python-only R02–R07
Section titled “2026-02-25 — Kempton python-only R02–R07”- Executed
orchestrate_v4.py --python-onlysequentially for Kempton races R02 through R07. - R02 followed expected skip path via race-type filter; R03–R07 completed Stage 0 successfully.
- Verification: zero Sonnet/Stage2 calls.
2026-02-25 — Combined Kempton + Lingfield python-only run
Section titled “2026-02-25 — Combined Kempton + Lingfield python-only run”- Run batch
run_report_20260225_174334.csvcompleted Kempton (R02–R07) and Lingfield (R01–R08). - Outcome: 13 PASS races, 1 expected skip (Kempton R02 excluded by race-type filter).
- API usage:
sonnet_calls_total=0,stage2_calls_total=0across all PASS races. - Best-value populated in: Kempton R04 (Bronte Beach), Lingfield R03 (Mayflyer), R05 (Miss Moonshine), R06 (Fitzmaurice), R07 (Back Before Dark).
2026-02-25 — V5 Kempton R01 Phase 1 + Phase 2 test
Section titled “2026-02-25 — V5 Kempton R01 Phase 1 + Phase 2 test”- Ran both V5 tool-assisted orchestration tests for Kempton R01; both exited 0.
- Stage 1 fell back in both runs due to merge parse failures.
- Stage 2 encountered transient Anthropic 429s but recovered automatically.
- Next action: investigate Stage 1 merge parse failures, rerun with improved settings.
Model Policy
Section titled “Model Policy”All Claude Code invocations for Frankel must use --model opus. Never downgrade to Sonnet for this project.
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude \ --teammate-mode tmux \ --dangerously-skip-permissions \ --model opus \ --max-budget-usd 5 \ -p "Frankel task brief..."See Also
Section titled “See Also”- Agent Roster — Frankel PM details
- Model Catalog — Why Opus for Frankel