How it works › Time groups and peek trail
Time groups and peek trail
Two things that make time and relations first-class: a group level can bucket dates, and the side peek keeps the trail of records you followed from inside it.
Time groups
A group level (groupBy, subGroupBy, in every view and the pivot) may carry by: day | week | month | quarter | year and gaps: true. A time level is always in time order (newest first with direction: DESC); empty buckets are left out unless gaps: true. The Group menu offers "Dates by: each date | day | week (from Monday) | month | quarter | year" on a date property, and the button reads "Group: Started by week".
Runs by week
LiveWith the whole toolbar: open Group and change the grain to month or quarter.
The live view starts when it scrolls into sight.
- type: table
name: Runs by week
order: [run, started, model, env, attempts, successes, success_rate]
groupBy: { property: started, by: week }
sort:
- { property: started, direction: ASC }
display: { success_rate: bar }From the example ML experiment tracking
- The date is the one written.
2026-09-30T23:30:00-07:00is 30 Sep (1 Oct in UTC); it is never converted to the viewer's zone. A value that is not an ISO date falls in "No <property>", last. - A chart's date channel takes the same
by:(see it live). - Both checkers know it:
by: weeklyis an error, "did you mean 'week'?"
The peek's trail
A relation is declared, never guessed: a column marked relation: true, or a property a view names as a graph's edges.property or a tree.parent. In the peek its values are links to those records; a click opens the record in the same peek and adds it to the trail (Supply › Regen clamp › XT30 junction). Every crumb before the current one jumps back. Escape and ‹ Back step back one record before they close the peek; ⤢ opens the record's own page when it has one.
Follow the wiring
LiveThe rack's parts. Open a part, then click a name under "Wires to": the trail grows above the title.
The live view starts when it scrolls into sight.
- type: table
name: Parts
order: [name, role, kind, maker, model, v_load, current, feeds, wire, findings]
groupBy: { property: role, direction: ASC }
groupOrder: [Power, CAN, Boards, Motors, Sensing]From the example 1-DOF rack wiring
In the URL the trail is #peek=<current>&trail=<first>&trail=<second>, replaced on every step, so a reload or a shared link reopens the same record with the same trail. (The demos on this page are no-url, so they leave the address alone.)
Comes from docs/CONTRACT.md §14 (time groups and peek trail) in docs/.