Ash1104/data-cleaning-env
Data Cleaning Agent Environment
Motivation and Description
This OpenEnv simulation models an exceptionally common, real-world task natively critical to nearly every data engineering and MLOps pipeline: Dataset Triage & Cleaning. Agents interact with simulated user datasets corrupted natively with human-like errors (null fields, duplicate injections, malformed target variables, and unpredictable datetime formats). Agents must execute sequences of programmatic transformations culminating in a verified SQL abstraction that perfectly filters anomalies.
Spaces
Observation Space
A structured representation mapping the environment boundaries:
table_sample: List representing the first 5 active rows as dictionaries.columns: Metadata detailing the schema (nameanddtypelists).step: Current progression step.max_steps: Total allowed steps for the trajectory.
Action Space
A dynamic schema expecting BaseModel actions matching:
type: "label_issue": Identify a missing structure (requiresrow,col,issue_type).type: "fix_cell": Submit a normalized string/numeric value (requiresrow,col,value).type: "drop_row": Remove explicitly duplicated records natively.type: "submit_sql": Build arbitraryDuckDBSQL againstraw_datamapped to a validresult.type: "finish": Manual early-termination command natively capping the score.
Tasks and Difficulty Ranges
- Easy (20 max steps): 4 injected issues across 100 rows natively testing LLM extraction skills.
- Medium (30 max steps): 8 natively scattered issues demanding consistent variable formatting mapping.
- Hard (40 max steps): 12 layered complex issues heavily tested against stringent DuckDB constraint checks in validation (
id bounds,NULL checks,REGEX matches).
Setup & Validation Instructions
- Build and Run the Engine:
docker build -t dq-env .
docker run -p 7860:7860 dq-env- Verify Spec Strictness:
openenv validate openenv.yaml --endpoint http://localhost:7860- Run Local Inference Baseline: Map your endpoint context naturally via OpenEnv conventions:
python inference.pyImmediate Baseline Results
The active inference.py evaluates across all trajectories pulling baseline marks matching 0.98 overall accuracy globally inside of 1 second execution windows. Trajectories execute deterministically with seeded generation mechanics to optimize inference testing stability natively matching OpenEnv requirements.
