2026-21
Moving to Knot-Owned Data
AT is all about user-owned data. To specify a code forge built on AT would mean, users own the following:
- issue submissions
- label operations
- the open/close state of issues they create
When users create these bits of data on their PDii, indexers should pick them up and render them. Similarly, when users delete them from their PDii, indexers should drop them.
However, as a maintainer, things like "issues" are contributions towards my project in some sense. If a user identifies bugs in my project and submits them to the project, they are in a way, contributing those findings to me.
Such contributions are not unlike git commits themselves. Once a patch is submitted, it may be reviewed and integrated into the blessed copy. Uncontribution would require the same level of review and conversation.
The largest benefit of using atproto to build federation among forges is atproto's notion of federated authentication. User identities are globally unique; and identities do not have to be attached to an "instance". When paired with service-auth, an AT actor can make signed requests to any service, and any service can verify these actions with just a DID document.
We already use service-authentication in serveral APIs: merging patches to a repository and creating a repository on a knot. We could now employ the same in making other kinds of contributions, such as, contributing a bug report, or contributing a label to a bug report.
To begin, membership and collaborator data will move to this format: instead of creating records on the PDS and propagating this data via the firehose, this data will now be created directly on the knot via service-auth, and propagated via the knot's eventstream if necessary, or be queryable via the knot's XRPC API.
While this knot-owned data may be stored in a standard DB, it could also be stored on git itself, with the added benefit of utilizing git's sync protocol to fetch issues or patches directly to your machine.
Travel
I will be travelling to Helsinki (and then Florence!) to visit my brother and attend his wedding!