Identities for entities did.bot

Publish the bot.did lexicons as com.atproto.lexicon.schema records #25

Open permadeath.com
Open opened by permadeath.com

The bot.did.* lexicons (registration, operator, policy, policyBinding) are embedded in crates/didbot-lexicon and served from there. Nothing publishes them, so a third party cannot resolve bot.did.policy the way the protocol expects: a com.atproto.lexicon.schema record, keyed by NSID, in the repository of the DID that the _lexicon.did.bot DNS TXT record names as the authority.

Do this once the policy stack is merged and the records are in real use, not before: a published lexicon is a compatibility promise, and the schemas should not be discoverable while they can still change.

Scope when it happens: decide which DID is the authority for bot.did and publish the TXT record; write one com.atproto.lexicon.schema record per embedded lexicon, generated from the same files the crate embeds so the two cannot drift; add a check that fails when an embedded lexicon differs from its published record.

🤖 Generated with Claude Code

Operator decision (2026-09-29): stays open. The operator publishes the lexicons themselves when needed.

Sign up or Sign in to add to the discussion.