236 lines
6.2 KiB
JSON
236 lines
6.2 KiB
JSON
{
|
|
"authority_proof": {
|
|
"issuer": "ICE-GL∞_DIRECT_ENGINEERING_INSTRUCTION",
|
|
"lease_required": false,
|
|
"proof_ref": "TCS-DESKTOP-TEST-TICKET-0001",
|
|
"scope": "ONE_TCS_VIRTUAL_DEDICATED_TEST_OBJECT_OPEN_ACTION",
|
|
"single_use": true,
|
|
"valid_from": "2026-08-23",
|
|
"valid_until": "CURRENT_DEVELOPMENT_TASK_END"
|
|
},
|
|
"cleanup_plan": {
|
|
"exact_boundary": "DEDICATED_TCS_TEST_DESKTOP_ONLY",
|
|
"targets": [
|
|
"./state/shared-desktop/HLP-TEST-DESKTOP-OBJECT-0001.hldp"
|
|
]
|
|
},
|
|
"compiled_from": {
|
|
"compiler_id": "TCS-COMPILER-STAGE2-LPM-DESKTOP-0001",
|
|
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
|
"source_sha256": "01f5a1940ef8af20afb862f9c9eda0a62ebf67861886932cd4e02b2ee0d498bb"
|
|
},
|
|
"conditions": {
|
|
"C1": {
|
|
"on_false": "FAIL_CLOSED",
|
|
"predicate": "TEST_OBJECT_EVENT_SOURCE_HASH_MATCHES"
|
|
},
|
|
"C2": {
|
|
"on_false": "FAIL_CLOSED",
|
|
"predicate": "PERMISSION_TICKET_MATCHES_OBJECT_ACTION_AND_TARGET"
|
|
},
|
|
"C3": {
|
|
"on_false": "FAIL_CLOSED",
|
|
"predicate": "TARGET_INSIDE_DEDICATED_TEST_DESKTOP_ROOT"
|
|
},
|
|
"C4": {
|
|
"on_false": "FAIL_CLOSED",
|
|
"predicate": "REAL_MACOS_ACTION_IS_FALSE"
|
|
}
|
|
},
|
|
"deterministic_action_graph": {
|
|
"A1": {
|
|
"input_refs": [
|
|
"DESKTOP_SCOPE"
|
|
],
|
|
"on_failure": "FAIL_CLOSED",
|
|
"on_success": "A2",
|
|
"operation": "DESKTOP.OBSERVE_OBJECT_TREE",
|
|
"output_refs": [
|
|
"OBJECT_TREE_BEFORE"
|
|
]
|
|
},
|
|
"A2": {
|
|
"input_refs": [
|
|
"OBJECT_SELECTOR",
|
|
"OBJECT_TREE_BEFORE"
|
|
],
|
|
"on_failure": "FAIL_CLOSED",
|
|
"on_success": "A3",
|
|
"operation": "DESKTOP.RESOLVE_STABLE_OBJECT",
|
|
"output_refs": [
|
|
"RESOLVED_OBJECT"
|
|
]
|
|
},
|
|
"A3": {
|
|
"input_refs": [
|
|
"RESOLVED_OBJECT",
|
|
"SEMANTIC_ACTION",
|
|
"PERMISSION_TICKET"
|
|
],
|
|
"on_failure": "ROLLBACK",
|
|
"on_success": "A4",
|
|
"operation": "DESKTOP.EXECUTE_SEMANTIC_ACTION",
|
|
"output_refs": [
|
|
"ACTION_EVIDENCE"
|
|
]
|
|
},
|
|
"A4": {
|
|
"input_refs": [
|
|
"OBJECT_TREE_BEFORE",
|
|
"ACTION_EVIDENCE"
|
|
],
|
|
"on_failure": "ROLLBACK",
|
|
"on_success": "A5",
|
|
"operation": "DESKTOP.READ_STATE_DIFF",
|
|
"output_refs": [
|
|
"STATE_DIFF"
|
|
]
|
|
},
|
|
"A5": {
|
|
"input_refs": [
|
|
"OBJECT_SELECTOR",
|
|
"SEMANTIC_ACTION",
|
|
"STATE_DIFF"
|
|
],
|
|
"on_failure": "ROLLBACK",
|
|
"on_success": "COMPLETE",
|
|
"operation": "DESKTOP.VERIFY_TARGET_AND_RECEIPT",
|
|
"output_refs": [
|
|
"VERIFIED_RECEIPT"
|
|
]
|
|
}
|
|
},
|
|
"exact_target": {
|
|
"exact_path": "./state/shared-desktop/HLP-TEST-DESKTOP-OBJECT-0001.hldp",
|
|
"expected_fingerprint": "OBJECT_ID_ROLE_NAME_GENERATION_AND_STATE",
|
|
"expected_state": "OPEN",
|
|
"target_id": "HLP-TEST-DESKTOP-OBJECT-0001"
|
|
},
|
|
"failure_plan": {
|
|
"errors": [
|
|
"TCS-E2001",
|
|
"TCS-E2101",
|
|
"TCS-E3001",
|
|
"TCS-E4001",
|
|
"TCS-E4002",
|
|
"TCS-E6001",
|
|
"TCS-E6002",
|
|
"TCS-E7002",
|
|
"TCS-E8001"
|
|
],
|
|
"fail_closed": true
|
|
},
|
|
"identity": {
|
|
"gir_id": "GIR-TCS-PROGRAM-HOLOLAKE-TEST-DESKTOP-OBJECT-OPEN-0001",
|
|
"language_version": "0.1",
|
|
"program_id": "TCS-PROGRAM-HOLOLAKE-TEST-DESKTOP-OBJECT-OPEN-0001"
|
|
},
|
|
"inputs": {
|
|
"DESKTOP_SCOPE": {
|
|
"network": false,
|
|
"real_macos": false,
|
|
"required": true,
|
|
"root": "./state/shared-desktop",
|
|
"source": "DEDICATED_TCS_TEST_DESKTOP",
|
|
"type": "Record"
|
|
},
|
|
"OBJECT_SELECTOR": {
|
|
"generation": 1,
|
|
"name": "HoloLake TCS Shared Desktop Test Object",
|
|
"required": true,
|
|
"role": "WINDOW",
|
|
"source": "REGISTERED_TEST_OBJECT",
|
|
"stable_object_id": "HLP-TEST-DESKTOP-OBJECT-0001",
|
|
"state_before": "CLOSED",
|
|
"type": "ComputerObject"
|
|
},
|
|
"PERMISSION_TICKET": {
|
|
"action": "OPEN",
|
|
"object_id": "HLP-TEST-DESKTOP-OBJECT-0001",
|
|
"required": true,
|
|
"single_use": true,
|
|
"source": "TCS-EVENT-HOLOLAKE-DEDICATED-TEST-DESKTOP-OBJECT-0001",
|
|
"ticket_id": "TCS-DESKTOP-TEST-TICKET-0001",
|
|
"type": "AuthorityProof"
|
|
},
|
|
"SEMANTIC_ACTION": {
|
|
"action": "OPEN",
|
|
"expected_state_after": "OPEN",
|
|
"required": true,
|
|
"source": "REGISTERED_TEST_OBJECT",
|
|
"type": "SemanticAction"
|
|
}
|
|
},
|
|
"native_self_hosted": true,
|
|
"outputs": {
|
|
"ACTION_EVIDENCE": {
|
|
"destination": "RECEIPT",
|
|
"integrity": "SHA256",
|
|
"type": "Record"
|
|
},
|
|
"OBJECT_TREE_BEFORE": {
|
|
"destination": "RECEIPT",
|
|
"integrity": "SHA256",
|
|
"type": "Record"
|
|
},
|
|
"RESOLVED_OBJECT": {
|
|
"destination": "RECEIPT",
|
|
"integrity": "SHA256",
|
|
"type": "ComputerObject"
|
|
},
|
|
"STATE_DIFF": {
|
|
"destination": "RECEIPT",
|
|
"integrity": "SHA256",
|
|
"type": "StateDiff"
|
|
},
|
|
"VERIFIED_RECEIPT": {
|
|
"destination": "TARGET_STATE",
|
|
"integrity": "SHA256",
|
|
"type": "Record"
|
|
}
|
|
},
|
|
"receipt_plan": {
|
|
"human_projection": "REQUIRED",
|
|
"integrity": "SHA256",
|
|
"machine_path": "./state/shared-desktop/HLP-TEST-DESKTOP-OBJECT-0001.hldp",
|
|
"protocol": "TCS-HOLOLAKE-DESKTOP-VERTICAL-SLICE-ACCEPTANCE-v1",
|
|
"target_readback": "OBJECT_TREE_BEFORE_ACTION_TICKET_STATE_DIFF_HUMAN_AND_PERSONA_PROJECTIONS"
|
|
},
|
|
"resource_plan": {
|
|
"concurrency": 1,
|
|
"memory_limit_bytes": 268435456,
|
|
"runway": "LOCAL_TCS_GIR_RUNTIME",
|
|
"timeout_ms": 30000
|
|
},
|
|
"rollback_plan": {
|
|
"actions": [
|
|
"RESTORE_TEST_OBJECT_STATE_CLOSED",
|
|
"PRESERVE_FAILURE_EVIDENCE"
|
|
],
|
|
"preconditions": [
|
|
"ACTION_ATTEMPTED_WITHOUT_VERIFIED_TARGET_READBACK"
|
|
],
|
|
"verification": [
|
|
"TEST_OBJECT_CLOSED",
|
|
"NO_REAL_MACOS_ACTION",
|
|
"NO_NETWORK_ACTION"
|
|
]
|
|
},
|
|
"schema": "guanghu.gir/v1",
|
|
"subject": {
|
|
"channel_id": "ICE-CH-ZC001",
|
|
"subject_id": "ICE-P-ZY001",
|
|
"subject_kind": "PERSONA",
|
|
"verification": "TCS-BRAIN-CYCLE-ZY-CYCLE-000001-e1612a519305-VERIFY-PASS"
|
|
},
|
|
"timeout_and_stop": {
|
|
"safe_checkpoint": "PRESERVE_OBJECT_CLOSED_AND_WRITE_NO_ACCEPTANCE_RECEIPT",
|
|
"signals": [
|
|
"CALLER_STOP",
|
|
"TIMEOUT",
|
|
"TICKET_MISMATCH",
|
|
"RUNTIME_DISPATCH_MISSING"
|
|
]
|
|
},
|
|
"unresolved_natural_language": false
|
|
}
|