Merge branch 'cli_audit' into ir_artifact

This commit is contained in:
2026-02-12 17:20:45 -06:00
7 changed files with 2431 additions and 2970 deletions

View File

@@ -6055,65 +6055,77 @@
},
{
"disruption_pc": 0,
"nr_slots": 22,
"nr_slots": 27,
"nr_close_slots": 0,
"instructions": [
["access", 3, "core/", 877, 14],
["access", 4, "core/", 877, 14],
"_nop_tc_1",
["jump", "add_ni_743", 877, 24],
["is_int", 6, 1, 877, 24],
["jump_false", 6, "add_ni_743", 877, 24],
["add_int", 4, 3, 1, 877, 24],
["is_int", 7, 1, 877, 24],
["jump_false", 7, "add_ni_743", 877, 24],
["add_int", 5, 4, 1, 877, 24],
["jump", "add_done_745", 877, 24],
"add_ni_743",
["is_text", 6, 1, 877, 24],
["jump_false", 6, "add_nt_744", 877, 24],
["concat", 4, 3, 1, 877, 24],
["is_text", 7, 1, 877, 24],
["jump_false", 7, "add_nt_744", 877, 24],
["concat", 5, 4, 1, 877, 24],
["jump", "add_done_745", 877, 24],
"add_nt_744",
["is_num", 5, 3, 877, 24],
["jump_false", 5, "add_err_746", 877, 24],
["is_num", 6, 1, 877, 24],
["is_num", 6, 4, 877, 24],
["jump_false", 6, "add_err_746", 877, 24],
["add_float", 4, 3, 1, 877, 24],
["is_num", 7, 1, 877, 24],
["jump_false", 7, "add_err_746", 877, 24],
["add_float", 5, 4, 1, 877, 24],
["jump", "add_done_745", 877, 24],
"add_err_746",
["disrupt", 877, 24],
"add_done_745",
["move", 2, 4, 877, 24],
["get", 7, 67, 2, 878, 9],
["load_dynamic", 8, 7, 2, 878, 19],
["jump_false", 8, "if_else_747", 878, 19],
["get", 9, 67, 2, 878, 31],
["load_dynamic", 10, 9, 2, 878, 41],
["return", 10, 878, 41],
["move", 2, 5, 877, 24],
["get", 8, 67, 2, 878, 9],
["load_dynamic", 9, 8, 2, 878, 19],
["jump_false", 9, "if_else_747", 878, 19],
["get", 10, 67, 2, 878, 31],
["load_dynamic", 11, 10, 2, 878, 41],
["return", 11, 878, 41],
["jump", "if_end_748", 878, 41],
"if_else_747",
"if_end_748",
["get", 11, 8, 1, 879, 27],
["get", 13, 50, 2, 879, 12],
["is_proxy", 14, 13, 879, 12],
["jump_false", 14, "record_path_749", 879, 12],
["null", 15, 879, 12],
["access", 16, "use", 879, 12],
["array", 17, 2, 1, 11, 879, 12],
["frame", 18, 13, 2, 879, 12],
["setarg", 18, 0, 15, 879, 12],
["setarg", 18, 1, 16, 879, 12],
["setarg", 18, 2, 17, 879, 12],
["invoke", 18, 12, 879, 12],
["jump", "call_done_750", 879, 12],
"record_path_749",
["load_field", 19, 13, "use", 879, 12],
["frame", 20, 19, 2, 879, 12],
["setarg", 20, 0, 13, 879, 12],
["setarg", 20, 1, 1, 879, 12],
["setarg", 20, 2, 11, 879, 12],
["invoke", 20, 12, 879, 12],
"call_done_750",
["return", 12, 879, 12],
["null", 21, 879, 12],
["return", 21, 879, 12]
["get", 13, 32, 2, 879, 20],
["frame", 14, 13, 1, 879, 20],
["null", 15, 879, 20],
["setarg", 14, 0, 15, 879, 20],
["setarg", 14, 1, 1, 879, 20],
["invoke", 14, 12, 879, 20],
["move", 3, 12, 879, 20],
["jump_false", 3, "if_else_749", 880, 9],
["return", 3, 880, 26],
["jump", "if_end_750", 880, 26],
"if_else_749",
"if_end_750",
["get", 16, 8, 1, 881, 27],
["get", 18, 50, 2, 881, 12],
["is_proxy", 19, 18, 881, 12],
["jump_false", 19, "record_path_751", 881, 12],
["null", 20, 881, 12],
["access", 21, "use", 881, 12],
["array", 22, 2, 1, 16, 881, 12],
["frame", 23, 18, 2, 881, 12],
["setarg", 23, 0, 20, 881, 12],
["setarg", 23, 1, 21, 881, 12],
["setarg", 23, 2, 22, 881, 12],
["invoke", 23, 17, 881, 12],
["jump", "call_done_752", 881, 12],
"record_path_751",
["load_field", 24, 18, "use", 881, 12],
["frame", 25, 24, 2, 881, 12],
["setarg", 25, 0, 18, 881, 12],
["setarg", 25, 1, 1, 881, 12],
["setarg", 25, 2, 16, 881, 12],
["invoke", 25, 17, 881, 12],
"call_done_752",
["return", 17, 881, 12],
["null", 26, 881, 12],
["return", 26, 881, 12]
],
"name": "<anonymous>",
"filename": "internal/engine.cm",
@@ -6427,32 +6439,32 @@
["move", 8, 83, 875, 45],
["function", 86, 56, 876, 13],
["store_field", 6, 86, "use", 876, 3],
["get", 87, 11, 1, 881, 14],
["load_field", 88, 87, "args", 881, 14],
["load_field", 89, 88, "arg", 881, 14],
["store_field", 6, 89, "args", 881, 3],
["get", 90, 63, 1, 882, 14],
["store_field", 6, 90, "log", 882, 3],
["get", 91, 68, 1, 884, 30],
["get", 93, 20, 1, 884, 21],
["is_proxy", 94, 93, 884, 21],
["jump_false", 94, "record_path_751", 884, 21],
["null", 95, 884, 21],
["access", 96, "slurp", 884, 21],
["array", 97, 1, 91, 884, 21],
["frame", 98, 93, 2, 884, 21],
["setarg", 98, 0, 95, 884, 21],
["setarg", 98, 1, 96, 884, 21],
["setarg", 98, 2, 97, 884, 21],
["invoke", 98, 92, 884, 21],
["jump", "call_done_752", 884, 21],
"record_path_751",
["load_field", 99, 93, "slurp", 884, 21],
["frame", 100, 99, 1, 884, 21],
["setarg", 100, 0, 93, 884, 21],
["setarg", 100, 1, 91, 884, 21],
["invoke", 100, 92, 884, 21],
"call_done_752",
["get", 87, 11, 1, 883, 14],
["load_field", 88, 87, "args", 883, 14],
["load_field", 89, 88, "arg", 883, 14],
["store_field", 6, 89, "args", 883, 3],
["get", 90, 63, 1, 884, 14],
["store_field", 6, 90, "log", 884, 3],
["get", 91, 68, 1, 886, 30],
["get", 93, 20, 1, 886, 21],
["is_proxy", 94, 93, 886, 21],
["jump_false", 94, "record_path_753", 886, 21],
["null", 95, 886, 21],
["access", 96, "slurp", 886, 21],
["array", 97, 1, 91, 886, 21],
["frame", 98, 93, 2, 886, 21],
["setarg", 98, 0, 95, 886, 21],
["setarg", 98, 1, 96, 886, 21],
["setarg", 98, 2, 97, 886, 21],
["invoke", 98, 92, 886, 21],
["jump", "call_done_754", 886, 21],
"record_path_753",
["load_field", 99, 93, "slurp", 886, 21],
["frame", 100, 99, 1, 886, 21],
["setarg", 100, 0, 93, 886, 21],
["setarg", 100, 1, 91, 886, 21],
["invoke", 100, 92, 886, 21],
"call_done_754",
[
"access",
102,
@@ -6461,16 +6473,16 @@
"kind": "name",
"make": "intrinsic"
},
884,
886,
16
],
["frame", 103, 102, 1, 884, 16],
["null", 104, 884, 16],
["setarg", 103, 0, 104, 884, 16],
["setarg", 103, 1, 92, 884, 16],
["invoke", 103, 101, 884, 16],
["move", 4, 101, 884, 16],
["get", 105, 68, 1, 885, 29],
["frame", 103, 102, 1, 886, 16],
["null", 104, 886, 16],
["setarg", 103, 0, 104, 886, 16],
["setarg", 103, 1, 92, 886, 16],
["invoke", 103, 101, 886, 16],
["move", 4, 101, 886, 16],
["get", 105, 68, 1, 887, 29],
[
"access",
107,
@@ -6479,17 +6491,17 @@
"kind": "name",
"make": "intrinsic"
},
885,
887,
13
],
["frame", 108, 107, 2, 885, 13],
["null", 109, 885, 13],
["setarg", 108, 0, 109, 885, 13],
["setarg", 108, 1, 4, 885, 13],
["setarg", 108, 2, 105, 885, 13],
["invoke", 108, 106, 885, 13],
["move", 10, 106, 885, 13],
["get", 110, 46, 1, 886, 24],
["frame", 108, 107, 2, 887, 13],
["null", 109, 887, 13],
["setarg", 108, 0, 109, 887, 13],
["setarg", 108, 1, 4, 887, 13],
["setarg", 108, 2, 105, 887, 13],
["invoke", 108, 106, 887, 13],
["move", 10, 106, 887, 13],
["get", 110, 46, 1, 888, 24],
[
"access",
112,
@@ -6498,44 +6510,44 @@
"kind": "name",
"make": "intrinsic"
},
886,
888,
13
],
["frame", 113, 112, 3, 886, 13],
["null", 114, 886, 13],
["setarg", 113, 0, 114, 886, 13],
["setarg", 113, 1, 110, 886, 13],
["setarg", 113, 2, 10, 886, 13],
["setarg", 113, 3, 6, 886, 13],
["invoke", 113, 111, 886, 13],
["move", 11, 111, 886, 13],
["jump_false", 11, "if_else_753", 887, 7],
["access", 115, "Program must not return anything", 888, 15],
["get", 117, 63, 1, 888, 5],
["is_proxy", 118, 117, 888, 5],
["jump_false", 118, "record_path_755", 888, 5],
["null", 119, 888, 5],
["access", 120, "error", 888, 5],
["array", 121, 1, 115, 888, 5],
["frame", 122, 117, 2, 888, 5],
["setarg", 122, 0, 119, 888, 5],
["setarg", 122, 1, 120, 888, 5],
["setarg", 122, 2, 121, 888, 5],
["invoke", 122, 116, 888, 5],
["jump", "call_done_756", 888, 5],
"record_path_755",
["load_field", 123, 117, "error", 888, 5],
["frame", 124, 123, 1, 888, 5],
["setarg", 124, 0, 117, 888, 5],
["setarg", 124, 1, 115, 888, 5],
["invoke", 124, 116, 888, 5],
"call_done_756",
["disrupt", 889, 5],
["jump", "if_end_754", 889, 5],
"if_else_753",
"if_end_754",
["null", 125, 889, 5],
["return", 125, 889, 5]
["frame", 113, 112, 3, 888, 13],
["null", 114, 888, 13],
["setarg", 113, 0, 114, 888, 13],
["setarg", 113, 1, 110, 888, 13],
["setarg", 113, 2, 10, 888, 13],
["setarg", 113, 3, 6, 888, 13],
["invoke", 113, 111, 888, 13],
["move", 11, 111, 888, 13],
["jump_false", 11, "if_else_755", 889, 7],
["access", 115, "Program must not return anything", 890, 15],
["get", 117, 63, 1, 890, 5],
["is_proxy", 118, 117, 890, 5],
["jump_false", 118, "record_path_757", 890, 5],
["null", 119, 890, 5],
["access", 120, "error", 890, 5],
["array", 121, 1, 115, 890, 5],
["frame", 122, 117, 2, 890, 5],
["setarg", 122, 0, 119, 890, 5],
["setarg", 122, 1, 120, 890, 5],
["setarg", 122, 2, 121, 890, 5],
["invoke", 122, 116, 890, 5],
["jump", "call_done_758", 890, 5],
"record_path_757",
["load_field", 123, 117, "error", 890, 5],
["frame", 124, 123, 1, 890, 5],
["setarg", 124, 0, 117, 890, 5],
["setarg", 124, 1, 115, 890, 5],
["invoke", 124, 116, 890, 5],
"call_done_758",
["disrupt", 891, 5],
["jump", "if_end_756", 891, 5],
"if_else_755",
"if_end_756",
["null", 125, 891, 5],
["return", 125, 891, 5]
],
"name": "<anonymous>",
"filename": "internal/engine.cm",
@@ -7367,7 +7379,7 @@
["move", 69, 324, 736, 15],
"_nop_bl_2",
["jump_true", 69, "if_else_638", 738, 6],
["access", 326, "No program specified. Usage: cell <program.ce> [args...]", 739, 13],
["access", 326, "No program specified. Usage: cell <program> [args...]", 739, 13],
["is_proxy", 328, 63, 739, 3],
["jump_false", 328, "record_path_640", 739, 3],
["null", 329, 739, 3],
@@ -7450,7 +7462,7 @@
["setarg", 359, 2, 357, 829, 5],
["invoke", 359, 358, 829, 5],
["jump_false", 358, "if_else_646", 829, 5],
["array", 361, 2, 46, 46, 1, 1],
["array", 361, 1, 46, 1, 1],
[
"access",
362,
@@ -7462,7 +7474,7 @@
1,
1
],
["access", 363, "error: {0} is a module (.cm), not an actor (.ce). Run it with: cell --core <path> {1}\n", 1, 1],
["access", 363, "error: {0} is a module (.cm), not a program (.ce)\n", 1, 1],
["frame", 365, 362, 2, 1, 1],
["null", 366, 1, 1],
["setarg", 365, 0, 366, 1, 1],
@@ -7915,7 +7927,7 @@
"if_end_695",
["function", 487, 57, 856, 10],
["is_proxy", 489, 2, 856, 1],
["jump_false", 489, "record_path_757", 856, 1],
["jump_false", 489, "record_path_759", 856, 1],
["null", 490, 856, 1],
["access", 491, "clock", 856, 1],
["array", 492, 1, 487, 856, 1],
@@ -7924,14 +7936,14 @@
["setarg", 493, 1, 491, 856, 1],
["setarg", 493, 2, 492, 856, 1],
["invoke", 493, 488, 856, 1],
["jump", "call_done_758", 856, 1],
"record_path_757",
["jump", "call_done_760", 856, 1],
"record_path_759",
["load_field", 494, 2, "clock", 856, 1],
["frame", 495, 494, 1, 856, 1],
["setarg", 495, 0, 2, 856, 1],
["setarg", 495, 1, 487, 856, 1],
["invoke", 495, 488, 856, 1],
"call_done_758",
"call_done_760",
["return", 488, 856, 1]
]
},