host: revert legacy-editor shims — clean over fancy, 181/181
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 20s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 20s
Pull out the debt that revived the legacy editor: removed kg-compat.sx (uncommitted bare->namespaced kg-card aliases), the ./blog container mount, the legacy sx-editor.js + hardcoded asset URLs + ~editor/sx-editor-styles reuse at /new, and the blog/sx preloads. /new is now a clean minimal form. Finding that reshapes Phase 5: render-page (5.1) renders STATIC component trees but is NOT the full evaluator — a component with a data loop ((map fn items) over (unquote data)) errors 'Not callable: nil'. So clean dynamic component pages + a native island editor need the aser SSR pipeline (5.2), not just render-page. Posts still render via per-block guarded render-page; unsupported editor cards (~kg-md) show placeholders by design (no alias shim). All endpoints 200, boot clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -228,9 +228,21 @@ Sub-steps (each independently gated/verified):
|
||||
mangling). Root cause confirmed: bare render-to-html on an *evaluated* tree
|
||||
mangles attrs; `render-page` renders the *unevaluated* expr so expansion +
|
||||
attr-collection happen in render-to-html.
|
||||
- [ ] **5.2 Shell statics in the host env.** Run `http_inject_shell_statics` for
|
||||
the host's loaded components so the shell can inline defs/CSS/asset-hashes.
|
||||
Gate: a full page shell emits with component defs inlined.
|
||||
- [ ] **5.2 Shell statics + aser SSR (the real dynamic-page path).** `render-page`
|
||||
(5.1) renders STATIC component trees, but is NOT the full evaluator —
|
||||
dynamic-logic bodies fail (proven: a component doing `(map fn items)` over
|
||||
`(unquote data)` → "Not callable: nil"). Clean dynamic component pages
|
||||
(a posts loop) + island pages therefore need the **aser** pipeline (evaluate
|
||||
control flow, serialise tags) + `http_inject_shell_statics` (component defs /
|
||||
CSS / asset hashes) + `~shared:shell/sx-page-shell`. Gate: a page with a data
|
||||
loop renders, and a full shell emits with defs inlined.
|
||||
NOTE (2026-06-19): the legacy-editor stopgaps (kg-compat aliases, `./blog`
|
||||
mount, legacy `sx-editor.js` + hardcoded asset URLs at `/new`, the
|
||||
`~editor/sx-editor-styles` reuse) were REVERTED — they were debt to revive
|
||||
stale code. `/new` is now a clean minimal form; host pages still use minimal
|
||||
shell HTML until the aser path lands. Posts render via per-block guarded
|
||||
`render-page`; unsupported editor cards (e.g. `~kg-md`) show placeholders by
|
||||
design (no alias shim).
|
||||
- [ ] **5.3 Static-asset serving.** Serve `/scripts/*.js`, `/*.css`, `/wasm/*`
|
||||
from `shared/static`. Host has none today — needs a kernel file-serving
|
||||
route in the `http-listen` server (or a file-read prim + SX static handler).
|
||||
|
||||
Reference in New Issue
Block a user