code wiki / _hdl_build / nx_hosting_backlog.nx

nx_hosting_backlog.nx source

↩ module page · 181 lines · 12552 B

1// nx_hosting_backlog.nx -- the PM logs the COMPLETE post-go-live backlog, RANKED by WSJF (composes 2// nx_pm_decision_matrix), to the shared review + plan logs we read together. andelinwest.com is LIVE; the 3// operator's standing directives now drive priority: (a) the site must become a TOP-LEVEL premium brand by 4// MONDAY 2026-06-08 -- PM-led team build, Claude tutoring ONLY; (b) ZERO .sh / non-Nishi anywhere in the 5// hosting/deploy/boot path + enterprise-EXCEED hardening = top sovereignty work; (c) onsite search must be 6// PER-SITE isolated, NO cross-site bleed; (d) a tutoring-effort LEDGER so we measure Claude intervention and 7// drive it toward zero (train our own model). WSJF = Cost-of-Delay/effort: the brand spec + quick wins rank 8// first; the Monday epic decomposes into the cheap sub-items the spec defines. license_tier: ORIGINAL 9import "nx_pm_decision_matrix.nx" 10import "nx_pm_review_log.nx" 11import "nx_syscalls.nx" 12 13func bl_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 14func bl_fputn(fd: i64, v: i64) -> i64 { let b: *u8=sys_mmap(28); var m: i64=v; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1}; while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1}; var i: i64=0; while i<k{b[i]=t[k-1-i];i=i+1}; sys_write(fd,b,k); return 0 } 15 16// MCDA weights (DATA). user-facing highest (operator's win-user law), then software sovereignty, hw, time. 17const W_HW: i64 = 2 18const W_SW: i64 = 3 19const W_USER: i64 = 4 20const W_TIME: i64 = 3 21const NBL: i64 = 14 22 23func main() -> i64 { 24 let id: *i64 = sys_mmap(8*NBL) as *i64 25 let subj: *i64 = sys_mmap(8*NBL) as *i64 26 let det: *i64 = sys_mmap(8*NBL) as *i64 27 let need: *i64 = sys_mmap(8*NBL) as *i64 28 let hw: *i64 = sys_mmap(8*NBL) as *i64 29 let sw: *i64 = sys_mmap(8*NBL) as *i64 30 let usr: *i64 = sys_mmap(8*NBL) as *i64 31 let tc: *i64 = sys_mmap(8*NBL) as *i64 32 let eff: *i64 = sys_mmap(8*NBL) as *i64 33 let dep: *i64 = sys_mmap(8*NBL) as *i64 34 let conf: *i64 = sys_mmap(8*NBL) as *i64 35 36 // 0 -- BRAND-BIBLE SPEC: Researcher synthesizes the spec from the deep-research (NN/g + legal-brand 37 // benchmarks); it GATES the Monday build by translating evidence -> a ranked design sub-backlog. 38 id[0]="SITE/brand-bible-spec" as *u8 as i64 39 subj[0]="Researcher synthesizes the brand-bible spec from the UX/CX research -> spawns the design sub-backlog" as *u8 as i64 40 det[0]="ASSIGNED Researcher (Claude tutors synthesis): cite NN/g + award legal sites; spec = visual identity, type, color tokens, components, voice, trust/conversion, WCAG2.2AA" as *u8 as i64 41 need[0]="ASSIGNED" as *u8 as i64 42 hw[0]=1; sw[0]=5; usr[0]=8; tc[0]=9; eff[0]=3; dep[0]=1; conf[0]=700 43 44 // 1 -- multisite-proof: prove a 2nd host live via ONE sites.conf line + a file push. AUTO-TEAM quick win. 45 id[1]="HOST/multisite-proof" as *u8 as i64 46 subj[1]="prove a 2nd site goes live via one sites.conf line + a file push (validate the platform claim)" as *u8 as i64 47 det[1]="AUTO-TEAM via nx_ssh_cmd: add host->doc-root, drop index.html, hot-load; no recompile, no restart" as *u8 as i64 48 need[1]="AUTO-TEAM" as *u8 as i64 49 hw[1]=1; sw[1]=4; usr[1]=5; tc[1]=2; eff[1]=2; dep[1]=1; conf[1]=900 50 51 // 2 -- TUTORING LEDGER: mechanize the Claude-intervention metric per work item (AUTONOMOUS/TUTORED/AUTHORED) 52 // -> report the ratio + trajectory toward zero (train our own LLM for the Nishi ecosystem). 53 id[2]="TEAM/tutoring-ledger" as *u8 as i64 54 subj[2]="ledger each item by tutoring level (team-autonomous / tutored / Claude-authored) -> drive toward zero" as *u8 as i64 55 det[2]="ASSIGNED Librarian (Claude tutors schema): per-item gap class; feeds the LLM-gap registry + self-model; the metric the operator reviews" as *u8 as i64 56 need[2]="ASSIGNED" as *u8 as i64 57 hw[2]=1; sw[2]=6; usr[2]=3; tc[2]=4; eff[2]=2; dep[2]=1; conf[2]=800 58 59 // 3 -- roadmap-page: push /roadmap/andelinwest live -- now just a file. AUTO-TEAM quick win. 60 id[3]="HOST/roadmap-page" as *u8 as i64 61 subj[3]="push /roadmap/andelinwest live -- now a file under the router doc-root, no rebuild" as *u8 as i64 62 det[3]="AUTO-TEAM: serve the existing roadmap page via the hot file path instead of a baked route" as *u8 as i64 63 need[3]="AUTO-TEAM" as *u8 as i64 64 hw[3]=1; sw[3]=3; usr[3]=4; tc[3]=2; eff[3]=2; dep[3]=1; conf[3]=900 65 66 // 4 -- A1 sovereign supervisor: the BOOT-path piece of zero-.sh -- nx_hostctl launched as root at boot. 67 id[4]="HOST/A1-sovereign-supervisor" as *u8 as i64 68 subj[4]="retire nishi_supervisor.sh -> nx_hostctl supervisor launched as root at boot (no .sh in boot path)" as *u8 as i64 69 det[4]="ASSIGNED Engineer: needs root-at-boot (rc.d), NOT a runtime takeover; gate: survives reboot, <=2s respawn" as *u8 as i64 70 need[4]="ASSIGNED" as *u8 as i64 71 hw[4]=2; sw[4]=8; usr[4]=3; tc[4]=7; eff[4]=4; dep[4]=1; conf[4]=800 72 73 // 5 -- ZERO .sh / NON-NISHI: audit + eliminate every .sh and non-Nishi (gcc, shell-glue in nx_ssh_cmd) 74 // from the hosting/deploy/boot path. operator-flagged TOP sovereignty. 75 id[5]="HOST/zero-sh-nonnishi" as *u8 as i64 76 subj[5]="audit + eliminate ALL .sh and non-Nishi from hosting/deploy/boot (supervisor, deploy glue, gcc)" as *u8 as i64 77 det[5]="ASSIGNED Engineer+Auditor (operator TOP): inventory every shell/gcc dependency; replace with sovereign Nishi; gate: 0 non-Nishi on the path" as *u8 as i64 78 need[5]="ASSIGNED" as *u8 as i64 79 hw[5]=2; sw[5]=10; usr[5]=2; tc[5]=8; eff[5]=6; dep[5]=1; conf[5]=700 80 81 // 6 -- ENTERPRISE-EXCEED HARDENING of the hosting: fail-fast startup, graceful degradation (429/502/503/504), 82 // structured errors, TLS + security headers, rate-limit/fork-bomb caps. (Global rules 12/14/20.) 83 id[6]="HOST/enterprise-harden" as *u8 as i64 84 subj[6]="enterprise-exceed harden the hosting: fail-fast startup, graceful degradation, security headers, rate-limit" as *u8 as i64 85 det[6]="ASSIGNED Engineer: 429/502/503/504 paths, structured errors, HSTS/CSP, fork cap (have 64); gate: load + fault injection" as *u8 as i64 86 need[6]="ASSIGNED" as *u8 as i64 87 hw[6]=2; sw[6]=8; usr[6]=4; tc[6]=5; eff[6]=5; dep[6]=1; conf[6]=700 88 89 // 7 -- PER-SITE onsite search: isolated inverted index per host, queries scoped to the requesting host, 90 // ZERO cross-site bleed. (operator: "uniqued to each site with no bleed over".) 91 id[7]="HOST/onsite-search-persite" as *u8 as i64 92 subj[7]="per-site isolated BM25 search: one index per host, host-scoped queries, ZERO cross-site bleed" as *u8 as i64 93 det[7]="ASSIGNED Researcher+Builder: index per doc-root, key by host; reuse nx_bm25; gate: andelinwest query never returns nishifamily docs" as *u8 as i64 94 need[7]="ASSIGNED" as *u8 as i64 95 hw[7]=1; sw[7]=6; usr[7]=6; tc[7]=5; eff[7]=5; dep[7]=1; conf[7]=700 96 97 // 8 -- SITE TOP-LEVEL by MONDAY (EPIC anchor; decomposes into the spec's sub-items). MAX time-criticality. 98 id[8]="SITE/topflight-by-monday" as *u8 as i64 99 subj[8]="andelinwest.com = a TOP-LEVEL premium brand site by Monday 2026-06-08 (PM-led build from the spec)" as *u8 as i64 100 det[8]="EPIC PM-led (Researcher+Builder+Auditor+Referee), Claude TUTORS ONLY: decomposes into the brand-bible sub-backlog; deadline Mon" as *u8 as i64 101 need[8]="EPIC" as *u8 as i64 102 hw[8]=1; sw[8]=6; usr[8]=10; tc[8]=10; eff[8]=8; dep[8]=1; conf[8]=700 103 104 // 9 -- W2 (KEYSTONE): regalloc quadratic -> linear-scan; unblocks <10s sovereign crypto/SSH/daemon builds. 105 id[9]="HOST/W2-regalloc-keystone" as *u8 as i64 106 subj[9]="compiler regalloc O(n^2)->O(n log n) linear-scan -- unblocks <10s sovereign crypto/SSH builds" as *u8 as i64 107 det[9]="ASSIGNED Builder (Claude tutors data-structure): profile-first then heap-by-end; gate byte-stable self-host" as *u8 as i64 108 need[9]="ASSIGNED" as *u8 as i64 109 hw[9]=4; sw[9]=9; usr[9]=4; tc[9]=6; eff[9]=7; dep[9]=1; conf[9]=700 110 111 // 10 -- W1: SSH client S-class + comprehensive OpenSSH benchmark. 112 id[10]="HOST/W1-ssh-benchmark" as *u8 as i64 113 subj[10]="SSH client S-class + comprehensive OpenSSH benchmark (throughput/latency/feature matrix)" as *u8 as i64 114 det[10]="ASSIGNED Engineer+Referee: measure vs OpenSSH, no self-grade; the bench IS the verdict" as *u8 as i64 115 need[10]="ASSIGNED" as *u8 as i64 116 hw[10]=2; sw[10]=6; usr[10]=2; tc[10]=3; eff[10]=5; dep[10]=1; conf[10]=700 117 118 // 11 -- A3 (EXCEED): FD-passing (SCM_RIGHTS) zero-downtime daemon hot-swap. Novel -> LLM-gap tutor. 119 id[11]="HOST/A3-zero-downtime-swap" as *u8 as i64 120 subj[11]="FD-passing (sendmsg/recvmsg+SCM_RIGHTS) zero-downtime daemon hot-swap; gate: 0 dropped connections" as *u8 as i64 121 det[11]="NEEDS-CAPABILITY: SCM_RIGHTS ancillary-data absent -> Claude tutors; the exceed rung over nginx reload" as *u8 as i64 122 need[11]="NEEDS-CAPABILITY" as *u8 as i64 123 hw[11]=3; sw[11]=8; usr[11]=6; tc[11]=4; eff[11]=8; dep[11]=1; conf[11]=600 124 125 // 12 -- L2: retire gcc from the build path (nxasm self-host) -- part of zero-non-Nishi. 126 id[12]="HOST/L2-retire-gcc" as *u8 as i64 127 subj[12]="retire gcc from the build path -- nxasm self-host as the assembler/linker (zero-non-Nishi)" as *u8 as i64 128 det[12]="QUEUED after W2: gcc is the last build-path dep; gate: byte-exact ELF vs gcc on the corpus" as *u8 as i64 129 need[12]="QUEUED" as *u8 as i64 130 hw[12]=2; sw[12]=8; usr[12]=1; tc[12]=4; eff[12]=6; dep[12]=1; conf[12]=600 131 132 // 13 -- L3: crypto toward OpenSSL parity (P-256/ECDSA) -- the TLS hot path. 133 id[13]="HOST/L3-crypto-parity" as *u8 as i64 134 subj[13]="P-256/ECDSA toward OpenSSL parity (currently ~488x off) -- the TLS hot path" as *u8 as i64 135 det[13]="QUEUED after W2 (compile speed): Montgomery ladder / wNAF; gate: measured vs OpenSSL" as *u8 as i64 136 need[13]="QUEUED" as *u8 as i64 137 hw[13]=5; sw[13]=5; usr[13]=2; tc[13]=2; eff[13]=9; dep[13]=1; conf[13]=500 138 139 // ---- score every item: WSJF = CoD/effort, confidence-adjusted; a stakeholder-regressor is disqualified ---- 140 let score: *i64 = sys_mmap(8*NBL) as *i64 141 let ready: *i64 = sys_mmap(8*NBL) as *i64 142 let picked:*i64 = sys_mmap(8*NBL) as *i64 143 var i: i64 = 0 144 while i < NBL { 145 let cod: i64 = dm_cost_of_delay(hw[i], sw[i], usr[i], tc[i], W_HW, W_SW, W_USER, W_TIME) 146 var s: i64 = dm_wsjf(cod, eff[i]) 147 s = dm_confidence_adjust(s, conf[i]) 148 if dm_no_regression(hw[i], sw[i], usr[i]) == 0 { s = 0 } 149 score[i] = s; ready[i] = dm_ready(dep[i]); picked[i] = 0 150 i = i + 1 151 } 152 153 // ---- emit the ranked portfolio to stdout + the two shared PM logs ---- 154 let fd: i64 = pm_open("/tmp/nishi_pm_plan.log" as *u8) 155 let rv: i64 = pm_open("/tmp/nishi_pm_review.log" as *u8) 156 pm_w(fd, "\n# HOSTING+SITE BACKLOG 2026-06-06 -- andelinwest LIVE; top-level-by-Monday + zero-.sh + per-site-search\n" as *u8) 157 bl_puts("=== PM HOSTING+SITE BACKLOG (WSJF-ranked) ===\n" as *u8) 158 bl_puts("weights: user=" as *u8); bl_fputn(1, W_USER); bl_puts(" sw=" as *u8); bl_fputn(1, W_SW) 159 bl_puts(" hw=" as *u8); bl_fputn(1, W_HW); bl_puts(" time=" as *u8); bl_fputn(1, W_TIME); bl_puts("\n\n" as *u8) 160 161 var rank: i64 = 1; var done: i64 = 0 162 while done < NBL { 163 let b: i64 = dm_next_pick(score, picked, ready, NBL) 164 if b < 0 { break } 165 picked[b] = 1 166 bl_puts("#" as *u8); bl_fputn(1, rank); bl_puts(" [WSJF " as *u8); bl_fputn(1, score[b]); bl_puts("] " as *u8) 167 bl_puts(id[b] as *u8); bl_puts(" <" as *u8); bl_puts(need[b] as *u8); bl_puts(">\n " as *u8) 168 bl_puts(subj[b] as *u8); bl_puts("\n" as *u8) 169 pm_w(fd, " rank=" as *u8); bl_fputn(fd, rank); pm_w(fd, " wsjf=" as *u8); bl_fputn(fd, score[b]) 170 pm_w(fd, " <" as *u8); pm_w(fd, need[b] as *u8); pm_w(fd, "> " as *u8); pm_w(fd, id[b] as *u8) 171 pm_w(fd, " :: " as *u8); pm_w(fd, subj[b] as *u8); pm_w(fd, "\n" as *u8) 172 pm_flag(rv, "BACKLOG" as *u8, id[b] as *u8, need[b] as *u8, subj[b] as *u8, det[b] as *u8) 173 rank = rank + 1; done = done + 1 174 } 175 sys_close(fd); sys_close(rv) 176 177 bl_puts("\n>>> Logged " as *u8); bl_fputn(1, NBL); bl_puts(" items to /tmp/nishi_pm_plan.log + /tmp/nishi_pm_review.log.\n" as *u8) 178 bl_puts(">>> brand-bible-spec gates the Monday epic; AUTO-TEAM quick wins self-clear; zero-.sh + enterprise-harden\n" as *u8) 179 bl_puts(">>> = operator-top sovereignty; per-site search = no bleed-over; tutoring-ledger tracks Claude->zero.\n" as *u8) 180 sys_exit(0); return 0 181}