hololake-system-architecture/native-runtime/compiler/examples/INITIALIZE-PERSONAL-CHANNEL.hldp

72 lines
2.2 KiB
Text
Raw Normal View History

schema: hldp.native-program/v1
identity:
program_id: HLP-PROGRAM-INITIALIZE-PERSONAL-CHANNEL-0001
name_zh: 初始化普通用户本地频道
version: 0.1.0
protocol_versions: [GLS-0101, GLS-0411]
source:
source_id: HLP-PART-0010
source_uri: parts/HLP-PART-0010/PART.hldp
source_sha256: PENDING_NATIVE_CANONICALIZATION
lifecycle: CANDIDATE
subject:
subject_id: AUTHENTICATED_HUMAN
role: CHANNEL_OWNER
channel_id: RESOLVE_FROM_VERIFIED_ACCOUNT
target:
target_id: ACCOUNT_SCOPED_PERSONAL_CHANNEL
exact_path: RESOLVE_FROM_VERIFIED_NUMBER_AND_ACCOUNT
expected_state: NOT_INITIALIZED
inputs:
- VERIFIED_HUMAN_NUMBER
- AUTHENTICATED_ACCOUNT
- EXPLICIT_INITIALIZE_CONFIRMATION
outputs:
- CHANNEL_IDENTITY_EVENT
- INITIALIZATION_RECEIPT
conditions:
- HUMAN_NUMBER_AND_ACCOUNT_EXACT_PAIR
- NO_PRIVATE_PERSONA_TEMPLATE_COPY
action_graph:
- id: A1
operation: VERIFY_ACCOUNT_NUMBER_PAIR
input_refs: [VERIFIED_HUMAN_NUMBER, AUTHENTICATED_ACCOUNT]
output_refs: [PAIR_PROOF]
on_success: A2
on_failure: FAIL_CLOSED
- id: A2
operation: CREATE_ACCOUNT_SCOPED_CHANNEL_ATOMICALLY
input_refs: [PAIR_PROOF, EXPLICIT_INITIALIZE_CONFIRMATION]
output_refs: [CHANNEL_IDENTITY_EVENT, INITIALIZATION_RECEIPT]
on_success: COMPLETE
on_failure: ROLLBACK
authority:
issuer: ICE-GL∞_CURRENT_HUMAN_CONFIRMATION
scope: ONE_ACCOUNT_ONE_CHANNEL_INITIALIZATION
valid_from: REQUEST_TIME
valid_until: SINGLE_USE_OR_15_MINUTES
lease_required: true
resources:
runway: PERSONAL_CHANNEL_INITIALIZATION
concurrency: ONE_WRITER_PER_ACCOUNT
timeout_ms: 15000
memory_limit_bytes: 16777216
failure:
errors: [IDENTITY_MISMATCH, ALREADY_INITIALIZED, STORAGE_FAILURE]
fail_closed: true
stop:
signals: [HUMAN_CANCEL, TIMEOUT]
safe_checkpoint: NONE_BEFORE_ATOMIC_COMMIT
cleanup:
targets: [UNCOMMITTED_TEMPORARY_CHANNEL_STATE]
boundary: EXACT_ACCOUNT_SCOPE_ONLY
rollback:
preconditions: [ATOMIC_COMMIT_NOT_CONFIRMED]
actions: [REMOVE_UNCOMMITTED_TEMPORARY_STATE]
verification: [NO_CHANNEL_IDENTITY_EVENT_VISIBLE]
receipt:
protocol: GLS-0306
output_path: ACCOUNT_PRIVATE_RECEIPT_CHAIN
integrity: SHA256_CHAINED
human_visibility: REQUIRED