Spaces:
Sleeping
Sleeping
Download openenv.yaml from aakashdandekar2006/sql-debug-env: direct link, hf CLI and curl.
- Browser
- Download file 4.75 kB
-
https://huggingface.co/spaces/aakashdandekar2006/sql-debug-env/resolve/main/openenv.yaml
- Command line
-
hf download hf://spaces/aakashdandekar2006/sql-debug-env/openenv.yaml
-
curl -L -o openenv.yaml https://huggingface.co/spaces/aakashdandekar2006/sql-debug-env/resolve/main/openenv.yaml
4.75 kB
| name: sql-debug-env | |
| version: "1.0.0" | |
| description: > | |
| A real-world OpenEnv environment where AI agents learn to debug and fix | |
| broken SQL queries. The agent receives a database schema, sample data, | |
| a buggy SQL query, and an error message, then must produce a corrected | |
| query that runs without error and returns the expected result set. | |
| author: hackathon-submission | |
| tags: | |
| - openenv | |
| - sql | |
| - debugging | |
| - code-repair | |
| - real-world | |
| - database | |
| environment: | |
| type: http | |
| port: 8000 | |
| tasks: | |
| - id: easy_missing_from | |
| name: "Easy: Missing FROM clause" | |
| description: "List the first name and last name of all employees in department 10, ordered by last name ascending." | |
| difficulty: easy | |
| - id: easy_wrong_column | |
| name: "Easy: Wrong Column Name" | |
| description: "Find the total salary budget for each department. Return department_id and the total salary, ordered by department_id." | |
| difficulty: easy | |
| - id: easy_missing_groupby | |
| name: "Easy: Missing GROUP BY" | |
| description: "Count the number of orders placed by each customer. Return customer_id and order_count, only for customers with more than 1 order." | |
| difficulty: easy | |
| - id: medium_wrong_join | |
| name: "Medium: Wrong JOIN Condition" | |
| description: "List each employee's full name and their department name. Return first_name, last_name, department_name ordered by last_name." | |
| difficulty: medium | |
| - id: medium_wrong_aggregate | |
| name: "Medium: Wrong Aggregate Function" | |
| description: "Find the average order amount per customer. Return customer_id and avg_amount for customers whose average is above 100. Order by avg_amount descending." | |
| difficulty: medium | |
| - id: medium_inner_vs_left | |
| name: "Medium: INNER vs LEFT JOIN" | |
| description: "List ALL customers along with the total amount they've spent. Customers who haven't placed any orders should show 0.0 as total_spent. Return customer_id, customer_name, total_spent ordered by customer_id." | |
| difficulty: medium | |
| - id: hard_window_function | |
| name: "Hard: Window Function Lag" | |
| description: "For each employee, compute a running_avg_salary: the average of the current employee's salary and the employee immediately before them in the same department (ordered by id). For the first employee in each department, it equals their own salary. Return dept_id, first_name, id, salary, running_avg_salary ordered by dept_id, id." | |
| difficulty: hard | |
| - id: hard_correlated_subquery | |
| name: "Hard: Correlated Subquery" | |
| description: "Find all products that have never been ordered. Return product_id and product_name ordered by product_id." | |
| difficulty: hard | |
| - id: hard_multi_cte | |
| name: "Hard: Multi-CTE Logic" | |
| description: "Calculate month-over-month revenue change. For each month (in YYYY-MM format), return the month, total_revenue, and revenue_change (current month minus previous month). For the first month, revenue_change should be 0. Order by month ascending." | |
| difficulty: hard | |
| action_space: | |
| type: object | |
| description: "Agent submits a corrected SQL query string" | |
| properties: | |
| query: | |
| type: string | |
| description: "The corrected SQL query" | |
| explanation: | |
| type: string | |
| description: "Optional explanation of what was fixed" | |
| observation_space: | |
| type: object | |
| description: "Current debugging context" | |
| properties: | |
| schema: | |
| type: string | |
| description: "CREATE TABLE statements for all tables" | |
| sample_data: | |
| type: string | |
| description: "INSERT statements with sample rows" | |
| buggy_query: | |
| type: string | |
| description: "The SQL query that needs to be fixed" | |
| error_message: | |
| type: string | |
| description: "Error from running the buggy query, or empty if semantic bug" | |
| task_description: | |
| type: string | |
| description: "Natural language description of what the query should do" | |
| expected_columns: | |
| type: array | |
| description: "Column names expected in the result" | |
| attempts_remaining: | |
| type: integer | |
| description: "How many fix attempts remain" | |
| last_attempt_result: | |
| type: string | |
| description: "Result of last submitted query, if any" | |
| reward: | |
| type: number | |
| description: "Reward from last action" | |
| done: | |
| type: boolean | |
| description: "Whether the episode is complete" | |
| reward_function: | |
| description: > | |
| +1.0 for a fully correct query (runs without error AND returns expected rows). | |
| +0.5 for a query that runs without error but returns wrong results. | |
| +0.2 for a query that fixes the original error but introduces a new one. | |
| 0.0 for a query that still fails with the same error. | |
| -0.1 penalty per wasted attempt beyond the first. | |
| Episode ends when correct or max_steps (5) reached. | |