Drop unsloth/vllm dependency chain to eliminate huggingface-hub version
conflicts. Use AutoModelForCausalLM + BitsAndBytesConfig + LoraConfig
directly. Flash attention falls back to SDPA if flash-attn is missing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace greedy regex with balanced-bracket parser that skips prose
fragments like [draft] and only returns candidates that decode as
valid JSON arrays. Also updates the notebook with:
- single environment_reward_fn (drop redundant format_reward_fn)
- auto-submit for short non-terminal plans so terminal reward fires
- same robust _extract_json_array parser as the packaged module
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
docs: clarify notebook surfaces and OpenEnv guidance
- Add apt-get build deps for constellaration on Colab
- Replace FusionLabClient with requests for robust HF Space demo
- Update README with HF Space and notebook links, mark deployment complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: add HF Space deployment + GRPO training notebook
- Add root-level re-export files (__init__.py, client.py, models.py)
for OpenEnv packaging convention
- Switch Dockerfile base from openenv-base to python:3.12-slim for
reliable HF Space builds
- Add Colab-ready GRPO training notebook using Unsloth + TRL
with environment reward functions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>