TCS 0.1; PROTOCOL TCS-VERIFIED-MODULE-INSTALL-PRIMITIVE-0001 { header { schema = "tcs.protocol/v1"; name_zh = "TCS已验签模块精确安装机械原语"; name_en = "TCS Signed Verified Module Exact Install Mechanical Primitive"; version = "0.1.0"; language = "TCS/0.1"; profile = "HLDP-NP/1"; lifecycle = "CANDIDATE"; canonical_uri = "language/protocols/TCS-VERIFIED-MODULE-INSTALL-PRIMITIVE-0001.tcs"; } operation { id = "TCS-OP-CORE-INSTALL-0001"; name = "CORE.INSTALL_VERIFIED_MODULE"; input = "SIGNED_REGISTRY_PROOF_PLUS_EXACT_PACKAGE_FILE_SET"; output = "ACCOUNT_SCOPED_INSTALLED_BYTES_AND_READBACK_RECEIPT"; semantic_owner = "CALLING_TCS_INSTALL_PROGRAM"; host_role = "MECHANICAL_SIGNATURE_HASH_COPY_AND_READBACK_ONLY"; } trust { signature_scheme = "Ed25519"; signer_id = "TCS-SIGNER-BINGSHUO-ZC001-DEV-0001"; signer_public_key_sha256 = "fd3da2d2b23c05c08dcdf7a37c15588d4b6407ec309152598eae279316ea49d8"; scope = "ICE-CH-ZC001_DEVELOPMENT_LINE_ONLY"; global_production_trust = false; } inputs { signed_registry = ["PAYLOAD_PATH", "PAYLOAD_SHA256", "MESSAGE_PATH", "MESSAGE_SHA256", "SIGNATURE_BASE64", "PUBLIC_KEY_RAW_BASE64"]; package = ["MODULE_ID", "SOURCE_ROOT", "DESTINATION_ROOT", "FILES_WITH_SHA256"]; expected_destination = "ABSENT"; } machine_rules { verify_message_hash = true; verify_payload_hash = true; verify_message_binds_payload_hash = true; verify_ed25519_signature = true; verify_signer_public_fingerprint = true; verify_each_source_file_hash = true; reject_symlink_escape = true; destination_inside_exact_runtime_root = true; copy_to_temporary_directory = true; readback_each_installed_hash = true; atomic_directory_rename = true; } forbidden_host_semantics { interpret_module_meaning = false; interpret_lpm_or_desktop = false; infer_capability = false; infer_authority = false; select_files = false; change_bytes = false; mount_or_activate = false; } lifecycle { install_is_mount = false; install_is_activation = false; install_receipt_required = true; rollback = "REMOVE_ONLY_TEMPORARY_OR_EXACT_NEW_INSTALL_DESTINATION"; } errors { signature = "TCS-E4001"; hash = "TCS-E3001"; path = "TCS-E4002"; prior_destination = "TCS-E6001"; write_readback = "TCS-E8001"; } }