docs(kb): ad dissemination — design-under-discussion on where the curation lives (3.25.1) - #706
Merged
Merged
Conversation
…ation lives (3.25.1) Operator reframe: the ad should be a property of the post read (opted-in posts come back with their curated ad, curated from the author's catalog per the author's preference), not a client-side computation — 'more clickhousey', a platform capability any app gets for free. The doc (ads-dissemination.md) lays out the reframe, the strong argument for it (the read already does read-time projections — media URLs, HLS manifest minting, power-mean ranking), the stateful-curation wall (a stateless query can't hold per-viewer/per-session state), the three options (client-side / data-layer / hybrid), and the open questions. Not a decision — the KB-side starting point for the discussion. ads.md Dissemination section points to it.
…+ catalogs + love-based curation (3.25.1) The design converged: every document has an ad_preference (which catalog to curate from + a mode + a target for pinned); a user has multiple ad catalogs (the Spotify-playlist model — an ad in several); on read, ClickHouse curates the ad from the chosen catalog per the mode and serves doc + ad together. The 'love' idea dissolves the statefulness wall: least-loved (round_robin) / most-loved (greedy) is a property of the data, not the viewer — a deterministic function of current engagement, the same ref-count machinery power-mean ranking already reads in SQL. No per-viewer state, no write-on-read. Added the mermaid diagram, the ClickHouse feasibility read (window-function + join, the house pattern), the value prop, and 11 serious open questions. curateAds (3.26.0) is largely superseded.
…aken by merged social-e2e follows fix)
…sity, authenticator Ads tab, greedy reframed (3.25.2) Converged further: - The mode is a signal × strategy pair (expandable: reaction round robin, comment round robin, you name it) + a scope enum (global / per_viewer). - A node-level ad density setting — the % of posts that get an ad at all, the operator's fatigue throttle (deterministic pseudo-random roll in the query). - The authenticator gets a new Ads tab (ads upload + catalog making), which makes catalogs first-class (leaning a catalog doc). - Greedy reframed as 'show my proven best' (complementary to round_robin's 'give everything a fair shot'); the cold-start is the distinction, not a bug.
…aken by merged Messages e2e #707)
…rged feed spec 3.26.0 #702)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A design-under-discussion KB doc on where the ad curation lives — in response to the operator's reframe after the
curateAdsclient-side helper (3.26.0, open PR #704).The doc (
ads-dissemination.md)pinned+ a deterministicround_robinare data-layer-able; trueround_robin/frequency_capped/greedyare not.round_robinas a deterministic rotation), stateful modes → v4.curateAds.Not a decision — the KB-side starting point for the discussion.
ads.md's Dissemination section gets a pointer to it. Docs-only.