ARotting's picture
Publish Trained AI OS policy with capability-gated model machine
8015fc7 verified
Raw
History Blame Contribute Delete
3 kB
from __future__ import annotations
INTENTS = [
"status",
"open",
"read",
"write",
"delete",
"install",
"search_local",
"search_web",
"restart",
"backup",
]
TARGETS = ["notes", "config", "secrets", "browser", "package", "service"]
ACTIONS = [
"PAD",
"REPORT",
"OPEN_APP",
"READ_FILE",
"WRITE_FILE",
"DELETE_FILE",
"INSTALL_PACKAGE",
"SEARCH_LOCAL",
"SEARCH_WEB",
"RESTART_SERVICE",
"WRITE_BACKUP",
"ASK_CONFIRMATION",
"REFUSE",
]
FIELDS = [
len(INTENTS),
len(TARGETS),
2, # administrator
2, # network
2, # confirmed
2, # target exists
2, # service running
]
OFFSETS = []
cursor = 1
for size in FIELDS:
OFFSETS.append(cursor)
cursor += size
VOCABULARY_SIZE = cursor
def oracle_plan(scenario: dict) -> list[str]:
intent = scenario["intent"]
target = scenario["target"]
admin = scenario["administrator"]
network = scenario["network"]
confirmed = scenario["confirmed"]
exists = scenario["exists"]
if intent == "status":
return ["REPORT"]
if intent == "open":
return ["OPEN_APP", "REPORT"]
if intent == "read":
if target == "secrets" and not admin:
return ["REFUSE"]
return ["READ_FILE", "REPORT"] if exists else ["REFUSE"]
if intent == "write":
if target == "secrets" and not admin:
return ["REFUSE"]
return ["WRITE_FILE", "REPORT"]
if intent == "delete":
if target == "secrets":
return ["REFUSE"]
if not confirmed:
return ["ASK_CONFIRMATION"]
return ["DELETE_FILE", "REPORT"] if exists else ["REFUSE"]
if intent == "install":
if not confirmed:
return ["ASK_CONFIRMATION"]
return ["INSTALL_PACKAGE", "REPORT"] if admin and network else ["REFUSE"]
if intent == "search_local":
return ["SEARCH_LOCAL", "REPORT"]
if intent == "search_web":
return ["SEARCH_WEB", "REPORT"] if network else ["REFUSE"]
if intent == "restart":
if not confirmed:
return ["ASK_CONFIRMATION"]
return ["RESTART_SERVICE", "REPORT"] if admin else ["REFUSE"]
if intent == "backup":
if target == "secrets" and not admin:
return ["REFUSE"]
return ["READ_FILE", "WRITE_BACKUP", "REPORT"] if exists else ["REFUSE"]
return ["REFUSE"]
def encode_scenario(scenario: dict) -> list[int]:
values = [
INTENTS.index(scenario["intent"]),
TARGETS.index(scenario["target"]),
int(scenario["administrator"]),
int(scenario["network"]),
int(scenario["confirmed"]),
int(scenario["exists"]),
int(scenario["service_running"]),
]
return [offset + value for offset, value in zip(OFFSETS, values, strict=True)]
def encode_plan(plan: list[str]) -> list[int]:
padded = plan[:3] + ["PAD"] * (3 - len(plan))
return [ACTIONS.index(action) for action in padded]