···4141 // TangledProfileCollection is the collection name for tangled profiles
4242 // Stored in hold's embedded PDS (singleton record at rkey "self")
4343 TangledProfileCollection = "sh.tangled.actor.profile"
4444+4545+ // BskyPostCollection is the collection name for Bluesky posts
4646+ BskyPostCollection = "app.bsky.feed.post"
44474548 // SailorProfileCollection is the collection name for user profiles
4649 SailorProfileCollection = "io.atcr.sailor.profile"
+4-3
pkg/hold/pds/manifest_post.go
···99 "strings"
1010 "time"
11111212+ "atcr.io/pkg/atproto"
1213 bsky "github.com/bluesky-social/indigo/api/bsky"
1314 "github.com/distribution/distribution/v3/registry/storage/driver"
1415)
···70717172 // Create post struct with facets and embed
7273 post := &bsky.FeedPost{
7373- LexiconTypeID: "app.bsky.feed.post",
7474+ LexiconTypeID: atproto.BskyPostCollection,
7475 Text: text,
7576 Facets: facets,
7677 Embed: embed,
···8283 rkey, recordCID, err := p.repomgr.CreateRecord(
8384 ctx,
8485 p.uid,
8585- "app.bsky.feed.post",
8686+ atproto.BskyPostCollection,
8687 post,
8788 )
8889···9192 }
92939394 // Build ATProto URI for the post
9494- postURI := fmt.Sprintf("at://%s/app.bsky.feed.post/%s", p.did, rkey)
9595+ postURI := fmt.Sprintf("at://%s/%s/%s", p.did, atproto.BskyPostCollection, rkey)
95969697 slog.Info("Created manifest post",
9798 "uri", postURI,