diff --git a/sx/sx/nav-data.sx b/sx/sx/nav-data.sx index 29f34eb..998db1b 100644 --- a/sx/sx/nav-data.sx +++ b/sx/sx/nav-data.sx @@ -109,10 +109,18 @@ (dict :label "Routing Analyzer" :href "/isomorphism/routing-analyzer"))) (define plans-nav-items (list + (dict :label "Status" :href "/plans/status" + :summary "Audit of all plans — what's done, what's in progress, and what remains.") (dict :label "Reader Macros" :href "/plans/reader-macros" :summary "Extensible parse-time transformations via # dispatch — datum comments, raw strings, and quote shorthand.") (dict :label "SX-Activity" :href "/plans/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."))) + :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 "Fragment Protocol" :href "/plans/fragment-protocol" + :summary "Structured sexp request/response for cross-service component transfer.") + (dict :label "Glue Decoupling" :href "/plans/glue-decoupling" + :summary "Eliminate all cross-app model imports via glue service layer.") + (dict :label "Social Sharing" :href "/plans/social-sharing" + :summary "OAuth-based sharing to Facebook, Instagram, Threads, Twitter/X, LinkedIn, and Mastodon."))) (define bootstrappers-nav-items (list (dict :label "Overview" :href "/bootstrappers/") diff --git a/sx/sx/plans.sx b/sx/sx/plans.sx index 059977d..17a7338 100644 --- a/sx/sx/plans.sx +++ b/sx/sx/plans.sx @@ -594,6 +594,283 @@ (td :class "px-3 py-2 text-stone-700" "Content addressing — shared with component CIDs") (td :class "px-3 py-2 text-stone-600" "2, 3")))))))) +;; --------------------------------------------------------------------------- +;; Plan Status Overview +;; --------------------------------------------------------------------------- + +(defcomp ~plan-status-content () + (~doc-page :title "Plan Status" + + (p :class "text-lg text-stone-600 mb-6" + "Audit of all plans across the SX language and Rose Ash platform. Last updated March 2026.") + + ;; ----------------------------------------------------------------------- + ;; Completed + ;; ----------------------------------------------------------------------- + + (~doc-section :title "Completed" :id "completed" + + (div :class "space-y-4" + + (div :class "rounded border border-green-200 bg-green-50 p-4" + (div :class "flex items-center gap-2 mb-1" + (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") + (span :class "font-semibold text-stone-800" "Split Cart into Microservices")) + (p :class "text-sm text-stone-600" "Cart decomposed into 4 services: relations (internal, owns ContainerRelation), likes (internal, unified generic likes), orders (public, owns Order/OrderItem + SumUp checkout), and cart (thin CartItem CRUD). All three new services deployed with dedicated databases.")) + + (div :class "rounded border border-green-200 bg-green-50 p-4" + (div :class "flex items-center gap-2 mb-1" + (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") + (span :class "font-semibold text-stone-800" "Ticket Purchase Through Cart")) + (p :class "text-sm text-stone-600" "Tickets flow through the cart like products: state=pending in cart, reserved at checkout, confirmed on payment. TicketDTO, CartSummaryDTO with ticket_count/ticket_total, CalendarService protocol methods all implemented.")) + + (div :class "rounded border border-green-200 bg-green-50 p-4" + (div :class "flex items-center gap-2 mb-1" + (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") + (span :class "font-semibold text-stone-800" "Ticket UX Improvements")) + (p :class "text-sm text-stone-600" "+/- quantity buttons on entry pages and cart. Tickets grouped by event in cart display. Adjust quantity route, sold/basket counts, matching product card UX pattern.")) + + (div :class "rounded border border-green-200 bg-green-50 p-4" + (div :class "flex items-center gap-2 mb-1" + (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") + (a :href "/isomorphism/" :class "font-semibold text-green-800 underline" "Isomorphic Phase 1: Dependency Analysis")) + (p :class "text-sm text-stone-600" "Per-page component bundles via deps.sx. Transitive closure, scan-refs, components-needed, page-css-classes. 15 tests, bootstrapped to both hosts.")) + + (div :class "rounded border border-green-200 bg-green-50 p-4" + (div :class "flex items-center gap-2 mb-1" + (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") + (a :href "/isomorphism/" :class "font-semibold text-green-800 underline" "Isomorphic Phase 2: IO Detection")) + (p :class "text-sm text-stone-600" "Automatic IO classification. scan-io-refs, transitive-io-refs, compute-all-io-refs. Server expands IO components, serializes pure ones for client.")) + + (div :class "rounded border border-green-200 bg-green-50 p-4" + (div :class "flex items-center gap-2 mb-1" + (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") + (a :href "/isomorphism/" :class "font-semibold text-green-800 underline" "Isomorphic Phase 3: Client-Side Routing")) + (p :class "text-sm text-stone-600" "router.sx spec, page registry via