openenv_jayesh / README.md
jayesh20's picture
Upload folder using huggingface_hub
f3655e3 verified
|
Raw
History Blame Contribute Delete
6.52 kB
metadata
title: OpenEnv Jayesh - Task Manager
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
app_port: 8000
tags:
  - openenv
  - task-manager
base_path: /web

OpenEnv Jayesh - Task Manager Environment

An AI agent environment for managing tasks across three difficulty levels.

HF Space: https://huggingface.co/spaces/jayesh20/openenv_jayesh


Difficulty levels

Level Goal Scoring (summary)
Easy Add 3 tasks with at least two different priority levels among them, then call list so all current tasks are shown. Partial credit builds with ~+0.11 per add and ~+0.12 for list. Full reward (1.0) and done=True only when there are 3 tasks, list was called, and at least two distinct priorities appear. If you list with three tasks but only one priority level, you get a lower goal bonus (no full 1.0 / no episode success).
Medium Add 4 tasks, each with a priority and deadline. Complete every High-priority task on time (on or before its deadline). At least one High task must exist. Gradual partial credit: small ~+0.07 steps for add / non-Normal / deadline (capped buckets), plus credit for High completions on time. βˆ’0.15 per deadline miss. done=True and 1.0 when four tasks are in place, all Highs are done without being late, and there are no deadline misses.
Hard Add 5 tasks with priorities, deadlines, and dependencies. Complete all tasks in valid topological order and respect every deadline (no dependency violations, no missed deadlines). Adds use slightly smaller per-field steps than Medium (for smoother score), plus ~+0.012 per dependency edge when you set depends_on. Clean completes rise in steps, with a small extra when dependencies were satisfied; topological bonus when all five finish cleanly. βˆ’0.15 per deadline miss, βˆ’0.18 per dependency violation. done=True and 1.0 on a perfect run.

Penalties are constants in server/openenv_jayesh_environment.py. Reward stays in [0.0, 1.0].


Action space

TaskManagerAction(
    command="add",              # "add" | "complete" | "list"
    title="Fix bug",
    priority="High",
    deadline="2026-04-01",
    depends_on=["Other task"],
)

Observation space

TaskManagerObservation(
    success=True,
    message="...",
    tasks=[...],
    violations=[...],
    reward=0.0,
    done=False,
)

Sample inference output

======================================================================
  Task Manager OpenEnv - Inference Runner
======================================================================

======================================================================
EASY MODE  (perfect: 3 tasks + list)
======================================================================
Goal: EASY MODE

  add 'Buy groceries' Low                            | score=0.110
  add 'Call dentist' Normal                          | score=0.220
  add 'Review PR' High                               | score=0.330
  list (shows all tasks)                             | score=1.000 [DONE]

======================================================================
MEDIUM MODE  (one deadline miss on a High task)
======================================================================
Goal: MEDIUM MODE

  add 'Fix critical bug' High  deadline=future       | score=0.210
  add 'Deploy hotfix' High  deadline=PAST            | score=0.420
  add 'Write release notes' Normal                   | score=0.560
  add 'Standup prep' Low                             | score=0.770
  complete 'Fix critical bug' [on-time]              | score=0.860
  complete 'Deploy hotfix' [DEADLINE MISSED]         | score=0.710
    (!) DEADLINE MISSED: 'Deploy hotfix' was due 2020-01-01 (completed after deadline).
    >> Score impact (Medium): -0.15 for this miss (total deadline-miss penalty: 0.15).

======================================================================
HARD MODE  (perfect topological order, all deadlines met)
======================================================================
Goal: HARD MODE

  add 'Reproduce bug' High                           | score=0.186
  add 'Write tests' Normal                           | score=0.310
  add 'Write fix' High  (dep: Reproduce bug)         | score=0.508
  add 'Code review'  (dep: Write fix, Write tests)   | score=0.656
  add 'Deploy'  (dep: Code review)                   | score=0.804

  complete 'Reproduce bug'                           | score=0.869
  complete 'Write tests'                             | score=0.946
  complete 'Write fix'                               | score=0.990
  complete 'Code review'                             | score=0.990
  complete 'Deploy'  [goal]                          | score=1.000 [DONE]

  -- Violation demo (fresh Hard episode) --
  add 'Task A' High                                  | score=0.186
  add 'Task B'  (dep: Task A)                        | score=0.322
  WRONG: complete 'Task B' before 'Task A'           | score=0.142
    (!) DEP VIOLATION: 'Task B' completed before ['Task A'].
  Score after dep violation: 0.188  (penalty applied)

======================================================================
  EASY   final score : 1.000
  MEDIUM final score : 0.710  (deadline miss penalty)
  HARD   final score : 1.000
  AVERAGE            : 0.903
======================================================================

Quick start

uv sync
uvicorn server.app:app --host 127.0.0.1 --port 8000
python inference.py

API endpoints

URL Description
http://127.0.0.1:8000/docs Swagger UI
http://127.0.0.1:8000/health Health check
POST /reset Start new episode
POST /step Execute action
GET /state Current episode state

Project structure

openenv_jayesh/
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ openenv.yaml
β”œβ”€β”€ pyproject.toml
β”œβ”€β”€ models.py
β”œβ”€β”€ client.py
β”œβ”€β”€ inference.py
└── server/
    β”œβ”€β”€ app.py
    β”œβ”€β”€ openenv_jayesh_environment.py
    └── requirements.txt

Deploy

openenv push --repo-id jayesh20/openenv_jayesh