045fe803

By: Michael Lynch <git@mtlynch.io>

Parse metadata.json via tinybeans.Metadata shared struct

Add tinybeans.Metadata (and MetadataUser, MetadataEntry, MetadataComment)
as the canonical struct for the metadata.json file format. Both the
importer and the app server now use the same type: import-from-tinybeans
builds and encodes it, and cmd/app decodes it in a new metadata.go file
and passes the result to handlers.New.

Handlers no longer read the metadata file themselves on each request;
the parsed *tinybeans.Metadata is stored on Server and accessed directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-trailing-newlinecheck-trailing-whitespacediagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux