Aditya Guntur Claude Sonnet 4.6 commited on
Commit
410e78d
·
1 Parent(s): f9375ea

Fix imports and Dockerfile for HF deployment

Browse files

- Switch from uv sync to pip + PYTHONPATH=/app
- Replace pm_ops. prefix with direct server./models imports
- Dockerfile now uses python -m uvicorn

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Dockerfile CHANGED
@@ -3,7 +3,9 @@ FROM ghcr.io/meta-pytorch/openenv-base:latest
3
  WORKDIR /app
4
  COPY . .
5
 
6
- RUN pip install --no-cache-dir openenv-core fastapi "uvicorn[standard]" pydantic && pip install --no-cache-dir -e . --no-deps
 
 
7
 
8
  EXPOSE 8000
9
 
 
3
  WORKDIR /app
4
  COPY . .
5
 
6
+ RUN pip install --no-cache-dir openenv-core fastapi "uvicorn[standard]" pydantic
7
+
8
+ ENV PYTHONPATH=/app
9
 
10
  EXPOSE 8000
11
 
client.py CHANGED
@@ -1,7 +1,7 @@
1
  """OpenEnv client wrapper for PM-Ops environment."""
2
  import os
3
  from openenv.core.client import EnvClient
4
- from pm_ops.models import PMOpsAction, PMOpsObservation
5
 
6
 
7
  class PMOpsEnv(EnvClient):
 
1
  """OpenEnv client wrapper for PM-Ops environment."""
2
  import os
3
  from openenv.core.client import EnvClient
4
+ from models import PMOpsAction, PMOpsObservation
5
 
6
 
7
  class PMOpsEnv(EnvClient):
server/app.py CHANGED
@@ -1,6 +1,6 @@
1
  from openenv.core.env_server.http_server import create_app
2
- from pm_ops.models import PMOpsAction, PMOpsObservation
3
- from pm_ops.server.pm_ops_environment import PMOpsEnvironment
4
 
5
 
6
  def create_environment():
 
1
  from openenv.core.env_server.http_server import create_app
2
+ from models import PMOpsAction, PMOpsObservation
3
+ from server.pm_ops_environment import PMOpsEnvironment
4
 
5
 
6
  def create_environment():
server/pm_ops_environment.py CHANGED
@@ -3,16 +3,16 @@ import random
3
  import uuid
4
  from typing import Any, Dict, Optional
5
 
6
- from pm_ops.models import PMOpsAction, PMOpsObservation
7
- from pm_ops.server.apps.ticketing import TicketingApp
8
- from pm_ops.server.apps.codebase import CodebaseApp
9
- from pm_ops.server.apps.chat import ChatApp
10
- from pm_ops.server.world.org_generator import generate_org_config
11
- from pm_ops.server.world.scenario_gen import generate_scenario
12
- from pm_ops.server.tasks.triage_task import TriageTask
13
- from pm_ops.server.tasks.incident_routing_task import IncidentRoutingTask
14
- from pm_ops.server.tasks.release_notes_task import ReleaseNotesTask
15
- from pm_ops.server.tasks.dep_update_task import DepUpdateTask
16
 
17
  MAX_STEPS = 40
18
  _TASK_TYPES = ["triage", "incident_routing", "release_notes", "dep_update"]
 
3
  import uuid
4
  from typing import Any, Dict, Optional
5
 
6
+ from models import PMOpsAction, PMOpsObservation
7
+ from server.apps.ticketing import TicketingApp
8
+ from server.apps.codebase import CodebaseApp
9
+ from server.apps.chat import ChatApp
10
+ from server.world.org_generator import generate_org_config
11
+ from server.world.scenario_gen import generate_scenario
12
+ from server.tasks.triage_task import TriageTask
13
+ from server.tasks.incident_routing_task import IncidentRoutingTask
14
+ from server.tasks.release_notes_task import ReleaseNotesTask
15
+ from server.tasks.dep_update_task import DepUpdateTask
16
 
17
  MAX_STEPS = 40
18
  _TASK_TYPES = ["triage", "incident_routing", "release_notes", "dep_update"]
server/tasks/dep_update_task.py CHANGED
@@ -1,5 +1,5 @@
1
  from typing import Any, Dict
2
- from pm_ops.server.tasks.base_task import BaseTask
3
 
4
 
5
  class DepUpdateTask(BaseTask):
 
1
  from typing import Any, Dict
2
+ from server.tasks.base_task import BaseTask
3
 
4
 
5
  class DepUpdateTask(BaseTask):
server/tasks/incident_routing_task.py CHANGED
@@ -1,5 +1,5 @@
1
  from typing import Any, Dict
2
- from pm_ops.server.tasks.base_task import BaseTask
3
 
4
 
5
  class IncidentRoutingTask(BaseTask):
 
1
  from typing import Any, Dict
2
+ from server.tasks.base_task import BaseTask
3
 
4
 
5
  class IncidentRoutingTask(BaseTask):
server/tasks/release_notes_task.py CHANGED
@@ -1,5 +1,5 @@
1
  from typing import Any, Dict
2
- from pm_ops.server.tasks.base_task import BaseTask
3
 
4
 
5
  class ReleaseNotesTask(BaseTask):
 
1
  from typing import Any, Dict
2
+ from server.tasks.base_task import BaseTask
3
 
4
 
5
  class ReleaseNotesTask(BaseTask):
server/tasks/triage_task.py CHANGED
@@ -1,5 +1,5 @@
1
  from typing import Any, Dict
2
- from pm_ops.server.tasks.base_task import BaseTask
3
 
4
 
5
  class TriageTask(BaseTask):
 
1
  from typing import Any, Dict
2
+ from server.tasks.base_task import BaseTask
3
 
4
 
5
  class TriageTask(BaseTask):
server/verifiers/state_verifier.py CHANGED
@@ -1,10 +1,10 @@
1
  """Deterministic state verifier — no LLM-as-judge."""
2
  from typing import Any, Dict
3
 
4
- from pm_ops.server.tasks.triage_task import TriageTask
5
- from pm_ops.server.tasks.incident_routing_task import IncidentRoutingTask
6
- from pm_ops.server.tasks.release_notes_task import ReleaseNotesTask
7
- from pm_ops.server.tasks.dep_update_task import DepUpdateTask
8
 
9
  _GRADERS = {
10
  "triage": TriageTask(),
 
1
  """Deterministic state verifier — no LLM-as-judge."""
2
  from typing import Any, Dict
3
 
4
+ from server.tasks.triage_task import TriageTask
5
+ from server.tasks.incident_routing_task import IncidentRoutingTask
6
+ from server.tasks.release_notes_task import ReleaseNotesTask
7
+ from server.tasks.dep_update_task import DepUpdateTask
8
 
9
  _GRADERS = {
10
  "triage": TriageTask(),