code wiki / _hdl_build / nx_andelinwest.nx
nx_andelinwest.nx source
↩ module page · 72 lines · 5425 B
1// nx_andelinwest.nx -- the TEAM plans + drives the andelinwest.com v1 build (operator: the NISHI TEAM
2// plans/builds/does everything; Claude partners + evaluates, intervening only at the LLM-gaps). The
3// roadmap is DATA; the PLAN (frontier, next batch, progress) is computed by the team's OWN roadmap +
4// layered-backlog logic (nx_layered_backlog / nx_roadmap), not asserted by Claude. Each item carries an
5// OWNER: TEAM (sovereign, bits-up) or CLAUDE (an LLM-gap the team flags for partnership -- the legal
6// PROSE). Building goes L8 (sovereign serve) up to L0 (launched v1). This module's OUTPUT is the
7// roadmap/progress that the nishifamily.com/roadmap/andelinwest page renders. license_tier: ORIGINAL
8// Grounded in knowledge/research/2026-06-04-website-ux-andelinwest.md (cited UX/CX thresholds).
9
10import "nx_layered_backlog.nx" // bl_frontier / bl_parallel_batch / bl_buildable -- the team PLANS
11import "nx_roadmap.nx" // rm_progress / rm_next -- gate-driven, items check themselves off
12import "nx_syscalls.nx"
13
14const AW_TEAM: i64 = 1 // sovereign, built by the team bits-up
15const AW_CLAUDE: i64 = 2 // an LLM-gap -- the team flags it; Claude partners (legal prose copy)
16
17func aw_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
18func aw_num(v: i64) -> i64 { let bb: *u8 = sys_mmap(28); var m: i64=v; if m<0 {m=0-m; sys_write(1,"-" as *u8,1)}; let t: *u8 = sys_mmap(28); var k: i64=0; if m==0 {t[0]=48;k=1}; while m>0 {t[k]=48+(m%10); m=m/10; k=k+1}; var i: i64=0; while i<k {bb[i]=t[k-1-i]; i=i+1}; sys_write(1, bb, k); return 0 }
19
20func main() -> i64 {
21 aw_puts("=== andelinwest.com v1 -- the TEAM's L8->L0 roadmap (team-planned, gate-driven) ===\n" as *u8)
22 let n: i64 = 9
23 let nm: *i64 = sys_mmap(8*16) as *i64
24 let layer: *i64 = sys_mmap(8*16) as *i64
25 let done: *i64 = sys_mmap(8*16) as *i64
26 let owner: *i64 = sys_mmap(8*16) as *i64
27 // layer done owner
28 nm[0]="L8 sovereign HTTP serve (team http stack)" as *u8 as i64; layer[0]=8; done[0]=1; owner[0]=AW_TEAM
29 nm[1]="L7 HTML page generator (nx_html_emit)" as *u8 as i64; layer[1]=7; done[1]=1; owner[1]=AW_TEAM
30 nm[2]="L6 responsive layout + sections" as *u8 as i64; layer[2]=6; done[2]=0; owner[2]=AW_TEAM
31 nm[3]="L5 content model: practice areas + CTA model" as *u8 as i64; layer[3]=5; done[3]=0; owner[3]=AW_TEAM
32 nm[4]="L4 onsite search wired (BM25/PPMI corpus)" as *u8 as i64; layer[4]=4; done[4]=0; owner[4]=AW_TEAM
33 nm[5]="L3 UX rules: 3-step resolution, CTA, <400ms" as *u8 as i64; layer[5]=3; done[5]=0; owner[5]=AW_TEAM
34 nm[6]="L2 trust/credibility signals (Fogg, bar)" as *u8 as i64; layer[6]=2; done[6]=0; owner[6]=AW_TEAM
35 nm[7]="L1 legal prose copy" as *u8 as i64; layer[7]=1; done[7]=0; owner[7]=AW_CLAUDE
36 nm[8]="L0 v1 assembled + launched" as *u8 as i64; layer[8]=0; done[8]=0; owner[8]=AW_TEAM
37
38 // ---- the TEAM computes the plan (not Claude) ----
39 let frontier: i64 = bl_frontier(n, layer, done)
40 let batch: *i64 = sys_mmap(8*16) as *i64
41 let bn: i64 = bl_parallel_batch(n, layer, done, batch)
42 let progress: i64 = rm_progress(n, done)
43 let nxt: i64 = rm_next(n, layer, done)
44 var claude_items: i64 = 0; var i: i64 = 0
45 while i < n { if owner[i] == AW_CLAUDE { claude_items = claude_items + 1 } i = i + 1 }
46
47 // ---- render the roadmap (the visibility artifact) ----
48 i = 0
49 while i < n {
50 if done[i] == 1 { aw_puts(" [DONE] " as *u8) } else { aw_puts(" [ .. ] " as *u8) }
51 aw_puts(nm[i] as *u8)
52 if owner[i] == AW_CLAUDE { aw_puts(" <-- CLAUDE partners (LLM-gap)" as *u8) }
53 aw_puts("\n" as *u8)
54 i = i + 1
55 }
56 aw_puts("----\n TEAM-COMPUTED PLAN: progress=" as *u8); aw_num(progress); aw_puts("/1000 build-frontier=L" as *u8); aw_num(frontier)
57 aw_puts(" next-batch=" as *u8); aw_num(bn); aw_puts(" item(s) next=#" as *u8); aw_num(nxt); aw_puts(" (" as *u8); aw_puts(nm[nxt] as *u8); aw_puts(")\n" as *u8)
58 aw_puts(" RACI: TEAM owns 8/9 items bits-up; Claude partners on " as *u8); aw_num(claude_items); aw_puts(" (the legal prose). The team builds back UP L8->L0.\n" as *u8)
59
60 let r: *i64 = sys_mmap(8*8) as *i64
61 r[0] = 0; if frontier == 6 { r[0] = 1 } // deepest TODO = L6 (foundation L8/L7 done)
62 r[1] = 0; if progress == (2 * 1000) / 9 { r[1] = 1 } // 2 of 9 done (team-computed)
63 r[2] = 0; if nxt == 2 { r[2] = 1 } // next = the L6 layout (deepest TODO)
64 r[3] = 0; if bn >= 1 { r[3] = 1 } // a buildable batch exists at the frontier
65 r[4] = 0; if claude_items == 1 { r[4] = 1 } // exactly 1 LLM-gap (the prose), team owns the rest
66 r[5] = 0; if owner[7] == AW_CLAUDE { if owner[2] == AW_TEAM { r[5] = 1 } } // copy=Claude, layout=team
67 var pass: i64 = 0; i = 0
68 while i < 6 { pass = pass + r[i]; i = i + 1 }
69 aw_puts(" checks " as *u8); aw_num(pass); aw_puts("/6\n" as *u8)
70 if pass == 6 { aw_puts(" PLANNED BY THE TEAM: the L8->L0 plan + frontier + next move are computed by the team's roadmap logic; Claude flagged only at the prose. Building starts at the L6 layout.\n" as *u8); sys_exit(0); return 0 }
71 aw_puts(" FAIL\n" as *u8); sys_exit(1); return 1
72}