Off the Clock Docs

Developers

The feed generator

Feeds are records admins write. The feed generator turns each rule into a list of records, kept current as spaces change.

Feeds as records

Draft outline

us.off-the-clock.feed.generator (name, description) and us.off-the-clock.community.feed (configuration, sort) under one key in a pair's management space; the newest configuration among the pair's admins counts.

How it learns about content and membership

Draft outline

It syncs the management spaces itself and keeps its own projection of membership in memory; it never asks the AppView. It syncs each content space it serves. Deck: "feed-dataflow".

The document each rule sees

Draft outline

Deck: "feed-doc". Fields: collection, space, author.did, author.admin, record, labels, createdAt; posts: isReply, hasMedia, tags, mediaKind; bookmarks: host, tags.

Evaluation and timing

Draft outline

JSON Logic per record on arrival; rejects unknown operators; dry run through admin.evaluateFeed. Deck: "feed-rules" and "feed-timing".

Serving a feed

Draft outline

us.off-the-clock.feed.getFeedSkeleton: newest first, or upcoming events soonest first. otc-web hydrates the skeleton through the AppView. Deck: "feed-seq".