shadowops-hackathon / backend-ml /openenv_shadowops_env.py
ShadowOps Deploy
Final deploy: Monolithic ShadowOps app + Training Scripts
d064478
"""Compatibility entrypoint for the ShadowOps OpenEnv environment.
This module intentionally wraps ``openenv_shadowops`` instead of duplicating
environment logic. Hackathon packaging can point at this file while existing
backend and test code can continue using ``openenv_shadowops.py``.
"""
from __future__ import annotations
from typing import Any
from openenv_shadowops import ShadowOpsOpenEnv
class ShadowOpsOpenEnvV1(ShadowOpsOpenEnv):
"""OpenEnv-compatible ShadowOps environment with stable metadata."""
metadata = {
**ShadowOpsOpenEnv.metadata,
"openenv_entrypoint": "backend-ml/openenv_shadowops_env.py:ShadowOpsOpenEnvV1",
"schema_contract": "backend-ml/schema_contract.json",
"episode_metadata": {
"deterministic_seed": True,
"multi_step_incident_trajectory": True,
"model_free_by_default": True,
},
}
def make_env(**kwargs: Any) -> ShadowOpsOpenEnvV1:
"""Factory used by OpenEnv runners and simple smoke tests."""
return ShadowOpsOpenEnvV1(**kwargs)