nx_entity_seeds.nx
buildroot/runtime/nx_entity_seeds.nx
about
nx_entity_seeds.nx -- SEED DISCOVERY: turn one entity page into the list of OTHER pages about that entity.
Why this exists: our own index holds exactly ONE page for some entities, so search cannot supply seeds --
a measured dead end, not a guess. Seeds must come from STRUCTURE instead: an entity's page links out to
the other pages about it (filmography, official site, profiles, references). This fetches a page over
sovereign TLS (dechunk -> gunzip, same wire order as the gatherer), enumerates every <a href>, resolves
them absolute, and keeps the ones whose URL carries a token of the entity's name.
The output is a plain seed list, one URL per line, so the gatherer can be run once per seed. Cross-seed
dedupe is FREE and needs no state: assets are sha256 content-addressed, so the same image reached from two
different seeds writes the same filename.
usage: nx_entity_seeds <page-url> <name-token> <out-file> [max]
dependencies 9 imports · 0 importers
imports: nx_str.nxnx_syscalls.nxnx_csprng.nxnx_x509_trust_store.nxnx_pem_loader.nxnx_https_get.nxnx_html_extract_links.nxnx_inflate.nxnx_http_dechunk.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
| 25 | const ES_PAGE_CAP: i64 = 4194304 |
| 26 | const ES_URLBUF: i64 = 2097152 |
| 27 | const ES_MAX_LINKS: i64 = 4096 |
| 28 | const ES_PATHBUF: i64 = 4096 |
functions
| 30 | func es_puts(s: *u8) -> i64 { sys_write(1, s, nx_str_len(s)); return 0 } |
| 31 | func es_w(fd: i64, s: *u8) -> i64 { sys_write(fd, s, nx_str_len(s)); return 0 } |
| 33 | func es_pi(v: i64) -> i64 |
| 47 | func es_atoi(s: *u8) -> i64 called by 1: main |
| 58 | func es_lc(c: i64) -> i64 { if c >= 65 { if c <= 90 { return c + 32 } } return c } called by 1: es_has_tok |
| 60 | func es_body_off(resp: *u8, n: i64) -> i64 called by 1: main |
| 69 | func es_inflate_if_gzip(src: *u8, n: i64, dst: *u8, cap: i64) -> i64 |
| 78 | func es_is_http(u: *u8, n: i64) -> i64 called by 1: main |
| 88 | func es_has_tok(u: *u8, n: i64, tok: *u8) -> i64 |
| 104 | func es_hasch(u: *u8, n: i64, ch: i64) -> i64 called by 1: main |
| 111 | func es_seen(keep: *u8, koff: *i64, klen: *i64, nk: i64, u: *u8, n: i64) -> i64 called by 1: main |
| 125 | func main(argc: i64, argv: *i64) -> i64 |