pub const DECLARED_AI_PREFERENCE: &str = "{\n \"$type\": \"bot.did.policy\",\n \"name\": \"declared-ai-preference\",\n \"description\": \"Refuses a write that names an account whose own repository declines synthetic content about them.\",\n \"actions\": [\"record.write\"],\n \"lookups\": [\n {\n \"name\": \"aiPreference\",\n \"accounts\": \"named\",\n \"collection\": \"community.lexicon.preference.ai\",\n \"rkey\": \"self\"\n }\n ],\n \"document\": {\n \"$type\": \"bot.did.policy#regex\",\n \"statements\": [\n {\n \"kind\": \"denyLookup\",\n \"collection\": \"^.*$\",\n \"lookup\": \"aiPreference\",\n \"select\": [\n {\n \"describes\": \"their global default\",\n \"rkey\": \"^self$\"\n }\n ],\n \"path\": \"preferences.syntheticContent.allow\",\n \"denied\": [{ \"regex\": \"^false$\" }],\n \"unknown\": \"standAside\",\n \"reason\": \"${lookup.handleOrDid} has set syntheticContent to false in their community.lexicon.preference.ai record, at ${select}, so this record was not written. Write nothing that names ${lookup.handleOrDid}; a record naming somebody else, or nobody, is not refused by this rule. The record read is ${lookup.uri}.\",\n \"unknownReason\": \"This deployment could not read ${lookup.handleOrDid}\'s community.lexicon.preference.ai record: ${lookup.unknown}. Its policy refuses a write naming somebody whose preference it has not read. The record it tried is ${lookup.uri}.\"\n }\n ]\n },\n \"createdAt\": \"2026-09-22T00:00:00.000Z\"\n}\n";Expand description
The floor rule that honours a declared AI preference. See
plan/ai-preference.md.