Concepts
The nouns Grava uses for scheduled, checked web data.
Grava separates the Dataset you use from the machinery that keeps it current.
Product model
| Concept | Meaning |
|---|---|
| Dataset | The customer-facing object: a name, question, columns, owner, and current rows. Marketing calls it a living Dataset. |
| Column | One field with a stable ID, label, type, description and ownership. Collected key fields define row identity. |
| Row | One entity with a stable key across Runs. Its status is new, changed, unchanged, or gone. |
| Source | The one Recipe that feeds a Dataset in v1: a public URL, declarative fields, and Checks. |
| Bot | The persistent intent behind a Dataset: its schedule and delivery settings. A Dataset owns one Bot in v1. |
| Recipe | A versioned, declarative extraction definition. Grava never executes arbitrary customer code on the shared host. |
| Run | One execution of a Recipe. Complete, compatible output can be accepted. Failed or held output leaves accepted rows unchanged. |
| Check | A validation of extracted output, such as requiring a field or a minimum number of items. |
| Credit | The customer-facing metering unit. One credit is charged per page checked in a passing Run. |
Row identity and status
Mark stable collected Columns with "key": true when creating a Dataset. One or several typed values identify the entity across Runs. The current source adapter requires explicit identity; mutable cell values are never a fallback identity. Row data is keyed by Field ID, so renaming a label leaves identity and history intact.
After a passing Run, current values determine each Row status. Only a complete source snapshot can mark previously seen entities as missing. Failed or held output does not change presence. Durable revisions record changes; unchanged checks only advance freshness. User-owned fields retain human edits during source refreshes.
Repairs are proposals
When a site changes, Grava can diagnose the break and prepare a Repair Proposal. A proposal is never activated without the explicit policy decision required by the account.