A couple mechanical issue I noticed:
itemDatalistsrequired: ["data"], but the property is namedmetadata. It also has nocreatedAt, though the post's example has one.collectionhas nokey(the others saytid).defs#schemeis a union whose refs include an inline{type: string}. Lexicon unions can only ref object defs, so the example post'sschemes: ["https", {type: "at", ...}]mix of bare strings and objects isn't expressible. It needs to be all objects (e.g.{scheme: "https"}).
ah thanks for catching these, fixing them now!
was feeling indecisive and forgot to come back to this, but I'm leaning towards
"key": "any"because there could be collections with permanence like bluesky bookmarks or Semble's concept of a library where the key should be a name instead of a TID.