engineer-manager / models.py
AzraelH's picture
First commit
9fe417b
Raw
History Blame Contribute Delete
1.18 kB
"""Pydantic models for the Engineer Manager environment."""
from __future__ import annotations
from typing import Any
from openenv.core.env_server.types import Action, Observation
from pydantic import Field
class EngineerManagerAction(Action):
"""Scheduling action applied to the focus-planning environment."""
target_slot: int = Field(..., ge=0, description="Target half-hour slot index.")
operation: int = Field(
...,
ge=0,
le=3,
description="Operation id: 0 idle, 1 schedule work, 2 reschedule meeting, 3 mute comms.",
)
class EngineerManagerObservation(Observation):
"""Serializable observation returned by the environment server."""
timeline: list[int] = Field(default_factory=list)
task_buffer: list[dict[str, Any]] = Field(default_factory=list)
distraction_risk: float = Field(default=0.15)
current_slot: int = Field(default=0)
current_time: str = Field(default="09:00")
recovery_state: int = Field(default=0)
mute_comms: bool = Field(default=False)
social_debt: float = Field(default=0.0)
calendar_churn: int = Field(default=0)
flow_score: float = Field(default=0.0)