code wiki / _hdl_build / nx_wiki_lessons_push.nx
nx_wiki_lessons_push.nx
buildroot/runtime/_hdl_build/nx_wiki_lessons_push.nx
about
nx_wiki_lessons_push.nx -- push the live wiki SOURCE (lessons + codec-arc status) to the NAS
wiki-content/ dir the wiki daemon ingests, so the documentation is live + accurate as we work.
ADDITIVE by construction: each push is `mkdir -p <dir>; cat > <dir>/<f>` -- writes exactly that
one file, never deletes/clobbers anything else (CLAUDE.md #13 additive-only on production).
REUSE (DRY #15): the proven sovereign push spine _offc/nx_aw_push.elf in argv mode (argc>=3:
src-spec-file + dst-cmd-file), exactly as nx_figures_data_push drives it -- per-file spec files so
it never collides with the page publisher's default awpush.src/.dst. Each push is a SEPARATE forked
process (its sys_read_file reservation lives in the child). license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_itoa_lib.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 12 | const WL_MAGIC_1024: i64 = 1024 |
| 14 | const WL_NASDIR: *u8 = "/volume1/homes/elderwesto/nishihost/wiki-content" as *u8 |
| 15 | const WL_LOCDIR: *u8 = "knowledge/wiki-content/" as *u8 |
| 16 | const WL_PUSH_ELF: *u8 = "_offc/nx_aw_push.elf" as *u8 |
| 17 | const WL_MODE_0644: i64 = 0x1a4 |
functions
| 19 | func wl_w(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 20 | func wl_cat(dst: *u8, off: i64, s: *u8) -> i64 { var o: i64 = off; var i: i64 = 0; while s[i] != 0 as u8 { dst[o] = s[i]; o = o + 1; i = i + 1 } return o } called by 1: wl_push_one |
| 22 | func wl_write_file(path: *u8, content: *u8, clen: i64) -> i64 |
| 31 | func wl_run(src_spec: *u8, dst_spec: *u8) -> i64 |
| 53 | func wl_num(v: i64) -> i64 { nxi_out(v); return 0 } |
| 56 | func wl_push_one(fname: *u8, idx: i64) -> i64 |
| 81 | func main() -> i64 |