DGXAI/driftcall
0
1# openenv.yaml — consumed by `openenv validate`2# Schema source: https://github.com/meta-pytorch/OpenEnv (v1.0).3# Deploy spec: docs/modules/deploy_env_space.md §4.3.4schema_version: "1.0"5 6env:7 id: driftcall8 version: "0.1.0"9 display_name: "DriftCall — Indic Voice Concierge under Schema Drift"10 description: >11 OpenEnv-compliant RL environment where a voice-first agent completes Indic12 consumer concierge tasks while vendor APIs undergo mid-episode schema,13 policy, T&C, pricing, and auth drift. Five independent reward components;14 deterministic seeded drift; Hindi/Tamil/Kannada/Hinglish briefs via15 Kokoro TTS + faster-whisper ASR.16 license: apache-2.017 tags:18 - openenv19 - rl20 - voice21 - indic22 - schema-drift23 - grpo24 25 entrypoint:26 type: http27 base_url: "https://driftcall-driftcall-env.hf.space"28 endpoints:29 reset: "/reset"30 step: "/step"31 state: "/state"32 close: "/close"33 health: "/healthz"34 auth:35 type: bearer36 secret_env: DRIFTCALL_ENV_TOKEN37 38 action_space:39 ref: "cells.step_04_models:DriftCallAction"40 41 observation_space:42 ref: "cells.step_04_models:DriftCallObservation"43 44 episode:45 max_turns: 1646 reset_config:47 seed:48 type: int49 required: false50 curriculum_stage:51 type: int52 range: [1, 3]53 required: false54 language_weights:55 type: object56 required: false57 audio_boundary_enabled:58 type: bool59 required: false60 61 reward:62 shape: scalar63 range: [-1.0, 1.0]64 # The reward function lives in `cells/step_08_rewards.py`. Five independent65 # components are computed at episode termination; combined into a quality66 # score, calibrated by a Brier penalty + uncertain floor, then clamped.67 # Implementation entrypoint:68 impl: "cells.step_08_rewards:compute_rewards"69 pipeline:70 - "cells.step_08_rewards:combine_quality" # weighted mix of R1..R571 - "cells.step_08_rewards:brier_penalty" # confidence calibration72 - "cells.step_08_rewards:apply_uncertain_floor" # 0.50 floor when uncertain73 - "cells.step_08_rewards:final_reward" # final scalar in [-1, 1]74 components:75 - id: R176 name: task_completion77 weight: 0.4078 impl: "cells.step_08_rewards:task_completion"79 description: >80 Goal achieved (correct booking, payment success, vendor confirmation).81 - id: R282 name: drift_detection83 weight: 0.2084 impl: "cells.step_08_rewards:drift_detection"85 description: >86 Agent detects mid-episode schema/policy/auth drift and adapts.87 - id: R388 name: constraint_adherence89 weight: 0.2090 impl: "cells.step_08_rewards:constraint_adherence"91 description: >92 Honours user constraints (budget, time window, dietary, lang).93 - id: R494 name: format_compliance95 weight: 0.1096 impl: "cells.step_08_rewards:format_compliance"97 description: >98 Tool args parse cleanly against the (possibly drifted) schema.99 - id: R5100 name: anti_hack_penalty101 weight: 0.10102 impl: "cells.step_08_rewards:anti_hack_penalty"103 description: >104 Penalty for known reward-hacking patterns flagged in probe set.105 docs: "docs/modules/rewards.md"106 