feat: defer entry spot derivation to backtest run (BT-005)

- Remove async refresh_workspace_seeded_units from date change handlers
- Date changes now only call on_form_change() (updates cost estimates, marks results stale)
- Entry spot is derived only when user clicks Run button
- Form remains responsive during configuration
- No more API errors when changing dates while configuring other fields
This commit is contained in:
Bu5hm4nn
2026-04-06 11:14:51 +02:00
parent 4af7a09c6e
commit aff4df325d
3 changed files with 12 additions and 39 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.
- Alpha migration policy: once alpha is declared, compatibility only needs to move forward; backward migrations are not required.
priority_queue:
- BT-005
- BT-004
- EXEC-002
- DATA-DB-005
@@ -25,6 +24,7 @@ priority_queue:
- GCF-001
- DATA-DB-006
recently_completed:
- BT-005
- CORE-003
- CONV-001
- DATA-DB-004
@@ -50,7 +50,6 @@ recently_completed:
- CORE-002B
states:
backlog:
- BT-005
- BT-004
- DATA-DB-005
- DATA-DB-006
@@ -63,6 +62,7 @@ states:
- GCF-001
in_progress: []
done:
- BT-005
- CORE-003
- CONV-001
- DATA-DB-003

View File

@@ -1,6 +1,6 @@
id: BT-005
title: Defer Entry Spot Derivation to Backtest Run
status: backlog
status: done
priority: P1
effort: S
depends_on: []
@@ -14,9 +14,7 @@ acceptance_criteria:
- Clear loading indicator shows when entry spot is being fetched during run.
- Previous entry spot value is retained until new one is derived.
notes:
Current behavior calls derive_entry_spot on every date change which causes
API errors if user is still configuring other fields.
The refresh_workspace_seeded_units function should not be called on date changes.
Entry spot derivation should happen inside start_backtest or as a separate
explicit "fetch spot" button if user wants to preview.
Removed async refresh_workspace_seeded_units from date change handlers.
Entry spot derivation now only happens inside run_read_only_scenario when
the user clicks Run. Form changes now call on_form_change() which only
updates cost estimates and marks results stale.