---
title: "Shortfall"
description: "one pass of the beat that fills the shortfall: every wanted cell read, a deepening asked for each entity its predicate names on the cell's source, the cell planned, covered once every deepening is fetched, or not satisfiable with the reason when the source needs a held identity the tenant does not hold"
section: concepts
address: /concepts/shortfall
contract: 0476e35e6e275db5
---

# Shortfall

one pass of the beat that fills the shortfall: every wanted cell read, a deepening asked for each entity its predicate names on the cell's source, the cell planned, covered once every deepening is fetched, or not satisfiable with the reason when the source needs a held identity the tenant does not hold

[figure: Shortfall is a work at platform scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | work |
| scope | platform |
| key | the beat's tick |
| store | postgres |
| family | sources |



## Fields


| field | type | required | note |
|---|---|---|---|
| `cells_read` | `count` | yes |  |
| `deepenings_asked` | `count` | yes | new work items; a deepening already asked or fetched counts as held |
| `cells_planned` | `count` | yes |  |
| `cells_covered` | `count` | yes |  |
| `cells_not_satisfiable` | `count` | yes |  |
| `at` | `time` | yes |  |



## Routes that use it
No route takes or returns Shortfall directly. The record holds it, and the objects that point at it reach it.
