33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# 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 test` output 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`.
|
|
|
|
```bash
|
|
flutter pub get
|
|
flutter run -d chrome
|
|
flutter test
|
|
flutter analyze --no-fatal-infos
|
|
```
|