23 lines
4.3 KiB
Text
23 lines
4.3 KiB
Text
TCS 0.1;
|
|
|
|
PROGRAM TCS-PROGRAM-GENERIC-ACTION-GRAPH-LOADER-SELF-TEST-0001 {
|
|
header { schema = "tcs.program/v1"; name_zh = "TCS通用动作图装载器外层自检程序"; name_en = "TCS Generic Action Graph Loader Outer Self-test Program"; version = "0.1.0"; language = "TCS/0.1"; profile = "HLDP-NP/1"; protocols = ["TCS-GENERIC-ACTION-GRAPH-LOADER-0001", "TCS-HOST-ABI-0001", "GLS-0130", "GLS-0131"]; lifecycle = "CANDIDATE"; canonical_uri = "language/programs/TCS-PROGRAM-GENERIC-ACTION-GRAPH-LOADER-SELF-TEST-0001.tcs"; compatibility = ["TCS-COMPILER-STAGE3-GENERIC-ACTION-LOADER-0001", "GIR/1"]; }
|
|
source { source_id = "TCS-GENERIC-ACTION-GRAPH-LOADER-0001"; source_uri = "language/protocols/TCS-GENERIC-ACTION-GRAPH-LOADER-0001.tcs"; source_sha256 = "32482ca689bed43851b3d6694e97dec3e767a0371b93990f2409986cf7f81c52"; source_role = "CANONICAL_PROTOCOL"; }
|
|
subject { subject_id = "TCS-GENERIC-ACTION-LOADER-SELF-TEST-INSTANCE-0001"; subject_kind = "RUNTIME_INSTANCE"; channel_id = "ICE-CH-ZC001"; verification = "LOCAL_ISOLATED_SELF_TEST"; }
|
|
target { target_id = "TCS-GENERIC-ACTION-LOADER-OUTER-RECEIPT-0001"; exact_path = "./state/loader/outer-loader-receipt.hldp"; expected_state = "ABSENT"; expected_fingerprint = "NO_PRIOR_OUTER_SELF_TEST_RECEIPT"; }
|
|
inputs {
|
|
CHILD_GIR { type = "GirEnvelope"; source = "VERIFIED_LOCAL_GIR"; required = true; path = "./build/TCS-PROGRAM-GENERIC-LOADER-INNER-ECHO-0001.gir.json"; sha256 = "98395167ae122ab7c66daa53e0216ac8c1ce85cab524a3c52660e15b2439b83a"; program_id = "TCS-PROGRAM-GENERIC-LOADER-INNER-ECHO-0001"; operation = "CORE.ECHO"; }
|
|
CAPABILITY_MODE { type = "CapabilityRegistry"; source = "STAGE3_COMPILER_LOCKED_BOOTSTRAP"; required = true; mode = "COMPILER_LOCKED_CORE_ECHO_ONLY"; allowed_operations = ["CORE.ECHO"]; external_unsigned_registry_allowed = false; semantic_expansion = false; }
|
|
EXECUTION_ROOT { type = "Path"; source = "PROGRAM_LITERAL"; required = true; value = "."; child_target = "./state/loader/inner-echo-receipt.hldp"; outer_target = "./state/loader/outer-loader-receipt.hldp"; }
|
|
}
|
|
outputs { CHILD_RESULT { type = "Record"; destination = "RECEIPT"; integrity = "SHA256"; } CHILD_TARGET_READBACK { type = "Evidence"; destination = "RECEIPT"; integrity = "SHA256"; } LOADER_RECEIPT { type = "Record"; destination = "TARGET_STATE"; integrity = "SHA256"; } }
|
|
conditions { C1 { predicate = "CHILD_GIR_SCHEMA_HASH_COMPILER_AND_SOURCE_PROVENANCE_MATCH"; on_false = "FAIL_CLOSED"; } C2 { predicate = "CHILD_GRAPH_HAS_EXACTLY_ONE_CORE_ECHO_ACTION"; on_false = "FAIL_CLOSED"; } C3 { predicate = "BOOTSTRAP_MODE_FORBIDS_EXTERNAL_UNSIGNED_REGISTRY"; on_false = "FAIL_CLOSED"; } C4 { predicate = "CHILD_AND_OUTER_TARGETS_INSIDE_LOADER_SELF_TEST_ROOT"; on_false = "FAIL_CLOSED"; } }
|
|
actions { A1 { operation = "TCS.EXECUTE_ACTION_GRAPH"; input_refs = ["CHILD_GIR", "CAPABILITY_MODE", "EXECUTION_ROOT"]; output_refs = ["CHILD_RESULT", "CHILD_TARGET_READBACK", "LOADER_RECEIPT"]; on_success = "COMPLETE"; on_failure = "ROLLBACK"; } }
|
|
authority { issuer = "LOCAL_LOADER_SELF_TEST"; proof_ref = "TCS-GENERIC-ACTION-GRAPH-LOADER-0001"; scope = "ONE_INNER_CORE_ECHO_GRAPH_AND_ONE_OUTER_RECEIPT"; valid_from = "SELF_TEST_START"; valid_until = "SELF_TEST_END"; single_use = true; lease_required = false; }
|
|
resources { runway = "LOCAL_TCS_GIR_RUNTIME"; concurrency = 1; timeout_ms = 3000; memory_limit_bytes = 8388608; }
|
|
failure { errors = ["TCS-E2001", "TCS-E2101", "TCS-E2102", "TCS-E3001", "TCS-E3002", "TCS-E4001", "TCS-E4002", "TCS-E6002", "TCS-E7002", "TCS-E8001"]; fail_closed = true; }
|
|
stop { signals = ["TIMEOUT", "CALLER_STOP", "CHILD_HASH_MISMATCH", "UNKNOWN_CHILD_OPERATION", "TARGET_READBACK_FAILURE"]; safe_checkpoint = "NO_OUTER_COMPLETION_WITHOUT_CHILD_TARGET_READBACK"; }
|
|
cleanup { targets = ["./state/loader/inner-echo-receipt.hldp", "./state/loader/outer-loader-receipt.hldp"]; exact_boundary = "LOADER_SELF_TEST_ROOT_ONLY"; }
|
|
rollback { preconditions = ["CHILD_OR_OUTER_PARTIAL_RECEIPT_WITHOUT_BOTH_READBACKS"]; actions = ["REMOVE_ONLY_PARTIAL_SELF_TEST_RECEIPTS"]; verification = ["NO_PARTIAL_INNER_RECEIPT", "NO_PARTIAL_OUTER_RECEIPT"]; }
|
|
receipt { protocol = "TCS-GENERIC-LOADER-SELF-TEST-v1"; machine_path = "./state/loader/outer-loader-receipt.hldp"; human_projection = "REQUIRED"; integrity = "SHA256"; target_readback = "CHILD_GIR_HASH_CHILD_RECEIPT_HASH_OUTER_RECEIPT_HASH_AND_HOST_RUNTIME_HASH"; }
|
|
}
|