silo: public /sidecar proxy for lith → Datomic sidecar
The sidecar binds to silo's 127.0.0.1:8891, so lith had no way to reach
it during the kidlisp cutover. This adds a pass-through proxy at
/sidecar/* on silo that forwards everything to the sidecar with the
client-secret header carried through. The admin surface stays locked
behind requireAdmin at /api/datomic/*; /sidecar/* is the server-to-
server data plane that only lith uses.
Auth is the shared CLIENT_SECRET — held by lith and the sidecar, never
exposed to browsers. The sidecar rejects anything without it.
With this in place the cutover is live: lith's DATOMIC_SIDECAR_URL
points at https://silo.aesthetic.computer/sidecar and all kidlisp
reads/writes go to Datomic. Mongo kidlisp stays frozen as the pre-
cutover archive.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>