Environment
- OS: Windows 2019 Server
- Python: 3.14.3
- openadapt-ml: 0.14.1 (also reproduced on main branch)
- GPU: None (CPU mode)
Description
Several commands fail with misleading "openadapt-ml not installed" errors due to internal import mismatches within openadapt-ml. The except ImportError blocks in cli.py mask the real errors.
Bugs Found
1. cli.py imports non-existent serve_dashboard
openadapt/cli.py serve function imports serve_dashboard from openadapt_ml.cloud.local, but the actual function is cmd_serve.
2. cmd_serve imports non-existent functions from trainer.py
cloud/local.py:cmd_serve() imports regenerate_local_dashboard and update_current_symlink_to_latest from openadapt_ml.training.trainer — neither exists. Only get_current_job_directory is available.
3. train.py uses wrong parameter name for capture_to_episode
scripts/train.py line ~41 calls capture_to_episode(capture_path, goal=goal) but the actual signature is capture_to_episode(capture_path, instruction=None).
4. demo_policy.py imports non-existent generate_synthetic_sessions
scripts/demo_policy.py imports generate_synthetic_sessions from openadapt_ml.ingest.synthetic, but this function doesn't exist.
5. Missing configs/ directory
The configs/ directory (containing qwen3vl_capture.yaml, qwen3vl_capture_4bit.yaml, etc.) is not included in the pip package, causing training to fail with "Config not found".
Steps to Reproduce
pip install openadapt[all]
openadapt serve --port 8080 # "Error: openadapt-ml not installed"
openadapt train start --capture MyCapture --model qwen3vl-2b # Same error
Workarounds
Detailed workarounds involve:
- Installing from main branch:
pip install --force-reinstall git+https://github.com/OpenAdaptAI/openadapt-ml.git@main
- Monkey-patching missing
regenerate_local_dashboard and update_current_symlink_to_latest functions for serve command
- Patching
goal=goal to instruction=goal in scripts/train.py
- Manually creating config YAML files with model, lora, and training settings
- Installing missing dependency:
pip install datasets
Environment
Description
Several commands fail with misleading "openadapt-ml not installed" errors due to internal import mismatches within
openadapt-ml. Theexcept ImportErrorblocks incli.pymask the real errors.Bugs Found
1.
cli.pyimports non-existentserve_dashboardopenadapt/cli.pyservefunction importsserve_dashboardfromopenadapt_ml.cloud.local, but the actual function iscmd_serve.2.
cmd_serveimports non-existent functions fromtrainer.pycloud/local.py:cmd_serve()importsregenerate_local_dashboardandupdate_current_symlink_to_latestfromopenadapt_ml.training.trainer— neither exists. Onlyget_current_job_directoryis available.3.
train.pyuses wrong parameter name forcapture_to_episodescripts/train.pyline ~41 callscapture_to_episode(capture_path, goal=goal)but the actual signature iscapture_to_episode(capture_path, instruction=None).4.
demo_policy.pyimports non-existentgenerate_synthetic_sessionsscripts/demo_policy.pyimportsgenerate_synthetic_sessionsfromopenadapt_ml.ingest.synthetic, but this function doesn't exist.5. Missing
configs/directoryThe
configs/directory (containingqwen3vl_capture.yaml,qwen3vl_capture_4bit.yaml, etc.) is not included in the pip package, causing training to fail with "Config not found".Steps to Reproduce
Workarounds
Detailed workarounds involve:
pip install --force-reinstall git+https://github.com/OpenAdaptAI/openadapt-ml.git@mainregenerate_local_dashboardandupdate_current_symlink_to_latestfunctions for serve commandgoal=goaltoinstruction=goalinscripts/train.pypip install datasets