From 589507392cd4b1780c9c3fb993f371cbe0b9502f Mon Sep 17 00:00:00 2001 From: giles Date: Thu, 26 Mar 2026 16:08:49 +0000 Subject: [PATCH] Fix plans-nav-items: remove stale duplicate from nav-etc.sx nav-etc.sx had its own plans-nav-items (35 entries) that loaded after nav-data.sx (36 entries) and silently overwrote it, hiding sx-host. All nav items are now solely defined in nav-data.sx. Co-Authored-By: Claude Opus 4.6 (1M context) --- sx/sx/nav-data.sx | 39 ++++++++++++++++++++++++++++++++++++++- sx/sx/nav-etc.sx | 9 ++------- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/sx/sx/nav-data.sx b/sx/sx/nav-data.sx index fd3d7936..accfc688 100644 --- a/sx/sx/nav-data.sx +++ b/sx/sx/nav-data.sx @@ -22,9 +22,46 @@ (define cek-nav-items (list (dict :label "Overview" :href "/sx/(geography.(cek))" :summary "The CEK machine — explicit evaluator with Control, Environment, Kontinuation. Three registers, pure step function.") (dict :label "Demo" :href "/sx/(geography.(cek.demo))" :summary "Live islands evaluated by the CEK machine. Counter, computed chains, reactive attributes — all through explicit continuation frames.") (dict :label "Freeze / Thaw" :href "/sx/(geography.(cek.freeze))" :summary "Serialize a CEK state to s-expressions. Ship it, store it, content-address it. Thaw and resume anywhere.") (dict :label "Content Addressing" :href "/sx/(geography.(cek.content))" :summary "Hash frozen state to a CID. Same state = same address. Store, share, verify, reproduce."))) -(define plans-nav-items (list (dict :label "Status" :href "/sx/(etc.(plan.status))" :summary "Audit of all plans — what's done, what's in progress, and what remains.") (dict :label "Reader Macros" :href "/sx/(etc.(plan.reader-macros))" :summary "Extensible parse-time transformations via # dispatch — datum comments, raw strings, and quote shorthand.") (dict :label "Reader Macro Demo" :href "/sx/(etc.(plan.reader-macro-demo))" :summary "Live demo: #z3 translates SX spec declarations to SMT-LIB verification conditions.") (dict :label "Theorem Prover" :href "/sx/(etc.(plan.theorem-prover))" :summary "prove.sx — constraint solver and property prover for SX primitives, written in SX.") (dict :label "Self-Hosting Bootstrapper" :href "/sx/(etc.(plan.self-hosting-bootstrapper))" :summary "py.sx — an SX-to-Python translator written in SX. Complete: G0 == G1, 128/128 defines match.") (dict :label "JS Bootstrapper" :href "/sx/(etc.(plan.js-bootstrapper))" :summary "js.sx — SX-to-JavaScript translator + ahead-of-time component compiler. Zero-runtime static sites.") (dict :label "SX-Activity" :href "/sx/(etc.(plan.sx-activity))" :summary "A new web built on SX — executable content, shared components, parsers, and logic on IPFS, provenance on Bitcoin, all running within your own security context.") (dict :label "Predictive Prefetching" :href "/sx/(etc.(plan.predictive-prefetch))" :summary "Prefetch missing component definitions before the user clicks — hover a link, fetch its deps, navigate client-side.") (dict :label "Content-Addressed Components" :href "/sx/(etc.(plan.content-addressed-components))" :summary "Components identified by CID, stored on IPFS, fetched from anywhere. Canonical serialization, content verification, federated sharing.") (dict :label "Environment Images" :href "/sx/(etc.(plan.environment-images))" :summary "Serialize evaluated environments as content-addressed images. Spec CID → image CID → every endpoint is fully executable and verifiable.") (dict :label "Runtime Slicing" :href "/sx/(etc.(plan.runtime-slicing))" :summary "Tier the client runtime by need: L0 hypermedia (~5KB), L1 DOM ops (~8KB), L2 islands (~15KB), L3 full eval (~44KB). Sliced by slice.sx, translated by js.sx.") (dict :label "Typed SX" :href "/sx/(etc.(plan.typed-sx))" :summary "Gradual type system with static effect checking. Optional type annotations, deftype (aliases, unions, records), and effect declarations — checked at registration time, zero runtime cost. types.sx — specced, bootstrapped, catches composition and boundary errors.") (dict :label "Nav Redesign" :href "/sx/(etc.(plan.nav-redesign))" :summary "Replace menu bars with vertical breadcrumb navigation. Logo → section → page, arrows for siblings, children below. No dropdowns, no hamburger, infinite depth.") (dict :label "Fragment Protocol" :href "/sx/(etc.(plan.fragment-protocol))" :summary "Structured sexp request/response for cross-service component transfer.") (dict :label "Glue Decoupling" :href "/sx/(etc.(plan.glue-decoupling))" :summary "Eliminate all cross-app model imports via glue service layer.") (dict :label "Social Sharing" :href "/sx/(etc.(plan.social-sharing))" :summary "OAuth-based sharing to Facebook, Instagram, Threads, Twitter/X, LinkedIn, and Mastodon.") (dict :label "SX CI Pipeline" :href "/sx/(etc.(plan.sx-ci))" :summary "Build, test, and deploy in s-expressions — CI pipelines as SX components.") (dict :label "Live Streaming" :href "/sx/(etc.(plan.live-streaming))" :summary "SSE and WebSocket transports for re-resolving suspense slots after initial page load — live data, real-time collaboration.") (dict :label "sx-web Platform" :href "/sx/(etc.(plan.sx-web-platform))" :summary "sx-web.org as online development platform — embedded Claude Code, IPFS storage, sx-activity publishing, sx-ci testing. Author, stage, test, deploy from the browser.") (dict :label "sx-forge" :href "/sx/(etc.(plan.sx-forge))" :summary "Git forge in SX — repositories, issues, pull requests, CI, permissions, and federation. Configuration as macros, diffs as components.") (dict :label "sx-swarm" :href "/sx/(etc.(plan.sx-swarm))" :summary "Container orchestration in SX — service definitions, environment macros, deploy pipelines. Replace YAML with a real language.") (dict :label "sx-proxy" :href "/sx/(etc.(plan.sx-proxy))" :summary "Reverse proxy in SX — routes, TLS, middleware chains, load balancing. Macros generate config from the same service definitions as the orchestrator.") (dict :label "Async Eval Convergence" :href "/sx/(etc.(plan.async-eval-convergence))" :summary "Eliminate hand-written evaluators — bootstrap async_eval.py from the spec via an async adapter layer. One spec, one truth, zero divergence.") (dict :label "WASM Bytecode VM" :href "/sx/(etc.(plan.wasm-bytecode-vm))" :summary "Compile SX to bytecode, run in a Rust/WASM VM. Compact wire format, no parse overhead, near-native speed, DOM via JS bindings.") (dict :label "Generative SX" :href "/sx/(etc.(plan.generative-sx))" :summary "Programs that write themselves as they run — self-compiling specs, runtime self-extension, generative testing, seed networks.") (dict :label "Art DAG on SX" :href "/sx/(etc.(plan.art-dag-sx))" :summary "SX endpoints as portals into media processing environments — recipes as programs, split execution across GPU/cache/live boundaries, streaming AV output.") (dict :label "Spec Explorer" :href "/sx/(etc.(plan.spec-explorer))" :summary "The fifth ring — SX exploring itself. Per-function cards showing source, Python/JS/Z3 translations, platform dependencies, tests, proofs, and usage examples.") (dict :label "SX Protocol" :href "/sx/(etc.(plan.sx-protocol))" :summary "S-expressions as a universal protocol for networked hypermedia — replacing URLs, HTTP verbs, query languages, and rendering with one evaluable format.") (dict :label "Scoped Effects" :href "/sx/(etc.(plan.scoped-effects))" :summary "Algebraic effects as the unified foundation — spreads, islands, lakes, signals, and context are all instances of one primitive: a named scope with downward value, upward accumulation, and a propagation mode.") (dict :label "Foundations" :href "/sx/(etc.(plan.foundations))" :summary "The computational floor — from scoped effects through algebraic effects and delimited continuations to the CEK machine. Why three registers are irreducible, and the three-axis model (depth, topology, linearity).") (dict :label "Deref as Shift" :href "/sx/(etc.(plan.cek-reactive))" :summary "Phase B: replace explicit effect wrapping with implicit continuation capture. Deref inside reactive-reset performs shift, capturing the rest of the expression as the subscriber.") (dict :label "Rust/WASM Host" :href "/sx/(etc.(plan.rust-wasm-host))" :summary "Bootstrap the SX spec to Rust, compile to WASM, replace sx-browser.js. Shared platform layer for DOM, phased rollout from parse to full parity.") (dict :label "Isolated Evaluator" :href "/sx/(etc.(plan.isolated-evaluator))" :summary "Core/application split, shared sx-platform.js, isolated JS evaluator, Rust WASM via handle table. Only language-defining spec gets bootstrapped; everything else is runtime-evaluated .sx.") (dict :label "Mother Language" :href "/sx/(etc.(plan.mother-language))" :summary "SX as its own compiler. OCaml as substrate (closest to CEK), Koka as alternative (compile-time linearity), ultimately self-hosting. One language, every target.") (dict :label "sx-web" :href "/sx/(etc.(plan.sx-web))" :summary "Federated component web. Browser nodes via WebTransport, server nodes via IPFS, content-addressed SX verified by CID. In-browser editing, testing, publishing. AI composition over the federated graph.") (dict :label "sx-host" :href "/sx/(etc.(plan.sx-host))" :summary "Five irreducible IO primitives — read, write, store, retrieve, hash. Everything above (HTTP, SQL, TLS) is SX. Any device that moves bytes can host SX."))) +(define plans-nav-items (list (dict :label "Status" :href "/sx/(etc.(plan.status))" :summary "Audit of all plans — what's done, what's in progress, and what remains.") + (dict :label "Reader Macros" :href "/sx/(etc.(plan.reader-macros))" :summary "Extensible parse-time transformations via # dispatch — datum comments, raw strings, and quote shorthand.") + (dict :label "Reader Macro Demo" :href "/sx/(etc.(plan.reader-macro-demo))" :summary "Live demo: #z3 translates SX spec declarations to SMT-LIB verification conditions.") + (dict :label "Theorem Prover" :href "/sx/(etc.(plan.theorem-prover))" :summary "prove.sx — constraint solver and property prover for SX primitives, written in SX.") + (dict :label "Self-Hosting Bootstrapper" :href "/sx/(etc.(plan.self-hosting-bootstrapper))" :summary "py.sx — an SX-to-Python translator written in SX. Complete: G0 == G1, 128/128 defines match.") + (dict :label "JS Bootstrapper" :href "/sx/(etc.(plan.js-bootstrapper))" :summary "js.sx — SX-to-JavaScript translator + ahead-of-time component compiler. Zero-runtime static sites.") + (dict :label "SX-Activity" :href "/sx/(etc.(plan.sx-activity))" :summary "A new web built on SX — executable content, shared components, parsers, and logic on IPFS, provenance on Bitcoin, all running within your own security context.") + (dict :label "Predictive Prefetching" :href "/sx/(etc.(plan.predictive-prefetch))" :summary "Prefetch missing component definitions before the user clicks — hover a link, fetch its deps, navigate client-side.") + (dict :label "Content-Addressed Components" :href "/sx/(etc.(plan.content-addressed-components))" :summary "Components identified by CID, stored on IPFS, fetched from anywhere. Canonical serialization, content verification, federated sharing.") + (dict :label "Environment Images" :href "/sx/(etc.(plan.environment-images))" :summary "Serialize evaluated environments as content-addressed images. Spec CID → image CID → every endpoint is fully executable and verifiable.") + (dict :label "Runtime Slicing" :href "/sx/(etc.(plan.runtime-slicing))" :summary "Tier the client runtime by need: L0 hypermedia (~5KB), L1 DOM ops (~8KB), L2 islands (~15KB), L3 full eval (~44KB). Sliced by slice.sx, translated by js.sx.") + (dict :label "Typed SX" :href "/sx/(etc.(plan.typed-sx))" :summary "Gradual type system with static effect checking. Optional type annotations, deftype (aliases, unions, records), and effect declarations — checked at registration time, zero runtime cost. types.sx — specced, bootstrapped, catches composition and boundary errors.") + (dict :label "Nav Redesign" :href "/sx/(etc.(plan.nav-redesign))" :summary "Replace menu bars with vertical breadcrumb navigation. Logo → section → page, arrows for siblings, children below. No dropdowns, no hamburger, infinite depth.") + (dict :label "Fragment Protocol" :href "/sx/(etc.(plan.fragment-protocol))" :summary "Structured sexp request/response for cross-service component transfer.") + (dict :label "Glue Decoupling" :href "/sx/(etc.(plan.glue-decoupling))" :summary "Eliminate all cross-app model imports via glue service layer.") + (dict :label "Social Sharing" :href "/sx/(etc.(plan.social-sharing))" :summary "OAuth-based sharing to Facebook, Instagram, Threads, Twitter/X, LinkedIn, and Mastodon.") + (dict :label "SX CI Pipeline" :href "/sx/(etc.(plan.sx-ci))" :summary "Build, test, and deploy in s-expressions — CI pipelines as SX components.") + (dict :label "Live Streaming" :href "/sx/(etc.(plan.live-streaming))" :summary "SSE and WebSocket transports for re-resolving suspense slots after initial page load — live data, real-time collaboration.") + (dict :label "sx-web Platform" :href "/sx/(etc.(plan.sx-web-platform))" :summary "sx-web.org as online development platform — embedded Claude Code, IPFS storage, sx-activity publishing, sx-ci testing. Author, stage, test, deploy from the browser.") + (dict :label "sx-forge" :href "/sx/(etc.(plan.sx-forge))" :summary "Git forge in SX — repositories, issues, pull requests, CI, permissions, and federation. Configuration as macros, diffs as components.") + (dict :label "sx-swarm" :href "/sx/(etc.(plan.sx-swarm))" :summary "Container orchestration in SX — service definitions, environment macros, deploy pipelines. Replace YAML with a real language.") + (dict :label "sx-proxy" :href "/sx/(etc.(plan.sx-proxy))" :summary "Reverse proxy in SX — routes, TLS, middleware chains, load balancing. Macros generate config from the same service definitions as the orchestrator.") + (dict :label "Async Eval Convergence" :href "/sx/(etc.(plan.async-eval-convergence))" :summary "Eliminate hand-written evaluators — bootstrap async_eval.py from the spec via an async adapter layer. One spec, one truth, zero divergence.") + (dict :label "WASM Bytecode VM" :href "/sx/(etc.(plan.wasm-bytecode-vm))" :summary "Compile SX to bytecode, run in a Rust/WASM VM. Compact wire format, no parse overhead, near-native speed, DOM via JS bindings.") + (dict :label "Generative SX" :href "/sx/(etc.(plan.generative-sx))" :summary "Programs that write themselves as they run — self-compiling specs, runtime self-extension, generative testing, seed networks.") + (dict :label "Art DAG on SX" :href "/sx/(etc.(plan.art-dag-sx))" :summary "SX endpoints as portals into media processing environments — recipes as programs, split execution across GPU/cache/live boundaries, streaming AV output.") + (dict :label "Spec Explorer" :href "/sx/(etc.(plan.spec-explorer))" :summary "The fifth ring — SX exploring itself. Per-function cards showing source, Python/JS/Z3 translations, platform dependencies, tests, proofs, and usage examples.") + (dict :label "SX Protocol" :href "/sx/(etc.(plan.sx-protocol))" :summary "S-expressions as a universal protocol for networked hypermedia — replacing URLs, HTTP verbs, query languages, and rendering with one evaluable format.") + (dict :label "Scoped Effects" :href "/sx/(etc.(plan.scoped-effects))" :summary "Algebraic effects as the unified foundation — spreads, islands, lakes, signals, and context are all instances of one primitive: a named scope with downward value, upward accumulation, and a propagation mode.") + (dict :label "Foundations" :href "/sx/(etc.(plan.foundations))" :summary "The computational floor — from scoped effects through algebraic effects and delimited continuations to the CEK machine. Why three registers are irreducible, and the three-axis model (depth, topology, linearity).") + (dict :label "Deref as Shift" :href "/sx/(etc.(plan.cek-reactive))" :summary "Phase B: replace explicit effect wrapping with implicit continuation capture. Deref inside reactive-reset performs shift, capturing the rest of the expression as the subscriber.") + (dict :label "Rust/WASM Host" :href "/sx/(etc.(plan.rust-wasm-host))" :summary "Bootstrap the SX spec to Rust, compile to WASM, replace sx-browser.js. Shared platform layer for DOM, phased rollout from parse to full parity.") + (dict :label "Isolated Evaluator" :href "/sx/(etc.(plan.isolated-evaluator))" :summary "Core/application split, shared sx-platform.js, isolated JS evaluator, Rust WASM via handle table. Only language-defining spec gets bootstrapped; everything else is runtime-evaluated .sx.") + (dict :label "Mother Language" :href "/sx/(etc.(plan.mother-language))" :summary "SX as its own compiler. OCaml as substrate (closest to CEK), Koka as alternative (compile-time linearity), ultimately self-hosting. One language, every target.") + (dict :label "sx-web" :href "/sx/(etc.(plan.sx-web))" :summary "Federated component web. Browser nodes via WebTransport, server nodes via IPFS, content-addressed SX verified by CID. In-browser editing, testing, publishing. AI composition over the federated graph.") + (dict :label "sx-host" :href "/sx/(etc.(plan.sx-host))" :summary "Universal platform primitives."))) +(define reactive-examples-nav-items (list {:href "/sx/(geography.(reactive.(examples.counter)))" :label "Counter"} {:href "/sx/(geography.(reactive.(examples.temperature)))" :label "Temperature"} {:href "/sx/(geography.(reactive.(examples.stopwatch)))" :label "Stopwatch"} {:href "/sx/(geography.(reactive.(examples.imperative)))" :label "Imperative"} {:href "/sx/(geography.(reactive.(examples.reactive-list)))" :label "Reactive List"} {:href "/sx/(geography.(reactive.(examples.input-binding)))" :label "Input Binding"} {:href "/sx/(geography.(reactive.(examples.portal)))" :label "Portals"} {:href "/sx/(geography.(reactive.(examples.error-boundary)))" :label "Error Boundary"} {:href "/sx/(geography.(reactive.(examples.refs)))" :label "Refs"} {:href "/sx/(geography.(reactive.(examples.dynamic-class)))" :label "Dynamic Class"} {:href "/sx/(geography.(reactive.(examples.resource)))" :label "Resource"} {:href "/sx/(geography.(reactive.(examples.transition)))" :label "Transitions"} {:href "/sx/(geography.(reactive.(examples.stores)))" :label "Stores"} {:href "/sx/(geography.(reactive.(examples.event-bridge-demo)))" :label "Event Bridge"} {:href "/sx/(geography.(reactive.(examples.defisland)))" :label "defisland"} {:href "/sx/(geography.(reactive.(examples.tests)))" :label "Tests"} {:href "/sx/(geography.(reactive.(examples.coverage)))" :label "Coverage"} {:href "/sx/(geography.(reactive.(examples.cyst)))" :label "Cyst"} {:href "/sx/(geography.(reactive.(examples.reactive-expressions)))" :label "Reactive Expressions"})) + (define reactive-islands-nav-items (list (dict :label "Examples" :href "/sx/(geography.(reactive.(examples)))" :summary "Live interactive islands — click the buttons, type in the inputs." :children reactive-examples-nav-items))) (define marshes-examples-nav-items (list {:href "/sx/(geography.(marshes.hypermedia-feeds))" :label "Hypermedia Feeds State"} {:href "/sx/(geography.(marshes.server-signals))" :label "Server Writes to Signals"} {:href "/sx/(geography.(marshes.on-settle))" :label "sx-on-settle"} {:href "/sx/(geography.(marshes.signal-triggers))" :label "Signal-Bound Triggers"} {:href "/sx/(geography.(marshes.view-transform))" :label "Reactive View Transform"})) diff --git a/sx/sx/nav-etc.sx b/sx/sx/nav-etc.sx index 69a31190..f6d34ed9 100644 --- a/sx/sx/nav-etc.sx +++ b/sx/sx/nav-etc.sx @@ -1,8 +1,3 @@ ;; Navigation items for the Etc section (essays, philosophy, plans) - -(define essays-nav-items (list (dict :label "Why S-Expressions" :href "/sx/(etc.(essay.why-sexps))" :summary "Why SX uses s-expressions instead of HTML templates, JSX, or any other syntax.") (dict :label "The htmx/React Hybrid" :href "/sx/(etc.(essay.htmx-react-hybrid))" :summary "How SX combines the server-driven simplicity of htmx with the component model of React.") (dict :label "On-Demand CSS" :href "/sx/(etc.(essay.on-demand-css))" :summary "How SX delivers only the CSS each page needs — server scans rendered classes, sends the delta.") (dict :label "Client Reactivity" :href "/sx/(etc.(essay.client-reactivity))" :summary "Reactive UI updates without a virtual DOM, diffing library, or build step.") (dict :label "SX Native" :href "/sx/(etc.(essay.sx-native))" :summary "Extending SX beyond the browser — native desktop and mobile rendering from the same source.") (dict :label "Tail-Call Optimization" :href "/sx/(etc.(essay.tail-call-optimization))" :summary "How SX implements proper tail calls via trampolining in a language that doesn't have them.") (dict :label "Continuations" :href "/sx/(etc.(essay.continuations))" :summary "First-class continuations in a tree-walking evaluator — theory and implementation.") (dict :label "The Reflexive Web" :href "/sx/(etc.(essay.reflexive-web))" :summary "A web where pages can inspect, modify, and extend their own rendering pipeline.") (dict :label "Server Architecture" :href "/sx/(etc.(essay.server-architecture))" :summary "How SX enforces the boundary between host and embedded language, and what it looks like across targets.") (dict :label "Separate your Own Concerns" :href "/sx/(etc.(essay.separation-of-concerns))" :summary "The web's HTML/CSS/JS split separates the framework's concerns, not your application's. Real separation is domain-specific.") (dict :label "SX and AI" :href "/sx/(etc.(essay.sx-and-ai))" :summary "Why s-expressions are the most AI-friendly representation for web interfaces.") (dict :label "There Is No Alternative" :href "/sx/(etc.(essay.no-alternative))" :summary "Every attempt to escape s-expressions leads back to s-expressions. This is not an accident.") (dict :label "sx sucks" :href "/sx/(etc.(essay.sx-sucks))" :summary "An honest accounting of everything wrong with SX and why you probably shouldn't use it.") (dict :label "Tools for Fools" :href "/sx/(etc.(essay.zero-tooling))" :summary "SX was built without a code editor. No IDE, no build tools, no linters, no bundlers. What zero-tooling web development looks like.") (dict :label "React is Hypermedia" :href "/sx/(etc.(essay.react-is-hypermedia))" :summary "A React Island is a hypermedia control. Its behavior is specified in SX.") (dict :label "The Hegelian Synthesis" :href "/sx/(etc.(essay.hegelian-synthesis))" :summary "On the dialectical resolution of the hypertext/reactive contradiction. Thesis: the server renders. Antithesis: the client reacts. Synthesis: the island in the lake.") (dict :label "The Art Chain" :href "/sx/(etc.(essay.the-art-chain))" :summary "On making, self-making, and the chain of artifacts that produces itself. Ars, techne, content addressing, and why the spec is the art.") (dict :label "The True Hypermedium" :href "/sx/(etc.(essay.self-defining-medium))" :summary "The true hypermedium must define itself with itself. On ontological uniformity, the metacircular web, and why address and content should be the same stuff.") (dict :label "Hypermedia in the Age of AI" :href "/sx/(etc.(essay.hypermedia-age-of-ai))" :summary "JSON hypermedia, MCP, and why s-expressions are the format both humans and AI agents actually need."))) - -(define philosophy-nav-items (list (dict :label "The SX Manifesto" :href "/sx/(etc.(philosophy.sx-manifesto))" :summary "The design principles behind SX: simplicity, self-hosting, and s-expressions all the way down.") (dict :label "Strange Loops" :href "/sx/(etc.(philosophy.godel-escher-bach))" :summary "Self-reference, and the tangled hierarchy of a language that defines itself.") (dict :label "SX and Wittgenstein" :href "/sx/(etc.(philosophy.wittgenstein))" :summary "The limits of my language are the limits of my world — Wittgenstein's philosophy and what it means for SX.") (dict :label "SX and Dennett" :href "/sx/(etc.(philosophy.dennett))" :summary "Real patterns, intentional stance, and multiple drafts — Dennett's philosophy of mind as a framework for understanding SX.") (dict :label "S-Existentialism" :href "/sx/(etc.(philosophy.existentialism))" :summary "Existence precedes essence — Sartre, Camus, and the absurd freedom of writing a Lisp for the web.") (dict :label "Platonic SX" :href "/sx/(etc.(philosophy.platonic-sx))" :summary "The allegory of the cave, the theory of Forms, and why a self-defining hypermedium participates in something Plato would have recognized."))) - -(define plans-nav-items (list (dict :label "Status" :href "/sx/(etc.(plan.status))" :summary "Audit of all plans — what's done, what's in progress, and what remains.") (dict :label "Reader Macros" :href "/sx/(etc.(plan.reader-macros))" :summary "Extensible parse-time transformations via # dispatch — datum comments, raw strings, and quote shorthand.") (dict :label "Reader Macro Demo" :href "/sx/(etc.(plan.reader-macro-demo))" :summary "Live demo: #z3 translates SX spec declarations to SMT-LIB verification conditions.") (dict :label "Theorem Prover" :href "/sx/(etc.(plan.theorem-prover))" :summary "prove.sx — constraint solver and property prover for SX primitives, written in SX.") (dict :label "Self-Hosting Bootstrapper" :href "/sx/(etc.(plan.self-hosting-bootstrapper))" :summary "py.sx — an SX-to-Python translator written in SX. Complete: G0 == G1, 128/128 defines match.") (dict :label "JS Bootstrapper" :href "/sx/(etc.(plan.js-bootstrapper))" :summary "js.sx — SX-to-JavaScript translator + ahead-of-time component compiler. Zero-runtime static sites.") (dict :label "SX-Activity" :href "/sx/(etc.(plan.sx-activity))" :summary "A new web built on SX — executable content, shared components, parsers, and logic on IPFS, provenance on Bitcoin, all running within your own security context.") (dict :label "Predictive Prefetching" :href "/sx/(etc.(plan.predictive-prefetch))" :summary "Prefetch missing component definitions before the user clicks — hover a link, fetch its deps, navigate client-side.") (dict :label "Content-Addressed Components" :href "/sx/(etc.(plan.content-addressed-components))" :summary "Components identified by CID, stored on IPFS, fetched from anywhere. Canonical serialization, content verification, federated sharing.") (dict :label "Environment Images" :href "/sx/(etc.(plan.environment-images))" :summary "Serialize evaluated environments as content-addressed images. Spec CID → image CID → every endpoint is fully executable and verifiable.") (dict :label "Runtime Slicing" :href "/sx/(etc.(plan.runtime-slicing))" :summary "Tier the client runtime by need: L0 hypermedia (~5KB), L1 DOM ops (~8KB), L2 islands (~15KB), L3 full eval (~44KB). Sliced by slice.sx, translated by js.sx.") (dict :label "Typed SX" :href "/sx/(etc.(plan.typed-sx))" :summary "Gradual type system with static effect checking. Optional type annotations, deftype (aliases, unions, records), and effect declarations — checked at registration time, zero runtime cost. types.sx — specced, bootstrapped, catches composition and boundary errors.") (dict :label "Nav Redesign" :href "/sx/(etc.(plan.nav-redesign))" :summary "Replace menu bars with vertical breadcrumb navigation. Logo → section → page, arrows for siblings, children below. No dropdowns, no hamburger, infinite depth.") (dict :label "Fragment Protocol" :href "/sx/(etc.(plan.fragment-protocol))" :summary "Structured sexp request/response for cross-service component transfer.") (dict :label "Glue Decoupling" :href "/sx/(etc.(plan.glue-decoupling))" :summary "Eliminate all cross-app model imports via glue service layer.") (dict :label "Social Sharing" :href "/sx/(etc.(plan.social-sharing))" :summary "OAuth-based sharing to Facebook, Instagram, Threads, Twitter/X, LinkedIn, and Mastodon.") (dict :label "SX CI Pipeline" :href "/sx/(etc.(plan.sx-ci))" :summary "Build, test, and deploy in s-expressions — CI pipelines as SX components.") (dict :label "Live Streaming" :href "/sx/(etc.(plan.live-streaming))" :summary "SSE and WebSocket transports for re-resolving suspense slots after initial page load — live data, real-time collaboration.") (dict :label "sx-web Platform" :href "/sx/(etc.(plan.sx-web-platform))" :summary "sx-web.org as online development platform — embedded Claude Code, IPFS storage, sx-activity publishing, sx-ci testing. Author, stage, test, deploy from the browser.") (dict :label "sx-forge" :href "/sx/(etc.(plan.sx-forge))" :summary "Git forge in SX — repositories, issues, pull requests, CI, permissions, and federation. Configuration as macros, diffs as components.") (dict :label "sx-swarm" :href "/sx/(etc.(plan.sx-swarm))" :summary "Container orchestration in SX — service definitions, environment macros, deploy pipelines. Replace YAML with a real language.") (dict :label "sx-proxy" :href "/sx/(etc.(plan.sx-proxy))" :summary "Reverse proxy in SX — routes, TLS, middleware chains, load balancing. Macros generate config from the same service definitions as the orchestrator.") (dict :label "Async Eval Convergence" :href "/sx/(etc.(plan.async-eval-convergence))" :summary "Eliminate hand-written evaluators — bootstrap async_eval.py from the spec via an async adapter layer. One spec, one truth, zero divergence.") (dict :label "WASM Bytecode VM" :href "/sx/(etc.(plan.wasm-bytecode-vm))" :summary "Compile SX to bytecode, run in a Rust/WASM VM. Compact wire format, no parse overhead, near-native speed, DOM via JS bindings.") (dict :label "Generative SX" :href "/sx/(etc.(plan.generative-sx))" :summary "Programs that write themselves as they run — self-compiling specs, runtime self-extension, generative testing, seed networks.") (dict :label "Art DAG on SX" :href "/sx/(etc.(plan.art-dag-sx))" :summary "SX endpoints as portals into media processing environments — recipes as programs, split execution across GPU/cache/live boundaries, streaming AV output.") (dict :label "Spec Explorer" :href "/sx/(etc.(plan.spec-explorer))" :summary "The fifth ring — SX exploring itself. Per-function cards showing source, Python/JS/Z3 translations, platform dependencies, tests, proofs, and usage examples.") (dict :label "SX Protocol" :href "/sx/(etc.(plan.sx-protocol))" :summary "S-expressions as a universal protocol for networked hypermedia — replacing URLs, HTTP verbs, query languages, and rendering with one evaluable format.") (dict :label "Scoped Effects" :href "/sx/(etc.(plan.scoped-effects))" :summary "Algebraic effects as the unified foundation — spreads, islands, lakes, signals, and context are all instances of one primitive: a named scope with downward value, upward accumulation, and a propagation mode.") (dict :label "Foundations" :href "/sx/(etc.(plan.foundations))" :summary "The computational floor — from scoped effects through algebraic effects and delimited continuations to the CEK machine. Why three registers are irreducible, and the three-axis model (depth, topology, linearity).") (dict :label "Deref as Shift" :href "/sx/(etc.(plan.cek-reactive))" :summary "Phase B: replace explicit effect wrapping with implicit continuation capture. Deref inside reactive-reset performs shift, capturing the rest of the expression as the subscriber.") (dict :label "Rust/WASM Host" :href "/sx/(etc.(plan.rust-wasm-host))" :summary "Bootstrap the SX spec to Rust, compile to WASM, replace sx-browser.js. Shared platform layer for DOM, phased rollout from parse to full parity.") (dict :label "Isolated Evaluator" :href "/sx/(etc.(plan.isolated-evaluator))" :summary "Core/application split, shared sx-platform.js, isolated JS evaluator, Rust WASM via handle table. Only language-defining spec gets bootstrapped; everything else is runtime-evaluated .sx.") (dict :label "Mother Language" :href "/sx/(etc.(plan.mother-language))" :summary "SX as its own compiler. OCaml as substrate (closest to CEK), Koka as alternative (compile-time linearity), ultimately self-hosting. One language, every target.") (dict :label "sx-web" :href "/sx/(etc.(plan.sx-web))" :summary "Federated component web. Browser nodes via WebTransport, server nodes via IPFS, content-addressed SX verified by CID. In-browser editing, testing, publishing. AI composition over the federated graph."))) - +;; NOTE: All nav items are now defined in nav-data.sx +;; This file previously held duplicate definitions that would overwrite nav-data.sx