feat(BT-003B): add event comparison drilldown

This commit is contained in:
Bu5hm4nn
2026-03-26 22:05:31 +01:00
parent bdf56ecebe
commit 3c9ff201e1
8 changed files with 329 additions and 21 deletions

View File

@@ -13,7 +13,7 @@ notes:
- Pre-alpha policy: we may cut or replace old features without backward compatibility until alpha is declared.
- Alpha migration policy: once alpha is declared, compatibility only needs to move forward; backward migrations are not required.
priority_queue:
- BT-003B
- DEV-DOCKER-001
- PORT-003
- BT-002
- BT-001C
@@ -41,14 +41,15 @@ states:
- DATA-002A
- DATA-001A
- OPS-001
- DEV-DOCKER-001
- PORT-003
- EXEC-001
- EXEC-002
- BT-002
- BT-003
- BT-003B
- BT-001C
in_progress: []
in_progress:
- BT-003B
done:
- DATA-001
- DATA-002

View File

@@ -1,14 +0,0 @@
id: BT-003B
title: Event Comparison Drilldown
status: backlog
priority: P1
effort: M
depends_on:
- BT-003A
tags: [backtesting, ui]
summary: Explain why one ranked strategy beat another on the event comparison page.
acceptance_criteria:
- Selecting a ranked strategy shows daily path details.
- UI exposes margin-call days, payoff realized, hedge cost, and final equity.
- Worst LTV point and breach dates are highlighted.
- Browser test verifies drilldown content updates when selecting a ranked result.

View File

@@ -0,0 +1,17 @@
id: DEV-DOCKER-001
title: Local Docker Bind Mount Integrity
status: backlog
priority: P0
effort: S
depends_on: []
tags:
- devops
- docker
- local-dev
summary: Restore trustworthy local Docker validation by fixing the current empty bind-mount/import failure for `./app -> /app/app` under the local OrbStack workflow.
acceptance_criteria:
- `docker compose up -d --build` starts the local stack cleanly.
- `docker compose ps` shows the app container healthy instead of restart-looping.
- `docker compose run --rm --entrypoint python app -c 'import app.main'` succeeds.
- Inside the app container, `/app/app` contains the repository's actual application files.
- `/health` and at least one changed route can be validated against the Docker-served app, not only a direct local uvicorn process.

View File

@@ -0,0 +1,20 @@
id: BT-003B
title: Event Comparison Drilldown
status: in_progress
priority: P1
effort: M
depends_on:
- BT-003A
tags:
- backtesting
- ui
summary: Explain why one ranked strategy beat another on the event comparison page.
acceptance_criteria:
- Selecting a ranked strategy shows daily path details.
- UI exposes margin-call days, payoff realized, hedge cost, and final equity.
- Worst LTV point and breach dates are highlighted.
- Browser test verifies drilldown content updates when selecting a ranked result.
progress_notes:
- The drilldown UI and service models are implemented in `app/pages/event_comparison.py` and `app/services/event_comparison_ui.py`.
- Focused unit coverage is green and direct local-browser validation against a fresh local uvicorn process succeeded.
- Closure is waiting on the local Docker validation path because `docker compose up -d --build` currently surfaces an environment-specific empty bind-mount/import failure for `./app -> /app/app`.