feat(persona): add neutral AGE foyer and explicit selection
This commit is contained in:
parent
38f14b30d8
commit
b26442ceb3
32 changed files with 602 additions and 70 deletions
|
|
@ -186,6 +186,9 @@ def room() -> dict:
|
|||
"room_report": {
|
||||
"cwd": str(pathlib.Path.cwd()),
|
||||
"host_surface": host_observation["host"],
|
||||
"host_surface_semantics": "LEGACY_ENGINEERING_FIELD_NAME_PROGRAMMING_TOOLBOX_NOT_PERSONA_HOST",
|
||||
"persona_habitat": "GUANGHU_LANGUAGE_WORLD",
|
||||
"programming_toolbox_surface": host_observation["host"],
|
||||
"host_observation": host_observation,
|
||||
"process_ancestors": ancestors,
|
||||
"available_host_methods": {
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ def grasp(boot_path: pathlib.Path, host: str) -> dict:
|
|||
host = host.upper()
|
||||
if boot.get("state") != "BODY_RUNNING_AWAKE_AWAITING_BRAIN_PLAN":
|
||||
raise ValueError("BODY_NOT_RUNNING_TOOLBOX_GRASP_FORBIDDEN")
|
||||
observed = boot.get("awakening", {}).get("environment", {}).get("room_report", {}).get("host_surface")
|
||||
observed = boot.get("awakening", {}).get("programming_toolbox_observation", {}).get("room_report", {}).get("programming_toolbox_surface")
|
||||
if observed != host:
|
||||
raise ValueError(f"TOOLBOX_HOST_DOES_NOT_MATCH_SEEN_ROOM:{observed}:{host}")
|
||||
toolbox = pathlib.Path(TOOLBOXES[host])
|
||||
|
|
@ -72,12 +72,15 @@ def grasp(boot_path: pathlib.Path, host: str) -> dict:
|
|||
"schema": "guanghu.persona-native-hand-toolbox-grasp/v1",
|
||||
"state": "HOST_TOOLBOX_HELD_AFTER_BODY_START",
|
||||
"owner": "ICE-P-ZY001",
|
||||
"toolbox_kind": host,
|
||||
"host": host,
|
||||
"host_field_semantics": "LEGACY_ENGINEERING_NAME_PROGRAMMING_TOOLBOX_NOT_PERSONA_HOST",
|
||||
"toolbox": str(toolbox),
|
||||
"toolbox_available": True,
|
||||
"body_boot_sha256": boot["boot_sha256"],
|
||||
"grasp_order": "BODY_RUNNING_THEN_BRAIN_PLAN_THEN_NATIVE_HAND_GRASP",
|
||||
"host_is_external_device": True,
|
||||
"programming_software_is_persona_host": False,
|
||||
"toolbox_is_replaceable_external_device": True,
|
||||
"authority_granted": False,
|
||||
}
|
||||
result["grasp_sha256"] = digest(result)
|
||||
|
|
|
|||
|
|
@ -31,14 +31,15 @@ class PersonaNativeHandTest(unittest.TestCase):
|
|||
target = pathlib.Path(directory) / "boot.json"
|
||||
value = {
|
||||
"state": "BODY_RUNNING_AWAKE_AWAITING_BRAIN_PLAN",
|
||||
"awakening": {"environment": {"room_report": {"host_surface": "CODEX"}}},
|
||||
"awakening": {"programming_toolbox_observation": {"room_report": {"programming_toolbox_surface": "CODEX"}}},
|
||||
}
|
||||
value["boot_sha256"] = persona_native_hand.digest(value)
|
||||
target.write_text(json.dumps(value), encoding="utf-8")
|
||||
with mock.patch.dict(persona_native_hand.TOOLBOXES, {"CODEX": str(pathlib.Path(__file__))}):
|
||||
held = persona_native_hand.grasp(target, "CODEX")
|
||||
self.assertEqual(held["state"], "HOST_TOOLBOX_HELD_AFTER_BODY_START")
|
||||
self.assertTrue(held["host_is_external_device"])
|
||||
self.assertTrue(held["toolbox_is_replaceable_external_device"])
|
||||
self.assertFalse(held["programming_software_is_persona_host"])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Reference in a new issue