Files
quant-os/CLAUDE.md
T

61 lines
2.2 KiB
Markdown

# CLAUDE.md
This independent repository is the executable source of truth for Quant OS.
`quant_os` is the long-lived product namespace. `quant60` is the compatibility
namespace for the first A-share Baseline protocol and V1 artifacts; maturity
scores belong to profiles, never to package names. Obsidian contains research
and status documentation only.
## Development commands
Run all commands from this directory:
```bash
make architecture
make standard
make test
make bundle
make smoke
make verify
make doctor
make local
```
The zero-install path is `PYTHONPATH=src:. python3 ...`. Do not require a
virtual environment for the deterministic local smoke.
## Platform boundaries
- `dist/joinquant_strategy.py` is the generated single-file JoinQuant upload.
- `dist/qmt_builtin_strategy.py` is the generated QMT built-in backtest file.
- `platforms/qmt_research_runner.py` drives qmttools backtests.
- `adapters/xttrader_live.py` is the guarded external QMT/XtTrader boundary.
- `platforms/qlib_runner.py` is an isolated Qlib research bridge.
- `notebooks/quant_os_colab.ipynb` must remain executable locally and in Colab.
Never make QMT built-in code live-capable. Real broker mutation stays disabled
unless the external XtTrader adapter receives a fresh, account-bound guard.
## Security
- Never commit passwords, tokens, cookies, broker userdata, account exports,
private keys, or reusable credentials.
- JoinQuant authentication uses an interactive browser session.
- QMT configuration is injected through local environment variables; only
placeholder names belong in `.env.example`.
- Fake, synthetic, and unit-test evidence must never be described as a real
platform or broker pass.
## Definition of done
A change is complete only when:
1. unit/integration tests pass;
2. hosted bundles rebuild and pass Python 3.6 syntax checks;
3. the deterministic smoke and manifest verifier pass;
4. architecture and maturity profile checks pass;
5. docs state the exact evidence class and remaining external gate;
6. no secret or machine-specific absolute path is added to executable or public
artifacts. Migration/getting-started docs may name the user-confirmed local
checkout, but generated evidence must stay repository-relative.