Lace incubator

This directory contains complete application experiments built with Lace. They are larger than the teaching examples: each app owns its records, policy, actions, projections, interface, and operational workflow.

These applications are drafts with no compatibility promise. Checked-in identities and fixture secrets are public test material, never deployment authority.

Applications

App Purpose
blog-comments Pending comments published by later exact-linked approval
clay Link submission, voting, reader-chosen rankers, and waypoint admission
forum Public-read forum with registration and delegated moderation
geo-feed Public messages selected by finite H3 cell sets
jukebox Shared rooms, media, queues, requests, and waypoint admission
rabble Low-stakes multiplayer word game
whatsup Public-room chat with communities, attachments, and waypoint discovery

Each app README explains its authority model, setup, commands, and validation. Build the shared JavaScript and WASM artifacts before following an app’s instructions:

make -C incubator build-lace-js

The integrated hosts are development software. Binding one to a public interface does not add authentication or TLS; use a trusted network or ordinary HTTPS infrastructure.

Standalone laced endpoint

An app’s endpoint Interlang/Datalog artifacts can also configure a persistent laced participant. Serve browser assets and bootstrap/runtime configuration with ordinary static infrastructure; laced serves only interlace.

Config 1
DataDir ./laced-data
PolicySource ./app-provider.datalog
Listen ws:127.0.0.1:8797/interlace policy=./app-endpoint.interlang

Omit PolicySource when the endpoint policy has no linked provider. Validate and run the configuration with:

laced check-config ./laced.conf
laced --foreground --config ./laced.conf

See examples/shared-todo-list for the complete split static-host/WebSocket shape and setup-laced for operational guidance.