hololake-system-architecture/product-source/hololake-native-desktop/contracts/human-authorization.json

64 lines
1.7 KiB
JSON

{
"schema": "hololake.human-authorization-contract/v1",
"record_id": "HLP-HUMAN-AUTHORIZATION-001",
"state": "NATIVE_FAIL_CLOSED",
"roles": {
"persona_or_agent": "PROPOSE_EXACT_ACTION_WITH_REASON_IMPACT_AND_ROLLBACK",
"human": "APPROVE_OR_DENY_FROM_VERIFIED_HOLOLAKE_CLIENT",
"numbering_system": "ISSUE_SESSION_BOUND_SINGLE_USE_TICKET_AND_HASH_CHAINED_RECEIPT"
},
"lifecycle": [
"PENDING_HUMAN",
"APPROVED",
"DENIED",
"EXPIRED",
"CONSUMED"
],
"supported_actions": [
"OPEN_MAINTENANCE",
"UNMOUNT",
"PROMOTE_VERSION",
"RETIRE"
],
"destructive_purge": {
"enabled": false,
"reason": "PURGE_REQUIRES_A_SEPARATE_TWO_STEP_PHYSICAL_DATA_DELETION_PROTOCOL"
},
"ticket": {
"ttl_ms": 900000,
"single_use": true,
"requester_account_bound": true,
"requester_session_bound": true,
"client_instance_bound": true,
"target_bound": true,
"action_bound": true,
"replay": "FAIL_CLOSED"
},
"request": {
"ttl_ms": 86400000,
"idempotency_required": true,
"reason_required": true,
"impact_required": true,
"rollback_plan_required": true
},
"routes": {
"external_execution_carrier": [
"HLP-NBROKER-OP-0023",
"HLP-NBROKER-OP-0024",
"HLP-NBROKER-OP-0025"
],
"human_client": [
"HLP-NIPC-OP-0148",
"HLP-NIPC-OP-0149"
]
},
"invariants": {
"number_is_coordinate_not_authority": true,
"proposal_is_not_authorization": true,
"approval_is_not_execution": true,
"stable_target_number_is_never_reused": true,
"denial_opens_no_execution_path": true,
"unknown_or_mismatched_state": "FAIL_CLOSED",
"receipt_required_for_each_transition": true
}
}