code wiki / (root) / nx_writehub_research_fetch.nx

nx_writehub_research_fetch.nx source

↩ module page · 108 lines · 9544 B

1// nx_writehub_research_fetch.nx -- SOVEREIGN research round for the WRITING HUB (operator 2026-06-30: 2// "use nishi researcher to ingest these and other good repos research papers etc ... census on autonomous 3// writing from erotica to novels to fiction to non-fiction ... match google's alpha series and go s-class 4// exceed ... a writing hub for all our systems ... growing on its own and autonomously improving"). 5// Mirrors nx_asr_research_fetch EXACTLY: own TLS-1.3 + Mozilla CA, idempotent have-skip, nx_cc->nxasm. 6// Banks the autonomous-writing frontier -- the named repos, the SOTA papers, the narrative-craft canon, 7// and the four new HUB axes (companion/persona, D&D/interactive-fiction, image-prompt synthesis, eval) -- 8// -> knowledge/fetched/write_*.raw so the census + ladder are grounded in cited sources before a line of 9// hub code is written. Third-party repos/papers are YARDSTICKS we measure-and-exceed, never dependencies. 10// expect_exit: 0 license_tier: ORIGINAL module: nishi-core.writehub.research 11import "nx_syscalls.nx" 12import "nx_x509_trust_store.nx" 13import "nx_trust_store_load_from_certdata.nx" 14import "nx_https_fetch_follow.nx" 15const K_MAGIC_4194304: i64 = 4194304 16const K_MAGIC_8388608: i64 = 8388608 17 18func df_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 19func df_putn(v: i64) -> i64 { 20 if v == 0 { sys_write(1, "0" as *u8, 1); return 0 } 21 var m: i64 = v 22 if m < 0 { sys_write(1, "-" as *u8, 1); m = 0 - m } 23 let d: *u8 = sys_mmap(24); var k: i64 = 0 24 while m > 0 { d[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 25 var j: i64 = k - 1 26 while j >= 0 { sys_write(1, ((d as i64)+j) as *u8, 1); j = j - 1 } 27 return 0 28} 29func have_file(path: *u8) -> i64 { let fd: i64 = sys_openat_rd(path); if fd < 0 { return 0 } sys_close(fd); return 1 } 30func fetch_save(url: *u8, opath: *u8, store: *TrustStore, out: *u8, cap: i64) -> i64 { 31 if have_file(opath) == 1 { df_puts(opath); df_puts(" [have-skip]\n" as *u8); return 1 } 32 let status: *i64 = sys_mmap(8) as *i64 33 let n: i64 = nx_https_fetch_follow(url, store, out, cap, 6, status) 34 df_puts(url); df_puts(" status=" as *u8); df_putn(status[0]); df_puts(" bytes=" as *u8); df_putn(n) 35 if n <= 0 { df_puts(" FETCH-FAIL\n" as *u8); return 0 } 36 var gz: i64 = 0 37 if n >= 2 { if out[0] == 0x1f as u8 { if out[1] == 0x8b as u8 { gz = 1 } } } 38 if gz == 1 { df_puts(" [GZIP-skip]\n" as *u8); return 0 } 39 let fd: i64 = sys_openat_wr(opath, 0x1a4) 40 if fd < 0 { df_puts(" SAVE-FAIL\n" as *u8); return 0 } 41 sys_write(fd, out, n); sys_close(fd) 42 df_puts(" SAVED\n" as *u8) 43 return 1 44} 45 46func main() -> i64 { 47 let r: i64 = nx_trust_store_load_from_certdata("data/mozilla_certdata.txt" as *u8, 512, K_MAGIC_4194304) 48 if r <= 0 { df_puts("WRITEHUB: certdata load failed\n" as *u8); return 1 } 49 let store: *TrustStore = r as *TrustStore 50 df_puts("CA roots=" as *u8); df_putn(trust_store_count(store)); df_puts("\n" as *u8) 51 let cap: i64 = K_MAGIC_8388608 52 let out: *u8 = sys_mmap(cap) 53 var ok: i64 = 0 54 55 df_puts("== AUTONOMOUS-WRITING SYSTEMS (the named repos + frontier, ingest as yardsticks) ==\n" as *u8) 56 ok = ok + fetch_save("https://github.com/NousResearch/autonovel" as *u8, "knowledge/fetched/write_repo_autonovel.raw" as *u8, store, out, cap) 57 ok = ok + fetch_save("https://github.com/karpathy/autoresearch" as *u8, "knowledge/fetched/write_repo_autoresearch.raw" as *u8, store, out, cap) 58 ok = ok + fetch_save("https://github.com/guerra2fernando/libriscribe" as *u8, "knowledge/fetched/write_repo_libriscribe.raw" as *u8, store, out, cap) 59 ok = ok + fetch_save("https://github.com/forsonny/Claude-Code-Novel-Writer" as *u8, "knowledge/fetched/write_repo_ccnovel.raw" as *u8, store, out, cap) 60 ok = ok + fetch_save("https://github.com/KudoShusak/NovelWriter" as *u8, "knowledge/fetched/write_repo_novelwriter.raw" as *u8, store, out, cap) 61 ok = ok + fetch_save("https://github.com/principia-ai/WriteHERE" as *u8, "knowledge/fetched/write_repo_writehere.raw" as *u8, store, out, cap) 62 ok = ok + fetch_save("https://github.com/Aftabbs/Book-Writing-AI-Agent" as *u8, "knowledge/fetched/write_repo_bookagent.raw" as *u8, store, out, cap) 63 ok = ok + fetch_save("https://github.com/raestrada/storycraftr" as *u8, "knowledge/fetched/write_repo_storycraftr.raw" as *u8, store, out, cap) 64 65 df_puts("== SOTA PAPERS (multi-agent narrative, long-form, benchmarks) ==\n" as *u8) 66 ok = ok + fetch_save("https://arxiv.org/abs/2410.02603" as *u8, "knowledge/fetched/write_paper_agentsroom.raw" as *u8, store, out, cap) 67 ok = ok + fetch_save("https://arxiv.org/abs/2305.13304" as *u8, "knowledge/fetched/write_paper_recurrentgpt.raw" as *u8, store, out, cap) 68 ok = ok + fetch_save("https://arxiv.org/abs/2510.11618" as *u8, "knowledge/fetched/write_paper_storybox.raw" as *u8, store, out, cap) 69 ok = ok + fetch_save("https://arxiv.org/abs/2506.16445" as *u8, "knowledge/fetched/write_paper_multiagent_longstory.raw" as *u8, store, out, cap) 70 ok = ok + fetch_save("https://arxiv.org/abs/2506.18841" as *u8, "knowledge/fetched/write_paper_longwriterzero.raw" as *u8, store, out, cap) 71 ok = ok + fetch_save("https://arxiv.org/abs/2409.02076" as *u8, "knowledge/fetched/write_paper_longgenbench.raw" as *u8, store, out, cap) 72 ok = ok + fetch_save("https://arxiv.org/abs/2505.14818" as *u8, "knowledge/fetched/write_paper_webnovelbench.raw" as *u8, store, out, cap) 73 ok = ok + fetch_save("https://arxiv.org/abs/2503.05244" as *u8, "knowledge/fetched/write_paper_writingbench.raw" as *u8, store, out, cap) 74 75 df_puts("== NARRATIVE CRAFT (the deterministic craft canon) ==\n" as *u8) 76 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Three-act_structure" as *u8, "knowledge/fetched/write_craft_threeact.raw" as *u8, store, out, cap) 77 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Dramatic_structure" as *u8, "knowledge/fetched/write_craft_dramatic.raw" as *u8, store, out, cap) 78 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Hero%27s_journey" as *u8, "knowledge/fetched/write_craft_herojourney.raw" as *u8, store, out, cap) 79 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Characterization" as *u8, "knowledge/fetched/write_craft_characterization.raw" as *u8, store, out, cap) 80 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Worldbuilding" as *u8, "knowledge/fetched/write_craft_worldbuilding.raw" as *u8, store, out, cap) 81 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Show,_don%27t_tell" as *u8, "knowledge/fetched/write_craft_showdonttell.raw" as *u8, store, out, cap) 82 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Dialogue" as *u8, "knowledge/fetched/write_craft_dialogue.raw" as *u8, store, out, cap) 83 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Creative_writing" as *u8, "knowledge/fetched/write_craft_creativewriting.raw" as *u8, store, out, cap) 84 85 df_puts("== COMPANION / PERSONA (Elara-class interactive persona) ==\n" as *u8) 86 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Chatbot" as *u8, "knowledge/fetched/write_comp_chatbot.raw" as *u8, store, out, cap) 87 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Virtual_assistant" as *u8, "knowledge/fetched/write_comp_assistant.raw" as *u8, store, out, cap) 88 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Affective_computing" as *u8, "knowledge/fetched/write_comp_affective.raw" as *u8, store, out, cap) 89 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Character.ai" as *u8, "knowledge/fetched/write_comp_characterai.raw" as *u8, store, out, cap) 90 91 df_puts("== D&D / INTERACTIVE FICTION (the game-master surface) ==\n" as *u8) 92 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Dungeons_%26_Dragons" as *u8, "knowledge/fetched/write_dnd_dnd.raw" as *u8, store, out, cap) 93 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Game_master" as *u8, "knowledge/fetched/write_dnd_gm.raw" as *u8, store, out, cap) 94 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Tabletop_role-playing_game" as *u8, "knowledge/fetched/write_dnd_ttrpg.raw" as *u8, store, out, cap) 95 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Interactive_fiction" as *u8, "knowledge/fetched/write_dnd_if.raw" as *u8, store, out, cap) 96 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Gamebook" as *u8, "knowledge/fetched/write_dnd_gamebook.raw" as *u8, store, out, cap) 97 98 df_puts("== IMAGE-PROMPT SYNTHESIS (writer -> local image-gen) + EVAL ==\n" as *u8) 99 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Text-to-image_model" as *u8, "knowledge/fetched/write_img_t2i.raw" as *u8, store, out, cap) 100 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Prompt_engineering" as *u8, "knowledge/fetched/write_img_prompt.raw" as *u8, store, out, cap) 101 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Diffusion_model" as *u8, "knowledge/fetched/write_img_diffusion.raw" as *u8, store, out, cap) 102 ok = ok + fetch_save("https://en.wikipedia.org/wiki/Automated_essay_scoring" as *u8, "knowledge/fetched/write_eval_aes.raw" as *u8, store, out, cap) 103 104 df_puts("writehub research: fetched/have=" as *u8); df_putn(ok); df_puts(" / 35\n" as *u8) 105 if ok >= 27 { df_puts("verdict=GREEN (writing-hub corpus on disk; grep knowledge/fetched/write_*.raw to ground the census + ladder)\n" as *u8); sys_exit(0); return 0 } 106 df_puts("verdict=PARTIAL (re-run to resume -- idempotent have-skip)\n" as *u8) 107 sys_exit(1); return 1 108}