code wiki / (root) / nx_swcompare_sending.nx

nx_swcompare_sending.nx source

↩ module page · 237 lines · 21769 B

1// nx_swcompare_sending.nx -- the MEASURED scoreboard for NISHI SENDING / MAIL (physical + digital + gifts + 2// the unified send surface), operator 2026-07-08: "nishi mail physical and digital state of the art and 3// integrated so i can send a postcard or present as easily as i can send digital ... use census and get us there". 4// Grades the LIVE sending surface across 35 axes, NEVER self-scored: each EXCEEDS/PRESENT cell is PROVEN by 5// reading a distinctive symbol in the REAL shipped organ source on disk; an ABSENT (ROADMAP) cell requires the 6// implementing symbol to NOT exist = an honest gap (the worklist). Liar-killed BOTH directions (over- and under- 7// claiming break the oracle). Yardsticks = the SOTA sending field (Gmail/Superhuman/HEY/Proton for digital; 8// Lob/PostGrid/Stannp for print-and-mail; Postal.io/Sendoso/Reachdesk/Goody for unified sending; TouchNote/ 9// Paperless Post/Punkpost for consumer cards), captured in knowledge/compare/sending-bar.txt. 10// DIGITAL CORE .. SND-D1..D9 DIGITAL UX ... SND-D10..D14 PHYSICAL .. SND-P1..P9 11// GIFTS ........ SND-G1..G4 UNIFIED ...... SND-U1..U8 12// SNAPSHOT ORACLE: exceeds==2, present==16, absent==17 (of 35). [r1 spine U3+P5; r2 postcard P1; r3 letter/No.10 P2 + A7 card P3] The 2 EXCEEDS = sovereign anti-spoof crypto 13// (ed25519 SPF/DKIM/DMARC) + sovereign own print pipeline (raster->URF/IPP->device, no cloud print). The whole 14// physical + gifts + unified-send surface is the ABSENT worklist. A rung re-grades its axis (living map): when 15// nx_mailpiece/nx_postal_addr/nx_send etc. land their symbols, the axis auto-flips + the oracle is updated. 16// Two modes: no-arg = console census + liar-kill gate (run-exit 0 GREEN); `html` = emit the /compare/sending page. 17// Self-contained (only nx_syscalls). expect_exit: 0 license_tier: ORIGINAL 18import "nx_syscalls.nx" 19const K_MAGIC_262144: i64 = 262144 20 21func p(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 22func pn(v: i64) -> i64 { 23 var m: i64 = v; if m < 0 { p("-" as *u8); m = 0 - m } 24 let t: *u8 = sys_mmap(24); var k: i64 = 0; if m == 0 { t[0] = 48 as u8; k = 1 } 25 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 26 let o: *u8 = sys_mmap(24); var i: i64 = 0; while i < k { o[i] = t[k-1-i]; i = i + 1 } sys_write(1, o, k); return 0 27} 28func seq(a: *u8, b: *u8) -> i64 { 29 var i: i64 = 0 30 while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } 31 if b[i] != (0 as u8) { return 0 } 32 return 1 33} 34func lc_read(path: *u8, buf: *u8, cap: i64) -> i64 { 35 let fd: i64 = sys_openat_rd(path); if fd < 0 { return 0 - 1 } 36 var tot: i64 = 0 37 while tot < cap { let r: i64 = sys_read(fd, (buf as i64 + tot) as *u8, cap - tot); if r <= 0 { break } tot = tot + r } 38 sys_close(fd); return tot 39} 40func lc_has(buf: *u8, n: i64, needle: *u8) -> i64 { 41 var i: i64 = 0 42 while i < n { var k: i64 = 0; var hit: i64 = 1 43 while needle[k] != (0 as u8) { if i + k >= n { hit = 0; k = 0 - 1; break } if buf[i+k] != needle[k] { hit = 0; break } k = k + 1 } 44 if hit == 1 { if k > 0 { return 1 } } i = i + 1 } 45 return 0 46} 47func lc_file_has(path: *u8, needle: *u8, buf: *u8, cap: i64) -> i64 { 48 let n: i64 = lc_read(path, buf, cap); if n <= 0 { return 0 } 49 return lc_has(buf, n, needle) 50} 51func clsname(c: i64) -> *u8 { if c == 2 { return "EXCEEDS" as *u8 } if c == 1 { return "PRESENT" as *u8 } return "ROADMAP" as *u8 } 52func clscolor(c: i64) -> *u8 { if c == 2 { return "rgb(34,160,90)" as *u8 } if c == 1 { return "rgb(40,110,210)" as *u8 } return "rgb(120,124,134)" as *u8 } 53func nishi_note(c: i64) -> *u8 { if c == 2 { return "Sovereign edge" as *u8 } if c == 1 { return "Yes" as *u8 } return "Planned" as *u8 } 54func grpname(g: i64) -> *u8 { 55 if g == 0 { return "Digital email -- transport and authentication" as *u8 } 56 if g == 1 { return "Digital email -- modern client UX" as *u8 } 57 if g == 2 { return "Physical mail -- postcards, letters, cards" as *u8 } 58 if g == 3 { return "Gifts and presents" as *u8 } 59 return "Unified sending and integration" as *u8 60} 61func con_row(id: *u8, label: *u8, sota: *u8, cls: i64) -> i64 { 62 p(" [" as *u8); p(clsname(cls)); p("] " as *u8); p(id); p(" " as *u8); p(label); p(" vs " as *u8); p(sota); p("\n" as *u8); return 0 63} 64func emit_row(id: *u8, label: *u8, sota: *u8, cls: i64) -> i64 { 65 p("<tr><td class='cap'><span class='id'>" as *u8); p(id); p("</span> " as *u8); p(label) 66 p("</td><td class='ni'>" as *u8); p(nishi_note(cls)) 67 p("</td><td class='so'>" as *u8); p(sota) 68 p("</td><td><span class='pill' style='background:" as *u8); p(clscolor(cls)); p("'>" as *u8); p(clsname(cls)); p("</span></td></tr>\n" as *u8) 69 return 0 70} 71 72func main(argc: i64, argv: *i64) -> i64 { 73 let cap: i64 = K_MAGIC_262144 74 let buf: *u8 = sys_mmap(cap) 75 let N: i64 = 35 76 77 let gid: *i64 = sys_mmap(8 * 40) as *i64 78 let glab: *i64 = sys_mmap(8 * 40) as *i64 79 let ginc: *i64 = sys_mmap(8 * 40) as *i64 80 let gpath: *i64 = sys_mmap(8 * 40) as *i64 81 let gneed: *i64 = sys_mmap(8 * 40) as *i64 82 let ggrp: *i64 = sys_mmap(8 * 40) as *i64 83 let gexc: *i64 = sys_mmap(8 * 40) as *i64 84 let gread: *i64 = sys_mmap(8 * 40) as *i64 85 let gcls: *i64 = sys_mmap(8 * 40) as *i64 86 87 // ---- DIGITAL CORE (transport + auth) ---- 88 gid[0]="SND-D1" as *u8 as i64; glab[0]="Email send transport (SMTP + MX)" as *u8 as i64; ginc[0]="Gmail / Proton" as *u8 as i64; gpath[0]="runtime/nx_smtp_client.nx" as *u8 as i64; gneed[0]="nx_smtp_dot_stuff" as *u8 as i64; ggrp[0]=0; gexc[0]=0 89 gid[1]="SND-D2" as *u8 as i64; glab[1]="Receiving MTA (open-relay defense)" as *u8 as i64; ginc[1]="Postfix-class" as *u8 as i64; gpath[1]="runtime/nx_email_mta.nx" as *u8 as i64; gneed[1]="rcpt_accept" as *u8 as i64; ggrp[1]=0; gexc[1]=0 90 gid[2]="SND-D3" as *u8 as i64; glab[2]="MIME / attachments" as *u8 as i64; ginc[2]="any client" as *u8 as i64; gpath[2]="runtime/nx_email_mime.nx" as *u8 as i64; gneed[2]="multipart_assemble" as *u8 as i64; ggrp[2]=0; gexc[2]=0 91 gid[3]="SND-D4" as *u8 as i64; glab[3]="Mailbox store (additive history)" as *u8 as i64; ginc[3]="IMAP server" as *u8 as i64; gpath[3]="runtime/nx_email_mailbox.nx" as *u8 as i64; gneed[3]="nx_mbox_deliver" as *u8 as i64; ggrp[3]=0; gexc[3]=0 92 gid[4]="SND-D5" as *u8 as i64; glab[4]="IMAP / POP retrieval" as *u8 as i64; ginc[4]="any client" as *u8 as i64; gpath[4]="runtime/nx_email_retrieve.nx" as *u8 as i64; gneed[4]="nx_pop3_dedot" as *u8 as i64; ggrp[4]=0; gexc[4]=0 93 gid[5]="SND-D6" as *u8 as i64; glab[5]="Anti-spoof SPF/DKIM/DMARC (sovereign ed25519)" as *u8 as i64; ginc[5]="opendkim" as *u8 as i64; gpath[5]="runtime/nx_email_auth.nx" as *u8 as i64; gneed[5]="nx_dkim_verify" as *u8 as i64; ggrp[5]=0; gexc[5]=1 94 gid[6]="SND-D7" as *u8 as i64; glab[6]="Authenticated submission (STARTTLS, downgrade defense)" as *u8 as i64; ginc[6]="587 / 465" as *u8 as i64; gpath[6]="runtime/nx_email_submit.nx" as *u8 as i64; gneed[6]="STARTTLS" as *u8 as i64; ggrp[6]=0; gexc[6]=0 95 gid[7]="SND-D8" as *u8 as i64; glab[7]="Webmail UI (inbox / read / delete)" as *u8 as i64; ginc[7]="Roundcube" as *u8 as i64; gpath[7]="runtime/nx_email_webmail.nx" as *u8 as i64; gneed[7]="nx_webmail_serve_conn" as *u8 as i64; ggrp[7]=0; gexc[7]=0 96 gid[8]="SND-D9" as *u8 as i64; glab[8]="Outbound DKIM-signed compose" as *u8 as i64; ginc[8]="any MSA" as *u8 as i64; gpath[8]="runtime/nx_email_send.nx" as *u8 as i64; gneed[8]="nx_email_dkim_sign_message" as *u8 as i64; ggrp[8]=0; gexc[8]=0 97 98 // ---- DIGITAL UX (all roadmap -> nx_webmail_pro.nx) ---- 99 gid[9]="SND-D10" as *u8 as i64; glab[9]="Modern compose UX (keyboard + command palette)" as *u8 as i64; ginc[9]="Superhuman" as *u8 as i64; gpath[9]="runtime/nx_webmail_pro.nx" as *u8 as i64; gneed[9]="COMPOSE-PALETTE" as *u8 as i64; ggrp[9]=1; gexc[9]=0 100 gid[10]="SND-D11" as *u8 as i64; glab[10]="Send-later / scheduled send" as *u8 as i64; ginc[10]="Gmail" as *u8 as i64; gpath[10]="runtime/nx_webmail_pro.nx" as *u8 as i64; gneed[10]="SEND-LATER" as *u8 as i64; ggrp[10]=1; gexc[10]=0 101 gid[11]="SND-D12" as *u8 as i64; glab[11]="Snooze + follow-up reminders" as *u8 as i64; ginc[11]="Superhuman / HEY" as *u8 as i64; gpath[11]="runtime/nx_webmail_pro.nx" as *u8 as i64; gneed[11]="SNOOZE" as *u8 as i64; ggrp[11]=1; gexc[11]=0 102 gid[12]="SND-D13" as *u8 as i64; glab[12]="Undo-send (cancel window)" as *u8 as i64; ginc[12]="Gmail" as *u8 as i64; gpath[12]="runtime/nx_webmail_pro.nx" as *u8 as i64; gneed[12]="UNDO-SEND" as *u8 as i64; ggrp[12]=1; gexc[12]=0 103 gid[13]="SND-D14" as *u8 as i64; glab[13]="Split inbox / first-contact screener" as *u8 as i64; ginc[13]="HEY (Imbox)" as *u8 as i64; gpath[13]="runtime/nx_webmail_pro.nx" as *u8 as i64; gneed[13]="SCREENER" as *u8 as i64; ggrp[13]=1; gexc[13]=0 104 105 // ---- PHYSICAL ---- 106 gid[14]="SND-P1" as *u8 as i64; glab[14]="Postcard composition (print-ready, USPS size + bleed)" as *u8 as i64; ginc[14]="Lob / TouchNote" as *u8 as i64; gpath[14]="runtime/nx_mailpiece.nx" as *u8 as i64; gneed[14]="NISHI-POSTCARD" as *u8 as i64; ggrp[14]=2; gexc[14]=0 107 gid[15]="SND-P2" as *u8 as i64; glab[15]="Letter + No.10 window envelope" as *u8 as i64; ginc[15]="Lob / PostGrid" as *u8 as i64; gpath[15]="runtime/nx_mailpiece.nx" as *u8 as i64; gneed[15]="NISHI-ENVELOPE" as *u8 as i64; ggrp[15]=2; gexc[15]=0 108 gid[16]="SND-P3" as *u8 as i64; glab[16]="Folded greeting card (A7 5x7)" as *u8 as i64; ginc[16]="Paperless Post" as *u8 as i64; gpath[16]="runtime/nx_mailpiece.nx" as *u8 as i64; gneed[16]="NISHI-FOLDCARD" as *u8 as i64; ggrp[16]=2; gexc[16]=0 109 gid[17]="SND-P4" as *u8 as i64; glab[17]="Sovereign print pipeline (raster -> URF/IPP -> device)" as *u8 as i64; ginc[17]="cloud print" as *u8 as i64; gpath[17]="runtime/nx_img_print.nx" as *u8 as i64; gneed[17]="nx_urf" as *u8 as i64; ggrp[17]=2; gexc[17]=1 110 gid[18]="SND-P5" as *u8 as i64; glab[18]="Structured postal address model + formatting" as *u8 as i64; ginc[18]="all" as *u8 as i64; gpath[18]="runtime/nx_send.nx" as *u8 as i64; gneed[18]="POSTAL-ADDR" as *u8 as i64; ggrp[18]=2; gexc[18]=0 111 gid[19]="SND-P6" as *u8 as i64; glab[19]="Address verification (CASS / DPV)" as *u8 as i64; ginc[19]="Lob / PostGrid" as *u8 as i64; gpath[19]="runtime/nx_postal_addr.nx" as *u8 as i64; gneed[19]="ADDR-VERIFY" as *u8 as i64; ggrp[19]=2; gexc[19]=0 112 gid[20]="SND-P7" as *u8 as i64; glab[20]="Carrier print-and-mail dispatch (hands-off)" as *u8 as i64; ginc[20]="Lob / PostGrid" as *u8 as i64; gpath[20]="runtime/nx_mail_dispatch.nx" as *u8 as i64; gneed[20]="CARRIER-DISPATCH" as *u8 as i64; ggrp[20]=2; gexc[20]=0 113 gid[21]="SND-P8" as *u8 as i64; glab[21]="Mail tracking (IMb / delivery scans)" as *u8 as i64; ginc[21]="Lob / USPS" as *u8 as i64; gpath[21]="runtime/nx_mail_dispatch.nx" as *u8 as i64; gneed[21]="MAIL-TRACK" as *u8 as i64; ggrp[21]=2; gexc[21]=0 114 gid[22]="SND-P9" as *u8 as i64; glab[22]="Handwriting-style rendering" as *u8 as i64; ginc[22]="Punkpost / Handwrytten" as *u8 as i64; gpath[22]="runtime/nx_handwrite.nx" as *u8 as i64; gneed[22]="HANDWRITE" as *u8 as i64; ggrp[22]=2; gexc[22]=0 115 116 // ---- GIFTS (all roadmap -> nx_gift.nx) ---- 117 gid[23]="SND-G1" as *u8 as i64; glab[23]="Gift catalog + selection" as *u8 as i64; ginc[23]="Goody / Postal" as *u8 as i64; gpath[23]="runtime/nx_gift.nx" as *u8 as i64; gneed[23]="GIFT-CATALOG" as *u8 as i64; ggrp[23]=3; gexc[23]=0 118 gid[24]="SND-G2" as *u8 as i64; glab[24]="Gift send flow -> fulfillment" as *u8 as i64; ginc[24]="Sendoso / Postal" as *u8 as i64; gpath[24]="runtime/nx_gift.nx" as *u8 as i64; gneed[24]="GIFT-SEND" as *u8 as i64; ggrp[24]=3; gexc[24]=0 119 gid[25]="SND-G3" as *u8 as i64; glab[25]="e-gift / gift card / donation" as *u8 as i64; ginc[25]="Goody / Alyce" as *u8 as i64; gpath[25]="runtime/nx_gift.nx" as *u8 as i64; gneed[25]="EGIFT" as *u8 as i64; ggrp[25]=3; gexc[25]=0 120 gid[26]="SND-G4" as *u8 as i64; glab[26]="Address auto-capture via recipient magic-link" as *u8 as i64; ginc[26]="Postal / Sendoso" as *u8 as i64; gpath[26]="runtime/nx_gift.nx" as *u8 as i64; gneed[26]="CLAIM-LINK" as *u8 as i64; ggrp[26]=3; gexc[26]=0 121 122 // ---- UNIFIED / INTEGRATION ---- 123 gid[27]="SND-U1" as *u8 as i64; glab[27]="One recipient / address book across channels" as *u8 as i64; ginc[27]="all" as *u8 as i64; gpath[27]="runtime/_hdl_build/nx_vizsla_contact.nx" as *u8 as i64; gneed[27]="VIZSLA-CONTACT-PROFILE" as *u8 as i64; ggrp[27]=4; gexc[27]=0 124 gid[28]="SND-U2" as *u8 as i64; glab[28]="One compose surface, digital OR physical at send" as *u8 as i64; ginc[28]="Paperless Post" as *u8 as i64; gpath[28]="runtime/nx_send_ui.nx" as *u8 as i64; gneed[28]="COMPOSE-CHANNEL" as *u8 as i64; ggrp[28]=4; gexc[28]=0 125 gid[29]="SND-U3" as *u8 as i64; glab[29]="Unified send-intent model (email/postcard/letter/card/gift)" as *u8 as i64; ginc[29]="Postal / Sendoso" as *u8 as i64; gpath[29]="runtime/nx_send.nx" as *u8 as i64; gneed[29]="SEND-INTENT" as *u8 as i64; ggrp[29]=4; gexc[29]=0 126 gid[30]="SND-U4" as *u8 as i64; glab[30]="Schedule / arrive-on-date" as *u8 as i64; ginc[30]="TouchNote" as *u8 as i64; gpath[30]="runtime/_hdl_build/nx_vizsla_remind.nx" as *u8 as i64; gneed[30]="VIZSLA-REM-DUE" as *u8 as i64; ggrp[30]=4; gexc[30]=0 127 gid[31]="SND-U5" as *u8 as i64; glab[31]="Recurring-occasion auto-send (birthday card)" as *u8 as i64; ginc[31]="TouchNote / Postable" as *u8 as i64; gpath[31]="runtime/nx_send.nx" as *u8 as i64; gneed[31]="AUTO-SEND" as *u8 as i64; ggrp[31]=4; gexc[31]=0 128 gid[32]="SND-U6" as *u8 as i64; glab[32]="Cross-channel delivery ledger / status" as *u8 as i64; ginc[32]="Postal" as *u8 as i64; gpath[32]="runtime/_hdl_build/nx_vizsla_notify.nx" as *u8 as i64; gneed[32]="VIZSLA-NOTIFY-DELIVER" as *u8 as i64; ggrp[32]=4; gexc[32]=0 129 gid[33]="SND-U7" as *u8 as i64; glab[33]="Unified send analytics (sent/delivered/opened/redeemed)" as *u8 as i64; ginc[33]="Postal / Sendoso" as *u8 as i64; gpath[33]="runtime/nx_send.nx" as *u8 as i64; gneed[33]="SEND-ANALYTICS" as *u8 as i64; ggrp[33]=4; gexc[33]=0 130 gid[34]="SND-U8" as *u8 as i64; glab[34]="Approval + budget workflow" as *u8 as i64; ginc[34]="Sendoso / Reachdesk" as *u8 as i64; gpath[34]="runtime/nx_send.nx" as *u8 as i64; gneed[34]="SEND-APPROVAL" as *u8 as i64; ggrp[34]=4; gexc[34]=0 131 132 // ---- read each axis symbol, classify, count ---- 133 var exceeds: i64 = 0 134 var present: i64 = 0 135 var absent: i64 = 0 136 var i: i64 = 0 137 while i < N { 138 let r: i64 = lc_file_has(gpath[i] as *u8, gneed[i] as *u8, buf, cap) 139 gread[i] = r 140 var cls: i64 = 0 141 if r == 1 { 142 if gexc[i] == 1 { cls = 2; exceeds = exceeds + 1 } else { cls = 1; present = present + 1 } 143 } else { 144 absent = absent + 1 145 } 146 gcls[i] = cls 147 i = i + 1 148 } 149 let cov: i64 = (present + exceeds) * 1000 / N 150 151 var html: i64 = 0 152 if argc > 1 { if seq(argv[1] as *u8, "html" as *u8) == 1 { html = 1 } } 153 154 if html == 1 { 155 p("<html><head><meta charset='utf-8'><meta name='viewport' content='width=device-width,initial-scale=1'>" as *u8) 156 p("<title>Nishi Compare -- Sending and Mail</title><style>" as *u8) 157 p(":root{color-scheme:dark light}" as *u8) 158 p("body{margin:0;background:rgb(13,15,20);color:rgb(228,230,235);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}" as *u8) 159 p(".wrap{max-width:1000px;margin:0 auto;padding:28px 20px 64px}" as *u8) 160 p("a{color:rgb(120,170,255);text-decoration:none}" as *u8) 161 p("h1{font-size:30px;margin:6px 0 2px}.sub{color:rgb(150,155,165);font-size:15px;margin-bottom:20px}" as *u8) 162 p(".ban{background:rgb(20,23,30);border:1px solid rgb(38,42,52);border-radius:14px;padding:16px 18px;margin:14px 0 22px}" as *u8) 163 p(".big{font-size:22px;font-weight:700}.big b{color:rgb(90,200,140)}" as *u8) 164 p(".legend span{display:inline-block;margin-right:14px;font-size:13px;color:rgb(170,175,185)}" as *u8) 165 p(".dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}" as *u8) 166 p("table{width:100%;border-collapse:collapse;font-size:14px}" as *u8) 167 p("td{padding:9px 10px;border-bottom:1px solid rgb(30,34,43);vertical-align:top}" as *u8) 168 p(".grp td{background:rgb(18,21,27);color:rgb(150,200,255);font-weight:700;letter-spacing:.3px;font-size:13px;text-transform:uppercase}" as *u8) 169 p(".cap{width:46%}.id{color:rgb(110,116,128);font-size:11px;font-weight:700;margin-right:6px}" as *u8) 170 p(".ni{width:16%;color:rgb(200,205,214)}.so{width:22%;color:rgb(160,165,175)}" as *u8) 171 p(".pill{display:inline-block;padding:3px 9px;border-radius:999px;color:white;font-size:11px;font-weight:700;letter-spacing:.3px}" as *u8) 172 p(".foot{margin-top:26px;color:rgb(150,155,165);font-size:13px}.foot b{color:rgb(210,215,224)}" as *u8) 173 p("@media(prefers-color-scheme:light){body{background:rgb(250,250,252);color:rgb(20,24,32)}.ban{background:white;border-color:rgb(226,228,234)}.grp td{background:rgb(238,242,250);color:rgb(30,90,190)}td{border-color:rgb(232,234,240)}.ni{color:rgb(40,46,58)}.so{color:rgb(90,96,110)}}" as *u8) 174 p("</style></head><body><div class='wrap'>" as *u8) 175 p("<div class='sub'><a href='/compare'>Nishi Compare</a> / Sending and Mail</div>" as *u8) 176 p("<h1>Nishi Sending and Mail vs the field</h1>" as *u8) 177 p("<div class='sub'>Physical + digital in one place -- mechanically measured by reading real organ source, not analyst opinion. Send a postcard, letter, card, or gift as easily as an email.</div>" as *u8) 178 p("<div class='ban'><div class='big'>Coverage <b>" as *u8); pn(cov); p(" / 1000</b></div>" as *u8) 179 p("<div class='sub' style='margin:6px 0 10px'>Capability PRESENCE across " as *u8); pn(N); p(" axes of the sending surface -- " as *u8) 180 pn(exceeds); p(" sovereign edge, " as *u8); pn(present); p(" present, " as *u8); pn(absent); p(" on the roadmap. Presence, not depth-parity: the incumbents lead on breadth + hands-off logistics; Nishi leads on sovereignty (runs on your hardware, no data leaves for a SaaS to send).</div>" as *u8) 181 p("<div class='legend'><span><i class='dot' style='background:rgb(34,160,90)'></i>EXCEEDS -- sovereign edge</span><span><i class='dot' style='background:rgb(40,110,210)'></i>PRESENT -- built + gated</span><span><i class='dot' style='background:rgb(120,124,134)'></i>ROADMAP -- next rungs</span></div></div>" as *u8) 182 p("<table>" as *u8) 183 var g: i64 = 0 - 1 184 var j: i64 = 0 185 while j < N { 186 if ggrp[j] != g { 187 g = ggrp[j] 188 p("<tr class='grp'><td colspan='4'>" as *u8); p(grpname(g)); p("</td></tr>\n" as *u8) 189 } 190 emit_row(gid[j] as *u8, glab[j] as *u8, ginc[j] as *u8, gcls[j]) 191 j = j + 1 192 } 193 p("</table>" as *u8) 194 p("<div class='foot'><b>The sovereign edge (the 2 EXCEEDS):</b> anti-spoof SPF/DKIM/DMARC on integer-deterministic ed25519 crypto (no openssl/opendkim), and an own print pipeline that composes a raster and drives a real printer over URF/IPP with no cloud print service. <b>The roadmap</b> is the whole physical + gifts + unified-send surface: postcard/letter/card composition to a print-ready piece, a structured postal address book, a unified send-intent that lets one recipient get an email OR a postcard OR a gift from one surface, and modern compose UX. " as *u8) 195 p("Competitor rows reflect public product docs + USPS standards (2025-26); Nishi rows are live symbol reads of on-disk source. Generated by <b>nx_swcompare_sending</b>, liar-killed both directions.</div>" as *u8) 196 p("</div></body></html>\n" as *u8) 197 return 0 198 } 199 200 // ---- console census + liar-kill gate ---- 201 p("=== NX-SWCOMPARE-SENDING -- Nishi mail/sending MEASURED vs Gmail/Superhuman/HEY/Lob/PostGrid/Postal.io/TouchNote ===\n" as *u8) 202 var g2: i64 = 0 - 1 203 var k2: i64 = 0 204 while k2 < N { 205 if ggrp[k2] != g2 { g2 = ggrp[k2]; p("\n-- " as *u8); p(grpname(g2)); p(" --\n" as *u8) } 206 con_row(gid[k2] as *u8, glab[k2] as *u8, ginc[k2] as *u8, gcls[k2]) 207 k2 = k2 + 1 208 } 209 210 // controls + grounding 211 let negctl: i64 = lc_file_has("runtime/nx_email_auth.nx" as *u8, "ZZQX_NOT_A_REAL_SYMBOL_QWERTY" as *u8, buf, cap) 212 let posctl: i64 = lc_file_has("runtime/nx_email_auth.nx" as *u8, "nx_dmarc_policy" as *u8, buf, cap) 213 let bar1: i64 = lc_file_has("knowledge/compare/sending-bar.txt" as *u8, "Lob" as *u8, buf, cap) 214 let bar2: i64 = lc_file_has("knowledge/compare/sending-bar.txt" as *u8, "Superhuman" as *u8, buf, cap) 215 let bar3: i64 = lc_file_has("knowledge/compare/sending-bar.txt" as *u8, "USPS" as *u8, buf, cap) 216 let bar4: i64 = lc_file_has("knowledge/compare/sending-bar.txt" as *u8, "Postal.io" as *u8, buf, cap) 217 218 var ok: i64 = 1 219 if exceeds != 2 { ok = 0 } 220 if present != 16 { ok = 0 } 221 if absent != 17 { ok = 0 } 222 if (exceeds + present + absent) != N { ok = 0 } 223 if negctl != 0 { ok = 0 } 224 if posctl != 1 { ok = 0 } 225 if bar1 != 1 { ok = 0 } 226 if bar2 != 1 { ok = 0 } 227 if bar3 != 1 { ok = 0 } 228 if bar4 != 1 { ok = 0 } 229 230 p("\nSND-SENDING-CENSUS coverage=" as *u8); pn(cov); p("/1000 exceeds=" as *u8); pn(exceeds) 231 p(" present=" as *u8); pn(present); p(" absent=" as *u8); pn(absent); p(" of=" as *u8); pn(N) 232 p(" negctl=" as *u8); pn(negctl); p(" posctl=" as *u8); pn(posctl) 233 p(" grounded=" as *u8); pn(bar1 + bar2 + bar3 + bar4) 234 if ok == 1 { p(" verdict=GREEN\n" as *u8); return 0 } 235 p(" verdict=RED\n" as *u8) 236 return 1 237}