Ingest events once. Replay object changes, investigate collected data locally, and query compact summaries without loading every event.
ServerBrowser
Select a StageData Shapes Are Schematic
Server / Ingress
Observable Stream Ingress
SEED · Sequentially Encoded Event Data
Data seeds are Trie-Trunk’s implementation of PIL. Each seed arrives under a negotiated Definition. The seed journal supports recovery; recent seeds stay in native memory for live search and replay.
Rejected data seeds go to Lost Events with their original content.
Data Seed ViewExample Data
payment / transactionsData Seed
event_idUUIDv7
idTransaction UUID
revision_id17
stateauthorized
Append to .seedAvailable in Memory
Platform Taxonomy
Caches in the trunk. Services branch out.
Example paths · One cache expanded
Select a Tier to Highlight
Separate working spaces, such as prod, test, and sand. Each has its own hollow in the trunk.
An Event’s PlaceTrunk › prod › payment › transactions › info › write
Direct Time Traversal
Jump to a UTC hour by year, day, and hour without walking earlier periods. A known record position then resolves directly within that hour. Searching its contents still depends on the query and event volume.
5-Byte Event AddressingOver 16 Million Events/Hour · Over 7 Years · Per Branch
Two bytes select the hour; three select the record. That covers 65,536 hours—about 7.48 years—from the address origin. References widen when either range is exceeded; retention currently preserves that origin.
Common State References
Repeated attribute paths share two-byte references within a seed definition. Seeds reuse those common values, reducing repetition and providing compact groups for analytics.
Analytics
Pre-Computed Columnar Aggregates
Query the aggregate, not every event. Counts, errors, and numeric statistics are computed ahead of the view and collected independently of event detail.
Monthly ViewIllustrative Aggregate Views
JanDec
5-Minute Base Granularity
Combine stored aggregates for broader time views. Collect individual events when the investigation needs their detail.
Retention
Give Each Branch Its Own Budget
Hollow out your trunk to store more data. Explore different storage allocations for services, resources, and log levels.
Hollow = QuotaLarger Quota → Larger Hollow
Selected Scope
prod / payment / transactions
32 GB256 GB
Estimated History at Capacity
Illustration: 4 GB/day. Snoot estimates from your data and saves the size.
Time, object identity, and text each have a useful way into the journal.
Time & Text
Bound a search by time, then refine by fields or text. Collect matching seed packs for local investigation.
Time Trie + Tantivy
Collection Object Subscriptions
Follow one object’s revisions via collection subscriptions. The optional collection index supports history and replay without rebuilding the full object.
collection.idx → Writes
Analytics
Render counts, errors, and duration distributions from summaries. Daily totals also feed weekly, monthly, and yearly rollups.
.sum → Analytic Columns
Retention is configured per resource and branch. Completeness and lost events remain visible. Scheduled reports and external alert delivery are still planned.
Data Seeds / Shared Schema
Data Definitions
Define field positions, types, and dictionaries once. Data seeds share that definition and can carry complete state or a single changed field.
Trie-Trunk data definitions are an implementation of PIL Definitions. CDDL describes the definition structure; Trie-Trunk adds resource bindings and application rules.