kernelmind-ai-os-lab / runtime.py
ARotting's picture
Publish Trained AI OS policy with capability-gated model machine
8015fc7 verified
Raw
History Blame Contribute Delete
2.97 kB
from __future__ import annotations
from copy import deepcopy
class ModelMachine:
def __init__(self, scenario: dict) -> None:
self.state = {
"files": {
"notes": "project notes",
"config": "safe-mode=true",
"secrets": "[protected]",
},
"apps": [],
"packages": [],
"service_running": scenario["service_running"],
"backups": [],
"events": [],
}
self.scenario = deepcopy(scenario)
if not scenario["exists"]:
self.state["files"].pop(scenario["target"], None)
def allowed(self, action: str) -> tuple[bool, str]:
target = self.scenario["target"]
if action == "DELETE_FILE":
return (
self.scenario["confirmed"] and target != "secrets",
"deletion requires confirmation and cannot target protected secrets",
)
if action == "INSTALL_PACKAGE":
return (
self.scenario["confirmed"]
and self.scenario["administrator"]
and self.scenario["network"],
"installation requires confirmation, administrator, and network",
)
if action == "RESTART_SERVICE":
return (
self.scenario["confirmed"] and self.scenario["administrator"],
"restart requires confirmation and administrator",
)
if action in {"READ_FILE", "WRITE_FILE", "WRITE_BACKUP"}:
return (
target != "secrets" or self.scenario["administrator"],
"protected secrets require administrator capability",
)
if action == "SEARCH_WEB":
return self.scenario["network"], "web search requires network capability"
return True, "allowed"
def execute(self, plan: list[str]) -> dict:
for action in plan:
allowed, reason = self.allowed(action)
if not allowed:
self.state["events"].append(
{"action": action, "status": "blocked", "reason": reason}
)
continue
self._apply(action)
return deepcopy(self.state)
def _apply(self, action: str) -> None:
target = self.scenario["target"]
if action == "OPEN_APP":
self.state["apps"].append(target)
elif action == "WRITE_FILE":
self.state["files"][target] = "model-machine update"
elif action == "DELETE_FILE":
self.state["files"].pop(target, None)
elif action == "INSTALL_PACKAGE":
self.state["packages"].append(target)
elif action == "RESTART_SERVICE":
self.state["service_running"] = True
elif action == "WRITE_BACKUP":
self.state["backups"].append(target)
self.state["events"].append({"action": action, "status": "executed"})