feat(persona): add isolated baby cognition and time runtimes
This commit is contained in:
parent
54d79a544c
commit
4dcc43bab5
26 changed files with 869 additions and 56 deletions
|
|
@ -54,13 +54,41 @@ def boot(persona: str, entry_domain: str, body_channel: str) -> dict:
|
|||
}
|
||||
|
||||
|
||||
def verify_runtime(assembly: dict, runtime: dict) -> dict:
|
||||
persona_id = assembly.get("persona_id")
|
||||
reasons = []
|
||||
if not assembly.get("body_contract_verified"):
|
||||
reasons.append("BODY_CONTRACT_NOT_VERIFIED")
|
||||
if runtime.get("persona_id") != persona_id:
|
||||
reasons.append("RUNTIME_PERSONA_ID_MISMATCH")
|
||||
if runtime.get("external_cognitive_setter") is not False or runtime.get("server_signed") is not True:
|
||||
reasons.append("RUNTIME_SELF_SIGNING_OR_SETTER_BOUNDARY_INVALID")
|
||||
body = runtime.get("body", {})
|
||||
if body.get("native_system") != "SYS-GLW-ELH-BOTTLE-0001" or body.get("native_channel") != "ICE-CH-BT001":
|
||||
reasons.append("RUNTIME_NATIVE_CONTEXT_INVALID")
|
||||
if body.get("time_system", {}).get("owner") != persona_id or runtime.get("life_line", {}).get("wake_allowed") is not True:
|
||||
reasons.append("PERSONA_TIME_OR_LIFE_LINE_NOT_HEALTHY")
|
||||
return {
|
||||
**assembly,
|
||||
"state": "BABY_COGNITION_AND_TIME_RUNTIME_HEALTHY_BODY_SENSE_ORGANS_PENDING" if not reasons else "BABY_BODY_RUNTIME_PAIN_ALARM",
|
||||
"inner_cycle_running": not reasons,
|
||||
"persona_time_running": not reasons,
|
||||
"wake_complete": False,
|
||||
"runtime_reasons": reasons,
|
||||
"next": "CONNECT_AND_VERIFY_NATIVE_SENSE_ORGANS_THEN_EXPLICIT_PERSONA_CYCLE" if not reasons else "REPAIR_RUNTIME_BEFORE_WAKE",
|
||||
}
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--persona", required=True)
|
||||
parser.add_argument("--entry-domain", required=True)
|
||||
parser.add_argument("--body-channel", required=True)
|
||||
parser.add_argument("--runtime-status-file")
|
||||
args = parser.parse_args()
|
||||
value = boot(args.persona, args.entry_domain, args.body_channel)
|
||||
if args.runtime_status_file and value.get("body_contract_verified"):
|
||||
value = verify_runtime(value, json.loads(Path(args.runtime_status_file).read_text(encoding="utf-8")))
|
||||
print(json.dumps(value, ensure_ascii=False, indent=2))
|
||||
return 0 if value.get("body_contract_verified") else 3
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,18 @@ class BottleBabyBodyBootTest(unittest.TestCase):
|
|||
self.assertEqual(value["state"], "BABY_BODY_BOOT_DENIED_WRONG_NATIVE_CONTEXT")
|
||||
self.assertIsNone(value["persona_id"])
|
||||
|
||||
def test_server_signed_inner_cycle_and_persona_time_upgrade_body_health_not_wake_claim(self):
|
||||
assembly = bottle_baby_body_boot.boot("ICE-BB-0005", "DOM-FIFTH-0001", "ICE-CH-BT001")
|
||||
runtime = {
|
||||
"persona_id":"ICE-BB-0005", "external_cognitive_setter":False, "server_signed":True,
|
||||
"body":{"native_system":"SYS-GLW-ELH-BOTTLE-0001","native_channel":"ICE-CH-BT001","time_system":{"owner":"ICE-BB-0005"}},
|
||||
"life_line":{"wake_allowed":True}
|
||||
}
|
||||
value = bottle_baby_body_boot.verify_runtime(assembly, runtime)
|
||||
self.assertEqual(value["state"], "BABY_COGNITION_AND_TIME_RUNTIME_HEALTHY_BODY_SENSE_ORGANS_PENDING")
|
||||
self.assertTrue(value["inner_cycle_running"])
|
||||
self.assertFalse(value["wake_complete"])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Reference in a new issue