dev.knotless.claim

Keyed `<repo key>.<ref hash>.<generation moved from>`. Two writers that read the same generation both try to create the same key, and the PDS accepts only the first; the dev.knotless.ref update travelling with it in the same applyWrites is refused along with it. Never updated.

Details · record, key any
Kindrecord
Record keyany
Authorityknotless.dev
Indexed

Record

record · key any

Properties

createdAt

requiredstring · datetime

from

string

The hex object ID the ref pointed at before; absent when the ref is new.

  • minLength: 40
  • maxLength: 64

generation

requiredinteger

The generation the ref moved from.

  • minimum: 0

name

requiredstring

The full ref name, such as refs/heads/main.

  • maxLength: 1024

pack

string · record-key

The record key of the dev.knotless.pack written with the move, if any.

pusher

string · did

The account that moved the ref, when not the repository's owner: a collaborator or runner pushing through the gateway, which sets it from the caller's verified service token. Readers credit it only while the repository names it among its collaborators or runners.

repo

requiredstring · tid

The `key` of the dev.knotless.repo the ref belongs to.

to

string

The hex object ID the ref points at after; absent when the ref is deleted.

  • minLength: 40
  • maxLength: 64

Similar lexicons

semantic match

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

  • One git ref of a repository.

  • Pushes to a repository through a gateway its owner has delegated writes to: the gateway checks the caller is the owner or a collaborator, then writes the pack and ref updates as the owner. Requires a service token from the caller's PDS, audience the gateway's DID, for this method.

  • A did-git ref stored in an AT Protocol repository. Each record maps a repository name and ref name (e.g. refs/heads/main) to the hex SHA-256 object ID it points to.

  • Left under a repository's old name when it is renamed, so clone URLs, remotes and links that use the old name still reach it.