Inspector, Settings · Retention
Retention controls when, if ever, Neotoma drops or tiers data into cold storage. The default for a fresh install is keep everything, observations, source files, and timeline events are immutable by design and most operators rely on that for audit and provenance. The Retention panel exists for the cases where you do want to age data out.
inspector.neotoma.io/settings#retention
Retention windows
| Store | Window | After window | Size |
|---|---|---|---|
| Observations | keep all | - | 84.2 MB |
| Source files | 180 days | tier → cold | 412.1 MB |
| Timeline events | keep all | - | 12.6 MB |
| Conversation msgs | 365 days | compact | 31.8 MB |
| Sandbox writes | 30 days | expire | 0.4 MB |
DB size
541 MB
hot + cold
If applied
−226 MB
next sweep
Last sweep
2d ago
manual run
Stores
- Observations, immutable row-per-write. Default is keep-all; any retention here is destructive and compounds, the reducer can no longer reconstruct prior states for affected entities.
- Source files, the biggest store by bytes. Tier-to-cold-storage moves the bytes out of the SQLite blob columns to a configured cold path while preserving the metadata row, so observations still link to a known source even when the file is offline. Expire drops the bytes outright.
- Timeline events, append-only event log. Default keep-all; expire is mostly used in CI / sandbox.
- Conversation messages, chat turns.
compactrewrites old turns to a summary row that preserves who-talked-to-whom-when without the full body. - Sandbox writes, only present on sandbox-environment instances. Defaults to a tight 30-day expiry so the public sandbox stays fresh.
Sweep semantics
- Sweeps are opt-in, a nightly run can be enabled per store, but you can also kick a one-shot sweep from this panel and review the dry-run impact first.
tier → coldis reversible: the metadata row stays, the file path moves, and a re-ingest restores it.expireandcompactare not reversible, they drop bytes. Run them with backups in place.- Affected rows are recorded as a
retention_sweeptimeline event so the audit trail stays intact even after the source data is gone. See the Timeline for the running record.
Recommendations
- Personal use, leave everything at keep-all; SQLite handles low-GB workloads comfortably.
- Shared / server, tier source files older than 6-12 months to cold; keep observations and timeline events forever.
- Sandbox / CI, expire everything aggressively; the dataset is synthetic.