SupportOps / task.md
prathvi9607's picture
done phase 1
9c1645f
|
Raw History Blame Contribute Delete
5.64 kB

SupportOps Arena - Task Management

Project Overview

Building an OpenEnv-compliant RL environment for enterprise IT support simulation.


Phase 1: Project Foundation & Structure

Status: ✅ Complete

Tasks:

  • Create directory structure (env/, adversary/, graders/, baseline/, tests/, app/)
  • Setup requirements.txt with all dependencies
  • Create .env.example file
  • Setup basic init.py files

Phase 2: Core Pydantic Models

Status: ✅ Complete

Tasks:

  • Create env/state.py with all Pydantic v2 models
  • Define enums (NetworkStatus, VPNStatus, AuthStatus, etc.)
  • Define sub-models (UserContext, LogEntry, ActionRecord)
  • Define core models (EnvObservation, HiddenState, EnvState, StepResult)

Phase 3: Action System

Status: ⏳ Pending

Tasks:

  • Create env/actions.py with ActionType enum (all 15 actions)
  • Define ActionMetadata dataclass
  • Create ACTION_METADATA dictionary with all action specifications

Phase 4: Scenarios & Task Definitions

Status: ⏳ Pending

Tasks:

  • Create env/scenarios.py with TicketGenerator class
  • Define TASK_EASY_ROOT_CAUSES (6+ scenarios)
  • Define TASK_MEDIUM_ROOT_CAUSES (6+ scenarios)
  • Define TASK_HARD_ROOT_CAUSES (6+ scenarios)
  • Implement ticket generation logic with noise/misleading entries

Phase 5: Rewards System

Status: ⏳ Pending

Tasks:

  • Create env/rewards.py with REWARD_EVENTS dictionary
  • Implement RewardCalculator class
  • Implement reward calculation logic with breakdown
  • Add normalization logic for episode scores

Phase 6: State Machine & Transitions

Status: ⏳ Pending

Tasks:

  • Create env/transitions.py with StateMachine class
  • Implement transition() method with all precondition rules
  • Implement observation updates for each action type
  • Add noise model for inspect_logs
  • Add escalation unlock logic

Phase 7: Core Environment

Status: ⏳ Pending

Tasks:

  • Create env/environment.py with SupportOpsArena class
  • Implement async reset() method
  • Implement async step() method with full logic
  • Implement async state() method
  • Add episode termination logic
  • Integrate with all other modules

Phase 8: Adaptive Adversary

Status: ⏳ Pending

Tasks:

  • Create adversary/policy_tracker.py with PolicyTracker class
  • Create adversary/adversary.py with AdaptiveAdversary class
  • Implement policy weak-point detection
  • Implement sampling weight adjustment
  • Add cross-episode tracking

Phase 9: Grading System

Status: ⏳ Pending

Tasks:

  • Create graders/programmatic.py with ProgrammaticGrader
  • Create graders/llm_grader.py with LLMGrader (async)
  • Create graders/adversarial_grader.py with AdversarialGrader
  • Implement grading logic for all three types
  • Add LLM-based quality assessment

Phase 10: Baseline Agent

Status: ⏳ Pending

Tasks:

  • Create baseline/baseline_agent.py with BaselineAgent class
  • Implement rule-based heuristic logic
  • Add support for all action types
  • Implement diagnostic → remediation flow

Phase 11: FastAPI Server

Status: ⏳ Pending

Tasks:

  • Create app/server.py with FastAPI app
  • Implement /api/openenv/v1/env/reset endpoint
  • Implement /api/openenv/v1/env/step endpoint
  • Implement /api/openenv/v1/env/state endpoint (auth required)
  • Implement /api/openenv/v1/metrics endpoint
  • Add health check endpoint /health
  • Add static file serving for frontend

Phase 12: Frontend Dashboard

Status: ⏳ Pending

Tasks:

  • Create app/static/index.html
  • Implement episode controls UI
  • Implement live observation display
  • Implement action history table
  • Implement reward tracking chart
  • Add metrics visualization
  • Apply glassmorphism design system

Phase 13: Configuration Files

Status: ⏳ Pending

Tasks:

  • Create openenv.yaml with full metadata
  • Create Dockerfile (multi-stage if needed)
  • Verify Docker build and run commands

Phase 14: Inference Script

Status: ⏳ Pending

Tasks:

  • Create inference.py at root level
  • Implement episode runner logic
  • Add metric calculation and reporting
  • Support multiple episodes with different seeds

Phase 15: Testing Suite

Status: ⏳ Pending

Tasks:

  • Create tests/conftest.py with fixtures
  • Create tests/test_env.py with environment tests
  • Create tests/test_graders.py with grader tests
  • Create tests/test_transitions.py with state machine tests
  • Create tests/test_adversary.py with adversary tests
  • Ensure all tests pass with pytest

Phase 16: Documentation

Status: ⏳ Pending

Tasks:

  • Create comprehensive README.md
  • Add quickstart guide
  • Document API endpoints
  • Add task examples with difficulty levels
  • Include environment details and metrics
  • Add troubleshooting section

Phase 17: Final Validation

Status: ⏳ Pending

Tasks:

  • Run full test suite
  • Test Docker build and deployment
  • Verify all endpoints work
  • Test baseline agent performance
  • Validate OpenEnv compliance
  • Check Hugging Face Spaces compatibility
  • Complete pre-submission checklist

Notes

  • Follow PRD.md strictly for all specifications
  • Use Pydantic v2 syntax exclusively
  • All async code properly implemented
  • No hardcoded credentials
  • Proper error handling throughout