# Project Memory

- Production/deployment host: `43.164.75.52`.
- SSH access needs an explicit key: `ssh -i ~/Downloads/tx.pem ubuntu@43.164.75.52`. Bare `ssh ubuntu@...` fails with `Connection closed`. The host also drops rapid successive connections — batch remote work into one session and retry with a short backoff rather than opening many.
- Remote project files live under `/data`; the Freqtrade deployment path documented in this repo is `/data/freqtrade`.
- The host has **no pandas**. Audit scripts that import it must run inside the container: `ssh ... 'docker exec -i freqtrade python3 -' < script.py`, where `user_data` is mounted at `/freqtrade/user_data` (not `/data/freqtrade/user_data`). Pure-stdlib scripts can be piped to the host's `python3` directly.
- `sqlite3` CLI is not installed on the host; query trade databases from inside the container via Python `sqlite3` in read-only mode (`file:...?mode=ro`).
- Deployment and migration notes are in `docs/freqtrade-deployment.md`; current strategy state is the 速览 at the top of `docs/strategy-iterations.md`.
- The Bot Observatory frontend design source of truth is `bot-observatory/DESIGN.md`, using the Google Labs `design.md` format. Read it before UI work, reuse its tokens and component rules with Astryx, and run `bun run design:lint` before shipping frontend changes.
- Bot Observatory is Chinese-first and light-theme only. Do not introduce a second component design system, dark sections, decorative gradients, or mock production data.
