cross-domain slices 2-3: events + shop peers, full workflow operable from the web UI
The whole vision, clickable end-to-end across THREE fed-sx peers (blog / events / shop), each a lib/host instance with SX_DOMAIN-selected types + behaviors. - EVENTS peer: a 'calendar' type (on-allocate → real allocated relation, via the driver now PERFORMING relate effects) + an 'event' type. /calendars UI: allocated posts, scheduled events (each with its featured post + a Buy-ticket button + sold count), and a Schedule-an-event form. host/blog-new-event schedules an event on main, optionally featuring an allocated post. - SHOP peer: an 'order' type. POST /order?event= creates an order (is-a order, related to the event) → 'order:<id>'. Replaces the Python shop service. - BUY: events POSTs a cross-domain order to shop (host/blog--http-order), then links event--sold--> order. host/blog--out-raw reads cross-domain edges (host/blog-out filters to local slugs, which would drop federated refs — the bug that hid allocated posts + sold counts). - BLOG: every post page shows an 'Allocate to a calendar' form. - serve.sh: SX_DOMAIN gates blog/events/shop seeds; SX_EVENTS_BASE / SX_SHOP_BASE wire the chain. docker-compose: sx_events + sx_shop peers (own stores, shared fed secret, externalnet-ready). LIVE, all via the browser: allocate 'welcome' on blog → events /calendars shows it → schedule 'Summer Gig' featuring welcome → Buy ticket → shop order → tickets sold increments. blog 218/218. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -243,6 +243,18 @@ EPOCH=1
|
||||
echo "(epoch $EPOCH)"
|
||||
echo "(eval \"(host/blog--set-type-behavior! \\\"calendar\\\" (list {\\\"verb\\\" \\\"allocate\\\" \\\"type\\\" \\\"article\\\" \\\"dag\\\" \\\"allocate-link\\\"}))\")"
|
||||
EPOCH=$((EPOCH+1))
|
||||
# an "event" type (events scheduled on a calendar); point at the shop peer for ticket orders.
|
||||
echo "(epoch $EPOCH)"
|
||||
echo "(eval \"(host/blog-seed! \\\"event\\\" \\\"Event\\\" \\\"(article (h1 \\\\\\\"Event\\\\\\\"))\\\" \\\"published\\\")\")"
|
||||
EPOCH=$((EPOCH+1))
|
||||
echo "(epoch $EPOCH)"
|
||||
echo "(eval \"(host/blog--set-shop-base! \\\"${SX_SHOP_BASE:-}\\\")\")"
|
||||
EPOCH=$((EPOCH+1))
|
||||
elif [ "${SX_DOMAIN:-blog}" = "shop" ]; then
|
||||
# The SHOP domain: an "order" type. POST /order?event= creates an order (is-a order) for an event.
|
||||
echo "(epoch $EPOCH)"
|
||||
echo "(eval \"(host/blog-seed! \\\"order\\\" \\\"Order\\\" \\\"(article (h1 \\\\\\\"Order\\\\\\\"))\\\" \\\"published\\\")\")"
|
||||
EPOCH=$((EPOCH+1))
|
||||
else
|
||||
# The BLOG domain: article create→publish (sync) + update→blog-digest (durable kernel) + a
|
||||
# "category" field for the edit form; and point at the events peer for cross-domain allocate.
|
||||
|
||||
Reference in New Issue
Block a user