- Archive completed subtasks (02+01_risk_command, 03+02_order_lifecycle) - Add paper_order_lifecycle test data and expected output - Update paper trading proto and regenerate code (Dart, Go) - Fix order lifecycle handling in CLI operator, API socket, worker socket - Update parser maps across CLI, API, and worker services - Update backtest and paper trading tests |
||
|---|---|---|
| .. | ||
| android | ||
| assets | ||
| integration_test | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| test | ||
| test_runtime | ||
| tool | ||
| web | ||
| windows | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
ALT Client
Flutter client for ALT web, mobile, and desktop targets.
This app uses Riverpod for state and dependency boundaries, and go_router for navigation.
Generated ALT protobuf files live under lib/src/generated/alt/v1.
Client parser map helpers live under lib/src/contracts.
Do not edit generated files by hand; run ../../bin/contracts-gen.
Workbench Shell
lib/src/app/alt_workbench_shell.dart provides the current ALT client shell: top titlebar, right-side activity rail, center content switching, and a right Agent dock. The dock uses the sibling agent_shell package as a product-neutral chat/agent surface.
The shell is intentionally a skeleton. Quant-specific screens such as market data, backtests, portfolio, and research remain placeholders until the API/worker/domain headless paths are ready to mount real surfaces.
API/Core Readiness Handoff
Before adding operator console screens, client work should prove the screenless API boundary first:
- request/response parser coverage for generated ALT protobuf messages
- socket connect, disconnect, timeout, and transport failure states represented outside UI copy
- market data status/list calls with parsed result/status keys
- backtest list/detail/result/start calls with success and typed error paths
- reproducible
flutter testoutput plus fixture/fake notes for the next UI milestone
The CLI scenario evidence that feeds this client boundary lives in apps/cli/testdata/operator/headless_validation.md.
flutter pub get
flutter run -d chrome
flutter test
flutter analyze --no-fatal-infos