nx_model_lane.nx source
↩ module page · 73 lines · 2598 B
1// nx_model_lane.nx -- CLI for the sovereign model-lane lease (core = nx_model_lane_core).
2// usage:
3// nx_model_lane claim <holder> <est_mb> <pid> [ttl_sec] [leasepath]
4// nx_model_lane free <holder> [leasepath]
5// nx_model_lane status [leasepath]
6// pid = the WORKLOAD pid (shell scripts pass $$). Default lease = knowledge/status/
7// model_lane.lease, default ttl 14400s. Exit code = rc map in the core header.
8// LAW (banked): every model-scale launch on this worker claims the lane FIRST; the
9// forge scripts (flp_t2_run.sh / flp_smoke_05b.sh) are the first wired consumers.
10// license_tier: ORIGINAL
11import "nx_model_lane_core.nx"
12const K_MAGIC_14400: i64 = 14400
13
14func main(argc: i64, argv: *i64) -> i64 {
15 if argc < 2 {
16 std_putln("usage: nx_model_lane claim <holder> <est_mb> <pid> [ttl] [lease] | free <holder> [lease] | status [lease]" as *u8)
17 sys_exit(12)
18 return 12
19 }
20 let a1: i64 = argv[1]
21 let verb: *u8 = a1 as *u8
22 if std_streq(verb, "claim" as *u8) == 1 {
23 if argc < 5 { std_putln("claim needs <holder> <est_mb> <pid>" as *u8); sys_exit(12); return 12 }
24 let a2: i64 = argv[2]
25 let holder: *u8 = a2 as *u8
26 let a3: i64 = argv[3]
27 let p3: *u8 = a3 as *u8
28 let est: i64 = std_atoi(p3)
29 let a4: i64 = argv[4]
30 let p4: *u8 = a4 as *u8
31 let pid: i64 = std_atoi(p4)
32 var ttl: i64 = K_MAGIC_14400
33 if argc >= 6 {
34 let a5: i64 = argv[5]
35 let p5: *u8 = a5 as *u8
36 ttl = std_atoi(p5)
37 }
38 var lease: *u8 = ML_LEASE_DEFAULT
39 if argc >= 7 {
40 let a6: i64 = argv[6]
41 lease = a6 as *u8
42 }
43 let rc: i64 = ml_claim(lease, holder, est, pid, ttl, ML_FLOOR_MB)
44 sys_exit(rc)
45 return rc
46 }
47 if std_streq(verb, "free" as *u8) == 1 {
48 if argc < 3 { std_putln("free needs <holder>" as *u8); sys_exit(12); return 12 }
49 let b2: i64 = argv[2]
50 let holder2: *u8 = b2 as *u8
51 var lease2: *u8 = ML_LEASE_DEFAULT
52 if argc >= 4 {
53 let b3: i64 = argv[3]
54 lease2 = b3 as *u8
55 }
56 let rc2: i64 = ml_free(lease2, holder2)
57 sys_exit(rc2)
58 return rc2
59 }
60 if std_streq(verb, "status" as *u8) == 1 {
61 var lease3: *u8 = ML_LEASE_DEFAULT
62 if argc >= 3 {
63 let c2: i64 = argv[2]
64 lease3 = c2 as *u8
65 }
66 let rc3: i64 = ml_status(lease3)
67 sys_exit(rc3)
68 return rc3
69 }
70 std_putln("unknown verb" as *u8)
71 sys_exit(12)
72 return 12
73}