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>

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 1s 1s 1s
Eval 1s 34s 34s 35s
Build 3s 2m45s 58s 1m01s
Test - - - -
Deploy - - - -
Suite 0s 3m20s 1m01s 1m01s

Timeline

0s10s20s30s40s50s1m