- 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>
1.5 KiB
1.5 KiB
Signals
Last Updated: 2026-02-19 Confidence: High
Summary
Signals are typed, timestamped event streams attached to entity signal ledgers. The database natively understands signal semantics: velocity (rate of change), decay (exponential or linear, configurable per type), and windowed aggregation (last hour, day, 7 days, all time).
Key Facts:
- Signals are NOT fields — they are streams with temporal semantics
- Decay half-lives are declared in schema, applied at query time
- Velocity is computed natively (rate of new events in a window)
- Windowed aggregation: 1h, 24h, 7d, all-time windows are first-class
- Negative signals (skip, hide, block) are equal citizens with positive signals
- Signal writes are atomic transactions updating item ledger, user preference vector, and relationship weights in one commit
File Pointer: VISION.md:39-41, USE_CASES.md:669-711 (Appendix C)
Signal Categories
| Category | Examples | Decay |
|---|---|---|
| Positive engagement | view, like, share, completion | slow-medium |
| Negative engagement | skip, hide, block, not_interested | fast-permanent |
| Relationship | follow, unfollow, interaction_weight | slow-permanent |
| Quality | completion ratio, dwell_time, replay | slow-medium |
| Recommendation | autoplay_accept/reject, search_click | medium |
| Notification | notification_open, notification_dismiss | slow-medium |