Replace the NODE_EVAL example with the faithful C++-fivenode Require()
port: FN_REQUIRE/FN_CALL/FN_END over a persistent node sidecar, pure-Go
glue, no C. Live demo at solmade.kr/qrcode.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite §7 around the C→Go goal: reach external code without C/CGO. Path
(a) Go-package RTL (first choice); path (b) npm via pure-Go nodertl
(NODE_EVAL → node subprocess), with the real article_qr.prg example. Mark
the C N-API Require()/koffi path as legacy (needs C Harbour — avoid).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add idioms §7: the two ways PRG reaches the outside world — Go RTL
(fivenode_go, single binary, production) vs Node Require() (original
fivenode, N-API; call npm directly with no wrapper). Includes the proven
Require/aWait/__end__ patterns and when to pick Node. Example reference:
napi/test/api/sharekit.prg (npm qrcode + Node crypto/os in one PRG).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Corpus indexed into KWONDoc's bluge index (~/.kwondoc/search-index,
category five-rag) so bluge_search surfaces it; README documents the
re-index command (cmd/ragindex online upsert, doesn't wipe other docs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 04-idioms: document the lint.sh + smoke_test.sh gates and their wiring
(build.sh gate, pre-commit hook, deploy-time smoke).
- search.sh: ripgrep/grep keyword ranker over the corpus (keywords ×3 +
body), prints ranked docs + matching section headers — makes the RAG
searchable with no index to build. README updated.
- Note: KWONDoc bluge MCP/CLI was unavailable here (MCP not connected;
CLI license-gated), so search.sh delivers the "searchable" goal now; a
bluge/embeddings index can ingest the same .md files later.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Capture the hardening patterns from the solmade audit so future Five work
reuses them: authorize on resolved function name (not URL path), CSPRNG
session tokens stored as hashes, argon2id with legacy-verify + upgrade,
login rate-limit + timing-safe dummy hash, bluemonday HTML sanitize vs
EscHtml, security headers + nonce CSP, upload allowlist (no SVG), bind-all
SQL. Theme: thin Go RTL over an ecosystem crypto lib. INDEX/README updated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Update idioms skeleton to use REQUIRE_PG/REQUIRE_JSON_BODY/API_OK/API_ERR,
and add the style rule banning inline ';' multi-statements (visual-review
readability) to idioms + gotchas.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A retrieval-ready knowledge base so an LLM can read/write Five without
prior training: overview, syntax, full RTL catalog (from hbrtl/register.go),
web/worker idioms (from the solmade app), and a long-tail gotchas file.
Every doc has keyword/summary frontmatter; INDEX.md is the routing manifest.
Grounded by parallel source exploration; RTL names spot-checked against
register.go. The gotchas file is the compounding asset — append new traps.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>