docs(BT-003B): record completed drilldown validation

This commit is contained in:
Bu5hm4nn
2026-03-27 11:12:18 +01:00
parent 3c9ff201e1
commit b3418eed2e
4 changed files with 20 additions and 41 deletions

View File

@@ -13,7 +13,6 @@ notes:
- Pre-alpha policy: we may cut or replace old features without backward compatibility until alpha is declared. - 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. - Alpha migration policy: once alpha is declared, compatibility only needs to move forward; backward migrations are not required.
priority_queue: priority_queue:
- DEV-DOCKER-001
- PORT-003 - PORT-003
- BT-002 - BT-002
- BT-001C - BT-001C
@@ -24,6 +23,7 @@ priority_queue:
- OPS-001 - OPS-001
- BT-003 - BT-003
recently_completed: recently_completed:
- BT-003B
- CORE-001D - CORE-001D
- CORE-001D3C - CORE-001D3C
- CORE-001D2D - CORE-001D2D
@@ -41,15 +41,13 @@ states:
- DATA-002A - DATA-002A
- DATA-001A - DATA-001A
- OPS-001 - OPS-001
- DEV-DOCKER-001
- PORT-003 - PORT-003
- EXEC-001 - EXEC-001
- EXEC-002 - EXEC-002
- BT-002 - BT-002
- BT-003 - BT-003
- BT-001C - BT-001C
in_progress: in_progress: []
- BT-003B
done: done:
- DATA-001 - DATA-001
- DATA-002 - DATA-002
@@ -64,6 +62,7 @@ states:
- BT-001 - BT-001
- BT-001A - BT-001A
- BT-003A - BT-003A
- BT-003B
- CORE-001A - CORE-001A
- CORE-001B - CORE-001B
- CORE-001C - CORE-001C

View File

@@ -1,17 +0,0 @@
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,17 @@
id: BT-003B
title: Event Comparison Drilldown
status: done
priority: P1
effort: M
depends_on:
- BT-003A
tags:
- backtesting
- ui
summary: The event comparison page now explains why one ranked strategy beat another by exposing a selectable drilldown over the ranked results.
completed_notes:
- Added service-backed drilldown models in `app/services/event_comparison_ui.py` for ranked strategy selection, worst-LTV inspection, breach dates, and daily path rows.
- Updated `app/pages/event_comparison.py` to render a `Strategy drilldown` selector, selected-strategy summary cards, worst-LTV and breach-date highlights, and a daily path details table.
- Added regression coverage in `tests/test_event_comparison_ui.py` and extended `tests/test_e2e_playwright.py` so drilldown selection proves route-visible content changes.
- Local Docker validation is now confirmed on Docker Desktop: the stack starts cleanly, `/health` returns OK, and browser automation on the Docker-served `/{workspace_id}/event-comparison` route verified the drilldown UI and selection updates.
- The earlier Docker validation confusion was caused by a local SSH port-forward hijacking host requests to `localhost:8000`, not by the app container itself.

View File

@@ -1,20 +0,0 @@
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`.