Spaces:
Paused
Paused
Commit History
23 days ago
-
Deploy to HF Spaces
Chandrakiran-088501103
25 days ago
-
Free debugger on OpenCode Zen; separate code and scene model lists
Chandra KiranUnverified signatureThe first repair after a failed check now goes to a free DeepSeek V4 Flash through OpenCode Zen (DEBUG_MODEL), not OpenRouter: recorded as exempt, never billed. If that call fails (rate limit, offer withdrawn, OpenCode missing) the same repair falls back to the next paid tier, and later repairs keep climbing. Scenes use it through a tool-less OpenCode chat (api/zen.py); OpenCode code generation switches to it inside the same session. CODE_MAX_ATTEMPTS is now 3 so the free try never replaces the stronger paid repair. Routing keeps two registries of Chinese open-weight models on OpenRouter, chosen by benchmark and price: code DeepSeek V4 Flash -> V4 Pro -> GLM-5.2, scenes GLM-5.2 -> Kimi K2.6. SCENE_MODELS / CODE_MODELS override them.536e671 -
Raise the shared result-storage limit to 9 GB
Chandra KiranUnverified signatureSTORAGE_LIMIT_GB now defaults to 9 (all testers together), still under R2's free 10 GB.37dfe11 -
Brand the app, strict per-tester GPU shares, free prompt enhancement
Chandra KiranUnverified signatureWeb app, RosDiff by Orcanion: the logo on the splash (short for returning visitors, skippable), sign-in, header and favicon; a 10-step beginner tour with the LiDAR simulator example; the routing line on every result (tier, reason, Why?); the simulator RosDiff picked as the main button plus "Use another simulator" (MuJoCo, MuJoCo Warp, Isaac Sim; Gazebo, Webots and PyBullet listed as not available yet); an estimate card before costly tasks; Helpful / Not helpful with an optional note on scenes, packages and jobs; a usage dialog with the rupee budget, the GPU share and, for admins, the team. GPU budget: MONTHLY_CREDIT_LIMIT_USD (now 29.98) is split equally between COMPUTE_TESTERS (4), so $7.495 each. A job is admitted only if its worst case (run until timeout) fits in both the tester's share and the team limit, and running jobs count at their worst case, so parallel jobs cannot overshoot. Prompt enhancement: each scene and code request is first rewritten into a precise brief by OpenCod…52ba0e1 -
Route every task to a model automatically and budget AI usage in rupees
Chandra KiranUnverified signatureapi/routing.py rates each request's complexity and picks the cheapest capable tier from a model registry (DeepSeek V4 Flash, DeepSeek V4 Pro, GLM-5.3 on OpenRouter by default; MODEL_REGISTRY overrides). A draft that fails its checks is repaired one tier up, so hard tasks reach the strongest model on their own. Scenes also get a simulator choice among what can run them (MuJoCo, MuJoCo Warp, Isaac Sim), with the reason. api/budget.py keeps a ledger of every model call: OpenRouter's reported cost (else list prices), converted to rupees, per tester (125 each) and for the pool (500). OpenRouter-exempt calls are recorded but not deducted. Tasks are refused when the allocation or pool can't cover them and need confirmation above CONFIRM_ABOVE_INR. New: POST /feedback (helpful / not helpful + note, stored with routing and result context) and GET /me/usage (team view for ADMIN_TESTERS).5b063c2
26 days ago
-
Default the ROS 2 coding model to DeepSeek V4 Flash for the test phase
Chandra KiranUnverified signature79.0% on SWE-bench Verified (V4 Pro: 80.6%) at about a quarter of the price on OpenRouter. V4 Pro stays one CODE_LLM_MODEL line away.a4ef305 -
Default the ROS 2 coding model to DeepSeek V4 Pro
Chandra KiranUnverified signatureCODE_LLM_MODEL now defaults to deepseek/deepseek-v4-pro: the top open-weight SWE-bench Verified score (80.6%) at about $0.44/$0.87 per million tokens on OpenRouter. Scenes stay on GLM-5.3 (LLM_MODEL).8ec300d -
Let ROS 2 code use its own model (CODE_LLM_MODEL)
Chandra KiranUnverified signatureLLM_MODEL stays the scene model; CODE_LLM_MODEL (default: the same) is what OpenCode and the direct code backend use, through the same OpenRouter key. /health shows both.4508afe -
Refuse new jobs while the R2 bucket is near its free tier
Chandra KiranUnverified signatureSTORAGE_LIMIT_GB (default 8) caps what runs can store: the bucket is measured at most every 5 minutes and new jobs get HTTP 507 while it is over the limit. Old files keep expiring after 30 days, which frees space again. python -m api.storage usage shows the current size.115459a -
Keep the default Modal deploy free of stored data
Chandra KiranUnverified signatureCosmos Reason (its 16 GB model Volume, which Modal bills even under a $0 spend limit) is now opt-in with ENABLE_COSMOS=1 at deploy, and AUTO_REVIEW defaults to off. The Hugging Face secret is only attached when MODAL_HF_SECRET is set; without it dataset exports come back as a zip in R2. The basic deploy needs only the R2 secret. New: python -m api.storage expire --days 30 deletes old run files so the bucket stays inside R2's free tier.916d469
27 days ago
-
Export runs as LeRobot datasets
Chandra KiranUnverified signaturePOST /datasets/export turns finished runs of one robot into a LeRobot dataset: observation.state and .velocity (the robot's joints), action (the commanded controls), observation.images.main (the video, 640x360) and the scenario text as the task. With HF_TOKEN in the Modal secret it is pushed to the Hub as a private dataset; otherwise the zip is stored with the job. Verified end to end with lerobot 0.4.4 (write, then load back); CI repeats that with a Go2. Trajectories now also carry every body's world pose, for replay renders.b357d7d -
Track every backend job with its cost and stop at a monthly budget
Chandra KiranUnverified signatureRuns become one kind of job (sim, sweep, ros_check, review, export, isaac) in the same table, with the hardware it ran on and an estimated cost. New jobs are refused with 402 once the month's estimate reaches MONTHLY_CREDIT_LIMIT_USD (default $28). Sandboxed workers can return files inline; the API stores them in R2. GET /jobs and /jobs/{id} show any job, /report/{id} renders it with its follow-up jobs.1a36c6b -
Use GLM-5.3 via OpenRouter and run simulations on Modal (RunPod optional)
Chandra KiranUnverified signature- LLM settings are provider-neutral (LLM_API_KEY, LLM_BASE_URL, LLM_MODEL), defaulting to z-ai/glm-5.3 on OpenRouter; OpenCode gets the same endpoint as its only provider. - SIM_BACKEND selects modal (default) or runpod. worker/modal_app.py deploys the worker on a T4 (or CPU with MODAL_GPU=none) with a container cap and time limit. - Runs record backend + job_id; GPU time falls back to the worker's own timing on Modal. Existing run tables are migrated.da839c2
28 days ago
-
Harden simulation runs: official Foxglove embed, WebM video, CI image build
Chandra KiranUnverified signature- Report page uses Foxglove's embedding library (@foxglove/embed, vendored) with the MCAP as a remote-file source; R2 CORS now allows embed.foxglove.dev; FOXGLOVE_ORG setting - Worker writes a VP9 WebM next to the H.264 MP4 so every browser plays the video; a rendering failure mid-run no longer loses the run - Pin onnxruntime below 1.29, whose Linux build sends Microsoft telemetry, and disable its telemetry events - CI: lint, tests, build the RunPod worker image and run a real job in it04ad412 -
Add GPU simulation runs: RunPod worker, R2 storage, report page
Chandra KiranUnverified signature- POST /simulate/run re-validates the scene, logs the call (tester, time) and submits a RunPod serverless job; GET /simulate/run/{id} for status; GET /simulate/report/{id} (signed link) shows the run summary, video and an embedded Foxglove replay of the MCAP - worker/: MuJoCo simulation with the robot holding its keyframe, Foxglove MCAP (/scene, /tf, /state), H.264 video via EGL with CPU fallback, upload to Cloudflare R2; Dockerfile for RunPod - Usage visibility without caps: runs table, burst warning in logs, review runs/usage commands - R2 setup CLI (CORS for Foxglove, credential check); README setup for R2, the RunPod endpoint and the spend alert5dbd0bf -
Add Stage 1 MuJoCo scene generation API
Chandra KiranUnverified signature- RAG index (Chroma) built from MuJoCo docs, the MJCF schema and the Menagerie Unitree G1 model - POST /simulate/generate: grounded prompt (robot facts read from the model, Menagerie example, schema rows, retrieved docs), GLM-4.6, sandboxed MuJoCo load + 2 s step test, repair loop on failure - Hashed API-key allowlist with add/list/revoke CLI - SQLite log of every generation, tester feedback endpoint, review CLI - Five MuJoCo test scenarios with structural checks and a runnerf850954