Row detail and provenance
Open any row to see its values, edit them, and trace each one back through the run, the step and the fetch to the page it came from.
Every row a pipeline publishes carries a record of how it was made. Open a row and you can see the values, the run and step that produced them, the pages that were fetched, and what those pages looked like at the time.
Opening a row
There are two views of a row.
The header shows the row’s short id, the breadcrumb trail back to the dataset and version, and two actions:
The Data tab
Every field of the row as a label and value. Empty fields are hidden by default with a note such as “4 empty fields hidden” and a Show empty fields toggle. Values are rendered the same way as the grid, expanded: nested records as indented blocks, lists of records as an inner table (three rows, then Show all), images and videos as galleries.
Editing a value
On the row page, hover a value and it reads Click to edit.
- Click the value. It becomes a text box (a number box for numeric, currency and percentage columns).
- Type the new value. Enter or clicking elsewhere saves; Escape cancels.
- Check the toast. A rejected value shows why, for example “abc” is not a valid number. Blank saves as empty.
Numbers are cleaned as you save: currency symbols, thousands separators and % are stripped, so “$1,299.00” is stored as 1299. Booleans accept true, yes or 1.
Each save writes a new dataset version with your change and makes it active, leaving the previous version intact. See Versions. Values cannot be edited in the grid or in the row dialog.
Edits to a pipeline-produced dataset last until the next run publishes. If a value is wrong because the source is read wrongly, ask Jason to fix the pipeline so every future row is right.
The Provenance tab
For datasets produced by a pipeline or ingested from an integration, the second tab is Provenance. It has two parts.
Attributed source. The website the row came from, with its favicon, and up to four link pills for any URL columns on the row (source_url, url, menu_url and similar). Click a pill to open the page on the source site in a new tab. This is how you “view source” for a row.
Timeline. The events that produced the row, grouped by pipeline step, newest last. Each event is a card with a label, the site it touched, how long it took and a short detail line:
| Event | What it records |
|---|---|
| Page Fetch | The page address, the HTTP status, the size of what came back, and whether it was served fresh or reused from the cache. |
| Data Extraction | How many rows and which fields were extracted from that page. |
| Source Evidence | A snippet of the page content that supports a value. |
| API Call | A request to a site’s own data endpoint, with its status and size. |
| Browser Action | An action taken in a real browser session: a click, a scroll, a form entry. |
| Computer Use | A step where a browser agent navigated the page; includes a screenshot. |
| Web Search | The search query and how many results came back. |
| Delegated Agent | Work handed to a specialised collection agent for one source. |
| Step | A processing step with no fetch: matching, normalising, checking. |
Expand a card to see the full address, a screenshot of the page as it was when the step ran (where a browser was used), the fetched page content rendered as text (the first 5,000 characters, loaded on demand), and a Raw detail disclosure with everything recorded.
If the version you are viewing reused rows from an earlier run, the row’s provenance is resolved to the run that actually produced it, so the timeline is always the real one. When the timeline hides fetches that belonged to other rows in the same batch, a note reads “3 unrelated batch fetches hidden.”
Messages you may see: “No provenance data recorded for this row.” (the row was written without a run, for example by an upload into a pipeline dataset) and “No detailed provenance was recorded for this source.”
The Origin tab
For datasets you uploaded and for example datasets, the second tab is Origin instead. It states where the rows came from: “This row was imported from products.csv.” for an upload, or a note that the row is example data and does not correspond to a real source.
The Activity tab
A flat list of every fetch in the row’s provenance, one line each: “Fetched retailer.com/product/123”, “Reused retailer.com/… (cached 2h ago)” for cache hits, or “Tried …” for a failed attempt, with size and duration. Click a line to open the fetch: tabs for the Rendered page, the Raw response and the Data extracted from it, plus a chip per attempt when the page needed more than one try. Very large bodies show a “Stored preview only” banner.
When the row’s lineage is long, the tab shows the most recent related fetches and says so.
Provenance is kept for as long as the dataset version is retained. See Data retention.
Using provenance
A few things provenance is good for:
This row says the 65-inch TV is $62.49, which cannot be right. What happened?
Jason opens the row’s provenance, finds that the page fetch returned a listing page rather than the product page, and offers to repair the pipeline so the step follows the product link before extracting. The previous version’s value is unaffected.