type: decision
status: active
timestamp: 2026-06-20
tags: [decisions, architecture, lifestream, federation, atproto, bluesky, activitypub, fediverse]

Lifestream federation — mirror to BOTH AT Protocol and ActivityPub

oriz-me JSONL canonical, AT Protocol mirror under me.oriz.in.atproto AND ActivityPub outbox at me.oriz.in/activitypub/outbox. Single source, two protocols.

Lifestream federation — mirror to BOTH AT Protocol and ActivityPub

Decision

The canonical lifestream JSONL in chirag127/oriz-me-data stays the single source of truth. It is mirrored to two federated protocols, in parallel, on every cron tick:

  1. AT Protocol — records published under the family lexicon me.oriz.in.atproto.lifestream.event, attributed to did:plc:... bound to the handle chirag127.oriz.in. Bluesky and any other AT Protocol consumer can subscribe. See services/business/social/atproto-firehose.md.
  2. ActivityPubNote objects published to the outbox at https://me.oriz.in/activitypub/outbox; actor at me.oriz.in/activitypub/actor. Mastodon / Pleroma / Misskey / the wider Fediverse can follow @chirag@me.oriz.in natively. See services/business/social/activitypub.md.

Both mirrors are derived data. They are idempotent on the JSONL event id. If either mirror is wiped, the next rehydrate cycle replays the canonical JSONL into it — no data is at risk.

Why

Implications

Architecture

Identity bindings

What gets federated

What we don’t do

Cross-refs


Edit on GitHub · Back to index