code wiki / _hdl_build / nx_citation_registry.nx

nx_citation_registry.nx

buildroot/runtime/_hdl_build/nx_citation_registry.nx

4972 B97 linesdepth 2pulls 2 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_citation_registry.nx -- the LIBRARIAN's external-reference rot guard. nx_librarian audits INTERNAL [[X]] doc links. This guards the EXTERNAL research references we ground the roadmap in (the rb_citation entries + module-header citations) as we build up from the hardware. The link-rot defence is structural: cite a STABLE scholarly anchor -- venue + year (POPL 2021), a DOI, an ISBN/book, a vendor doc number (Intel SDM), a datasheet, or an in-tree kernel doc path -- NOT a bare URL, which rots when the page moves. A reference with a permanent identifier is findable forever; a URL is not. The librarian ingests every roadmap reference and FAILS if any lacks a stable anchor. Cardinal #4 (verified facts) + the operator's standing rule: keep what we reference from rotting as the system grows bottom-up.

dependencies 1 imports · 1 importers

nx_syscalls.nx nx_citation_registry.nx nx_citation_registry_test.nx

imports: nx_syscalls.nx

imported by: nx_citation_registry_test.nx

structs

none

consts

72const CR_LIC_OPEN: i64 = 1 // arXiv / CC / public-domain / GPL in-tree / open blog -> may ingest content
73const CR_LIC_RESTRICTED: i64 = 2 // copyrighted book / paywalled journal / vendor spec -> metadata only
90const CR_FNV_OFFSET: i64 = 0 - 3750763034362895579
91const CR_FNV_PRIME: i64 = 1099511628211

functions

17func cr_strlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
20func cr_contains(hay: *u8, needle: *u8) -> i64
36func cr_has_year(s: *u8) -> i64
called by 1: cr_is_stable calls 1: cr_strlen
54func cr_is_stable(cite: *u8) -> i64
called by 1: main calls 2: cr_has_yearcr_contains
75func cr_license_class(cite: *u8) -> i64
called by 1: cr_may_ingest_content calls 1: cr_contains
86func cr_may_ingest_content(cite: *u8) -> i64 { if cr_license_class(cite) == CR_LIC_OPEN { return 1 } return 0 }
called by 1: main calls 1: cr_license_class
92func cr_hash(s: *u8, len: i64) -> i64