dev.cocore.account.friend

A one-way declaration that the publishing DID trusts the subject DID enough to route private (friends-only) compute jobs to them. Friending is *not* mutual and *not* a permission grant for the subject — it's the friender's own routing preference. The subject does not need to consent, sign anything, or even be aware. Published to the friender's PDS; multiple records for the same subject are tolerated (the rkey is `tid`) but the console deduplicates on upsert so steady state is one record per (friender, subject). The friends-only chat-completions endpoint reads these records to constrain the advisor's pickFor candidate set.

Repository @cocore.dev did:plc:5quuhkmwe2q4k3azfsgg7kdz namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authorityaccount.cocore.dev
Indexed

Record

record · key tid

Properties

createdAt

requiredstring · datetime

note

string

Optional free-form note the friender attaches to remind themselves who this DID is or why they trusted them. Plain text; never shown to the subject — this is the friender's own private label.

  • maxLength: 1024

subject

requiredstring · did

The DID the friender is extending trust to. MUST be a syntactically-valid DID (did:plc:… or did:web:…). Resolved-to-handle at write time but the DID is the authoritative identifier — a subject who later changes their handle is still the same friend.

Display-only mirror of the subject's bsky handle at friend-time. Captured so dashboards can render `@handle` without paying a PLC round-trip for every friend on every page load. Authoritative handle resolution still goes through PLC; a stale value here is OK.

  • maxLength: 256

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • dk.raakode.lab.makker.friendship

    record not from the namespace authority

    This account's own half of a friendship. A PUBLIC repo record: it is the input to an access decision made by a party who cannot yet read anything of this account's, so it has to be readable without a credential. Friendship is the conjunction of both halves — neither party can create the other's — which is the same posture as a public follow graph, and no more private.

  • dk.raakode.lab.makker.friendRequest

    record not from the namespace authority

    A standing offer of friendship to another account. A PUBLIC repo record, not a space record: the point of a request is to be readable by someone who has no access yet, and a non-member's write into a space is never visible to anyone else (see docs/evidence/S06.md). Keyed by the subject DID, so offering twice updates rather than duplicates.

  • Marks that the account added another reader as a friend in Resenha. Friends are readers who follow each other; this record lets the other reader's app show the follow as a friend request.

  • A person the author counts as a friend. Public, like a follow. Not access control.

  • Somebody whose published conversations this collective vouches for. One record per member, written to the collective's own repo by the account owning the authorising domain. The reader walks these to know whose repos to render: a list has to live somewhere, and putting it on atproto rather than on the server is what keeps the reader working when the server is not. The record says nothing about what the member published, and carries no permission — being listed here is not what allows somebody to