self-host TCS compiler GIR and add portable host runtime

This commit is contained in:
冰朔 2026-08-21 17:15:23 +08:00
commit ff29e52a32
33 changed files with 3848 additions and 831 deletions

View file

@ -0,0 +1,19 @@
TCS 0.1;
PROGRAM TCS-NEGATIVE-UNREGISTERED-0001 {
header { schema = "tcs.program/v1"; name_zh = "未注册操作拒绝样例"; name_en = "Unregistered Operation Rejection"; version = "0.1.0"; language = "TCS/0.1"; profile = "HLDP-NP/1"; protocols = ["GLS-0101"]; lifecycle = "NEGATIVE_TEST"; canonical_uri = "language/tests/negative/UNREGISTERED-OPERATION.tcs"; compatibility = ["TCS-COMPILER-STAGE1-0001"]; }
source { source_id = "TCS-NEGATIVE-CORPUS-0001"; source_uri = "language/tests/negative/UNREGISTERED-OPERATION.tcs"; source_sha256 = "SELF_AT_COMPILE_TIME"; source_role = "NEGATIVE_TEST"; }
subject { subject_id = "TCS-TEST-RUNNER-0001"; subject_kind = "TEST_RUNTIME"; verification = "LOCAL_TEST_BOUND"; }
target { target_id = "TCS-NEGATIVE-TARGET-0001"; target_kind = "TEST_RECEIPT"; exact_path = "./build/negative-should-not-exist.hldp"; expected_state = "ABSENT"; }
inputs { MESSAGE { type = "Text"; value = "必须拒绝"; } }
outputs { ECHOED { type = "Text"; required = true; } }
conditions { C1 { expression = "TARGET_EXACT_AND_WITHIN_ALLOWED_ROOT"; on_false = "FAIL_CLOSED"; } }
actions { A1 { operation = "ABSORB"; input_refs = ["MESSAGE"]; output_refs = ["ECHOED"]; on_success = "COMPLETE"; on_failure = "FAIL_CLOSED"; } }
authority { mode = "TEST_ONLY"; issuer = "TCS-TEST-RUNNER-0001"; scope = ["WRITE_EXACT_RECEIPT_ONLY"]; one_shot = true; }
resources { timeout_ms = 1000; max_actions = 1; memory_limit_bytes = 1048576; }
failure { default = "FAIL_CLOSED"; emit_error = true; write_receipt = true; }
stop { on_timeout = "STOPPED"; on_authority_loss = "STOPPED"; }
cleanup { remove_temporary = true; preserve_receipts = true; }
rollback { required = false; actions = []; verification = "NOT_APPLICABLE"; }
receipt { schema = "tcs.execution-receipt/v1"; machine_path = "./build/negative-should-not-exist.hldp"; human_projection = "不得生成"; integrity = "SHA256_AND_READBACK"; }
}