make TCS compiler GIR control validation and lowering

This commit is contained in:
冰朔 2026-08-21 17:25:09 +08:00
commit 6e89b82d88
5 changed files with 271 additions and 17 deletions

View file

@ -45,6 +45,8 @@ COMPILER TCS-COMPILER-STAGE1-0001 {
floating_point = "FORBIDDEN_V0_1";
}
program_validation {
required_sections = ["header", "source", "subject", "target", "inputs", "outputs", "conditions", "actions", "authority", "resources", "failure", "stop", "cleanup", "rollback", "receipt"];
registered_operations = ["CORE.ECHO"];
V001 { rule = "EXACT_REQUIRED_SECTIONS"; standard = "TCS-FIELD-STANDARD-0001"; error_missing = "TCS-E1004"; error_unknown = "TCS-E1003"; }
V002 { rule = "CLOSED_FIELDS_PER_SECTION"; error = "TCS-E1003"; }
V003 { rule = "ALL_INPUT_OUTPUT_AND_ACTION_REFS_RESOLVE"; error = "TCS-E2002"; }
@ -69,6 +71,10 @@ COMPILER TCS-COMPILER-STAGE1-0001 {
G010 { from = "rollback"; to = "rollback_plan"; transform = "COPY_ACTIONS_AND_VERIFICATION"; }
G011 { from = "receipt"; to = "receipt_plan"; transform = "BIND_MACHINE_AND_HUMAN_OUTPUTS"; }
G012 { from = "all"; to = "unresolved_natural_language"; transform = "MUST_BE_FALSE"; }
G013 { from = "inputs"; to = "inputs"; transform = "COPY_RESOLVED_VALUES"; }
G014 { from = "outputs"; to = "outputs"; transform = "COPY_RESOLVED_VALUES"; }
G015 { from = "conditions"; to = "conditions"; transform = "COPY_RESOLVED_CONDITIONS"; }
G016 { from = "failure"; to = "failure_plan"; transform = "COPY_EXPLICIT_FAILURE_SEMANTICS"; }
}
canonicalization {
object_keys = "UTF8_BYTE_ORDER";