chore: add Cloud Agent development environment config - #50
Conversation
Add .cursor/environment.json and an idempotent install script that bootstraps uv (managing the pinned Python 3.14 toolchain) and syncs dependencies from the committed lockfile with 'uv sync --extra dev --frozen'. Co-authored-by: Jason <jkbennitt@users.noreply.github.com>
The lockfile pinned rimworld-learning-environment at 0.3.0 while pyproject.toml declares 0.4.1, so any non-frozen 'uv sync'/'uv run' rewrote that metadata line. Regenerate the lockfile with 'uv lock' so it matches pyproject and 'uv sync --frozen' stays a no-op. Co-authored-by: Jason <jkbennitt@users.noreply.github.com>
ReviewReviewed the full diff (3 files, +28/-1). Scope is tight and appropriate for an environment-setup PR.
Validation — Reproduced the full quality gate against the committed state: 519 tests pass, No blocking issues. Merging. |
Summary
Sets up the Cloud Agent development environment for RLE so future agents boot into a ready-to-use Python 3.14 +
uvworkspace.Adds:
.cursor/environment.json— repository-managed environment (default base image,ubuntuuser,installruns the bootstrap script)..cursor/install.sh— idempotent bootstrap that installsuv(which manages the pinned Python 3.14 toolchain via.python-version) and runsuv sync --extra dev --frozenagainst the committeduv.lock.Also fixes a pre-existing lockfile mismatch:
uv.lockpinned the local package at0.3.0whilepyproject.tomldeclares0.4.1, so any non-frozenuv sync/uv runrewrote that metadata line. Regenerated withuv locksouv sync --frozenis now a clean no-op.Validation (this VM)
uv sync --extra dev --frozenfrom scratch (fresh.venv)uv sync --frozenno-op after lockfile fixuv run pytestruff check src/ tests/ scripts/mypy src/(strict)run_benchmark.py --dry-run --ticks 10(all 6 scenarios, mock RIMAPI + mock LLM)bld-20260904-c481ac0a)Notes
--smoke-test(needs an LLM API key), the React dashboard (separaterimapi-dashboardrepo +bun), the Docker headless benchmark (needs game files), and the live scenario (needs RimWorld + the RIMAPI mod) — depend on secrets and external services not available in a headless Linux cloud VM. The fully-offline--dry-runpath exercises the complete multi-agent orchestration, scoring, and conflict-resolution pipeline end-to-end.