tidaldb/ai-lookup/services/ranking-profiles.md
jordan 413b712c0a chore: initialize tidalDB repository with schema foundation and standards
- Schema phase 1 (tasks 01-02): EntityId, EntityKind, Timestamp, Score, SignalTypeDef, DecayModel, Window, WindowSet — all with property tests and benchmarks scaffolding
- Stub modules for storage, signals, query, ranking
- Full documentation suite: VISION, USE_CASES, SEQUENCE, API, CODING_GUIDELINES, ai-lookup, research docs, specs, roadmap, planning docs
- Marketing site (Next.js) with blog infrastructure
- .claude/ agents and skills for the tidalDB development workflow
- Foundation standards enforced: thiserror + tracing declared as dependencies, clippy::unwrap_used = deny added to lint config
- .gitignore hardened: .next/, node_modules/, .env, secrets, logs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 12:52:20 -07:00

1.8 KiB

Ranking Profiles

Last Updated: 2026-02-19 Confidence: High

Summary

Ranking profiles are named, versioned scoring functions declared in schema. They reference signals, relationship weights, recency curves, and diversity rules. Profiles live in the database, are versioned alongside data, and can be swapped at query time by name.

Key Facts:

  • Profiles are schema-level declarations, not application code
  • Each profile defines: primary signals, secondary signals, boosts, gates, and diversity rules
  • The same profile can operate on different candidate sets (global vs category vs social graph)
  • Profiles are versioned — old versions remain queryable

File Pointer: VISION.md:43-55

Built-in Profiles

Profile Primary Signal Use Case
for_you preference_match + engagement_velocity Personalized feed
search text_relevance + semantic_similarity Search results
trending share_velocity + view_velocity Trending surfaces
rising velocity relative to baseline, age-boosted Breakout content
following created_at DESC Subscription feed
related semantic_similarity + collaborative_filtering Up next / related
browse quality_score (completion + like_ratio + reach) Category pages
hot score / (age + 2)^gravity Community frontpages
controversial max(positive * negative signals) Debate surfaces
hidden_gems high quality, inverse reach Discovery
notification relationship_strength + item quality Push prioritization
live relationship_weight + viewer_count Live surfaces