Open and answer this issue on GitHub.
blocked · opened 2026-10-18 · updated 2026-10-18 · 0 comments
A prototype of the page generation exists as a Nikaia program (nikaia check passes; on two test issues it writes byte-identical issues/<n>.md pages and the same issues.md index as the Python version). It reads an issues.json that someone else fetched. What it cannot do yet: fetch (--generate, the site-issues bundle download, the fallback to the API), read GITHUB_TOKEN, print the read time, decode \uXXXX.
Compared with Python: the page-building code is about the same size and reads as well; the difference is JSON (grammar + accessors, about 85 lines) and string loops where Python has re.
stdstd::envstd::json\uXXXX decodingstd::timetools/site-issues.nika with the prototype’s page code (index, issue page, demoted, bundle write with the PAGE_PATH check).--generate DIR and the bundle download with fallback, once the blockers are built.scripts/site-build.sh and .github/workflows/issues-page.yml call nikaia run; scripts/site-issues.py is deleted.scripts/self_hosting.py if that table covers it.Findings from writing it, to fix in the compiler/diagnostics where they chafe: None/Some, _ =>, |x| lambdas and .to_string() on ref String were written Rust-style and refused (the messages named the right spelling).