# 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 |

## Related Topics
- [Entities](./entities.md)
- [Ranking Profiles](./ranking-profiles.md)
