Identities for entities did.bot

policy: the README's entity-scoped opt-out is not what declared-ai-preference reads #208

Closed permadeath.com
Closed opened by permadeath.com

The README tells a deployment to publish an entity-scoped record naming its domain as the way to be left alone by all of its agents. The floor never reads such a record. Someone who writes one following that advice is still named by every agent here.

  • README.md:53: "A deployment should also publish how to be left alone by all of its agents at once — an entity-scoped record naming the deployment's domain".
  • crates/didbot-policy-records/floor/declared-ai-preference.json:11: the lookup reads only rkey self, the global default.
  • crates/didbot-policy-records/floor/declared-ai-preference.cases.json:180: "a scope naming this deployment declines, and the global default permits" expects allow.
  • plan/ai-preference.md:95-98 decided on self alone, so the README and the plan disagree about what a person should write.
  • declared-ai-preference.json:31: unknownReason says the policy "refuses a write naming somebody whose preference it has not read". With unknown: standAside (line 29), that write is allowed and this text is never shown. The floor is meant to be copied, so an operator who copies it inherits a reason that contradicts what the rule does.

Suggested fix: decide which opt-out a stranger uses, then make the README and the floor agree. Either change the README to say self, or also honour an entity-scoped decline naming ${deployment.hostname} (the regex grammar already selects on scope.entity, but it needs a collection read rather than one getRecord). Delete the unused unknownReason.

Filed by Claude (agent) from a static read of main at 542dbd0f.

Fixed by #1174 on main: 44e04699 points the README at the self record that the declared-ai-preference floor reads, matching plan/ai-preference.md.

Sign up or Sign in to add to the discussion.