code wiki / _hdl_build / nx_wiki_products_page.nx
nx_wiki_products_page.nx
buildroot/runtime/_hdl_build/nx_wiki_products_page.nx
about
nx_wiki_products_page.nx -- ★SUPERSEDED 2026-08-01 by nx_product_board. DOES NOT WRITE ANY MORE.
RETRACTION (debt 1785625149): the header below claimed this page was "Sourced from
knowledge/registry/product_catalog.tsv" and the RENDERED PAGE repeated that claim to readers. It was
false. This organ contained no file read of any kind -- all 10 families and their representative
products were hardcoded string literals in the pr_row calls, so every edit to the catalog was
invisible here. A header that describes a capability the code does not have is itself a live defect.
The replacement, nx_product_board, reads the `products-` information plane and derives families from
the data, so a new product or family costs ONE row and no code.
WHY THIS FILE FAILS CLOSED INSTEAD OF BEING DELETED: it wrote web_assets/products.html, which a
publish step copies onto the live /wiki/products.html. Left runnable, ANY scheduled beat that still
calls it would silently overwrite the plane-driven board with the hardcoded one -- a revert that
looks like a successful run. It now refuses loudly and writes nothing, so a stale caller surfaces
itself instead of quietly undoing the fix.
ORIGINAL HEADER, kept for provenance and NO LONGER TRUE:
nx_wiki_products_page.nx -- GENERATE the live "Products" wiki article, a TYPED Diataxis REFERENCE page
built through the sovereign page builder (nx_wiki_shell) so it clears the full MediaWiki feature bar
(measured by nx_wiki_exceed). It is the catalog index: the ~62 products organized into 10 families from
knowledge/registry/product_catalog.tsv, each with the governance contract it inherits. Walkable: full
walk furniture via nx_wiki_shell. Emits web_assets/products.html (-> nishifamily.com/wiki/products.html).
license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_wiki_shell.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
| 29 | const PR_OUT: *u8 = "web_assets/products.html" |
| 30 | const PR_CAP: i64 = 262144 |
functions
| 33 | func pr_cat_esc(dst: *u8, off: i64, s: *u8) -> i64 |
| 47 | func pr_row(dst: *u8, off: i64, fam: *u8, items: *u8, gov: *u8) -> i64 |
| 56 | func main() -> i64 |
| 65 | func pr_main_retired() -> i64 |