Roll-up
A view over many scopes shows a distribution and its named exceptions, so its size follows what is wrong, not how many members it has.
Roll-up turns many scopes into one view. A set renders as its distribution plus its named exceptions, so a Studio view is the same size at 40 Startups or 40,000.
Exceptions, not members
A member is named when it is off pace, outside its noise band, owned by the reader's Role, or waiting above a stakes tier. The band comes from the number's own history, and members inside it compress to a count.
Outside revenue · 112 Startups · p50 $3.1k/ wk · ▲4% wk [m: outside-revenue]
- chairside.app · $0 for 3 wk · was $2.4k · outside band [s: chairside.app]
- permitfeed.dev · ▲61% wk · outside band [s: permitfeed.dev]
+109 inside band [rest]The view grows with the number of things wrong, never with the number of members.
How numbers combine
Each Metric declares how it combines, once. Every Dashboard that rolls it up follows that declaration, so one Metric never sums two ways.
| Additivity | Across scopes | Across time | Example |
|---|---|---|---|
| Additive | Sum | Sum | Outside revenue |
| Semi-additive | Sum | Last value | Cash on hand |
| Non-additive | Recompute from parts | Recompute from parts | Activation rate |
A ratio never averages. Activation across a Portfolio divides total activated Customers by total new Customers, so a Startup with ten signups cannot outweigh one with ten thousand.
Lists without a Metric declare their own rule. TaskInbox and PendingFeed merge items and rank them by window close. DataTable adds a scope column, and GoalTree re-roots at the scope.
Goals roll up by support
Each Goal names the Goal it supports, and that edge is the drill path. A parent Key Result declares how it reads its children: their sum, how many meet target, their minimum, or a weighted sum.
Pace is derived, never typed in. A Key Result's weekly threshold is the distance left divided by the weeks left. The tree shows which children carry a parent, which Goals support nothing, and which Key Results nothing supports.
Cohort percentiles
Across a Portfolio, every number becomes a percentile. Benchmark shows the 10th, 50th and 90th percentiles of a peer set, and each member's rank within it. Peers share a Product Template and a Motion.
Each Startup's own view carries one benchmark line, such as Acquisition payback p23 among 41 b2d Dataset APIs. A sibling that sells a function as a Service reads its clients through these views, scoped by its Outcome Contract.
Reviews roll up bottom-up
The weekly Role review reads each week view as of its close. The review ends in a variance packet: each exception with a one-sentence cause, an owner, and any asks of the scope above.
Packets climb in a fixed order: Role, Team, Startup, Portfolio, Studio. A parent's week view shows its own Key Results plus its children's packets, so every level reviews causes, not raw numbers. The order is a Setting on the Studio.