72 lines
2.2 KiB
Text
72 lines
2.2 KiB
Text
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
|
|
|