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.
| 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.
laced
endpointAn 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.