sx-host plan steps 1-2: defhelper + SX config + SXTP spec + nav tools

Step 1 — defhelper: SX-defined page data helpers replace Python helpers.
(defhelper name (params) body) in .sx files, using existing IO primitives
(query, action, service). Loaded into OCaml kernel as pure SX defines.

Step 2 — SX config: app-config.sx replaces app-config.yaml with (defconfig)
form. (env-get "VAR") resolves secrets from environment. Kebab-to-underscore
aliasing ensures backward compatibility with all 174 config consumers.

Also: SXTP protocol spec (applications/sxtp/spec.sx), docs article,
sx_nav move/delete modes, reactive-runtime moved to geography.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 15:18:45 +00:00
parent 27fd470ac8
commit 153f02c672
14 changed files with 734 additions and 43 deletions

View File

@@ -77,7 +77,11 @@
:href "/sx/(geography.(cek))"
:label "CEK Machine"
:children cek-nav-items)
(dict :href "/sx/(geography.(capabilities))" :label "Capabilities")))
(dict :href "/sx/(geography.(capabilities))" :label "Capabilities")
(dict
:href "/sx/(geography.(reactive-runtime))"
:label "Reactive Runtime"
:children reactive-runtime-nav-items)))
(dict
:href "/sx/(language)"
:label "Language"
@@ -115,13 +119,10 @@
:label "Protocols"
:children protocols-nav-items)
(dict :href "/sx/(applications.(sx-pub))" :label "sx-pub")
(dict
:href "/sx/(applications.(reactive-runtime))"
:label "Reactive Runtime"
:children reactive-runtime-nav-items)
(dict
:href "/sx/(applications.(native-browser))"
:label "Native Browser")))
:label "Native Browser")
(dict :href "/sx/(applications.(sxtp))" :label "SXTP Protocol")))
(dict :href "/sx/(tools)" :label "Tools" :children tools-nav-items)
(dict
:href "/sx/(etc)"