Discover interest onboarding
Optional catalog-backed starter preferences are available on clean Recommended independently of the disabled experimental semantic personalization service. The existing app palette and Dialog primitive provide a compact desktop dialog and mobile sheet; the closed state is a quiet edit action. Escape, close and Skip dismiss the initial offer. Cancel discards an edit. Unchanged choices and Skip keep the current feed intact.
Recommendation contract
- Twelve supported topics/experiences use exact canonical public tags and multilingual aliases. Only choices supported by at least three eligible language families are offered. The options query applies the feed's language, content, audience, publication, access and account exclusion rules.
- Choices are soft ranking hints. A bounded retrieval route can bring niche matching worlds into the ranked head. The full eligible catalog tail and existing diversity rules remain available. Filters/search never send the seed.
- Initial heuristic: at most 12 score units (1.2 on the cold retention scale), halving with 30 days of age. Independent qualifying favorites, positive ratings and Library reads of at least five messages reduce it to zero at eight recent evidence units. Per-family strongest recency-weighted evidence prevents repeated actions or translations inflating confidence. This is a heuristic, not a fitted claim of higher satisfaction.
- Pure browser storage reads cannot renew selection time. Choices are isolated by account/guest and stay in the browser; no automatic account handoff or cross-device synchronization. Guest behavioral learning is not added in this release.
- Versioned, bounded day-precision seed queries enter the baseline path. Well-formed dates outside the usable server-time window ignore the optional hint, so a skewed device clock cannot block browsing. Private HTTP caching and seed-specific Redis keys prevent cross-preference results. Seed changes clear old continuation/checkpoint state. Mixed seed/old cursor requests restart explicitly.
- Existing semantic preference policy also fades explicit hints and preserves age across its verified account handoff. Its ranking flags remain off; public semantic rollout, canonical measurement activation and new infrastructure are outside this release.
Verification
Automated coverage includes option-family counts and aliases, actual HTTP eligibility and private caching, full-catalog continuation, cold ranking and bounded recall, duplicate evidence and age decay, account isolation, storage denial, malformed data, stale requests, local saves, Skip/Cancel/no-op edits, and localized accessible dialog controls. Run the affected app/server suites, shared contract tests, workspace build/typecheck, and hosted/local edition checks before release.
Independent review caught and corrected a recall gate that dropped starter candidates after an unrelated follow moved the reader out of the cold tier, and focus restoration that could scroll a dismissed dialog's trigger into view. Both have regression coverage.
Reset and selection compare with the mounted feed's frozen seed, including after another tab changes storage. A later activation of canonical preferences clears browser hints for that mounted feed instead of letting them override server choices. These transitions, along with no-op saves, have end-to-end component regressions.
Browser-based visual verification has not been performed (workspace instructions require an explicit request). Tests of the component use JSDOM. Recommendation quality uplift still requires real outcome measurement; passing correctness tests does not establish it.
