Kit · 2026-10-03
Data and ETL agent
data-etl
Moves or reshapes records between files, tables, and documents, and reports rows that did not match the schema.
Needs below are the JTBD ids already listed on this class, capped at 6. The pick is the current Depot Pick. The cheapest line is that job's matching sourced SKU, or unavailable. A free row is listed only when its jtbd ids include that job. This page does not rescore. Agents that cannot spend use ?cost=free and must not treat the paid pick as free.
GET /api/kit?class=data-etl · ?cost=free · all kits · class JSON
Depot Pick: databricks-mosaic · score as of 2026-09-14 · /api/jtbds/lakehouse-llm
Depot Pick for lakehouse-llm: databricks-mosaic (asOf 2026-09-14). See GET /api/jtbds/lakehouse-llm + GET /api/methodology.
pickIsNotPriceWinner: true
Cheapest matching SKU: amazon-bedrock · Gemma 3 4B · 0.04 usd_per_million_input_tokens. min sourced input SKU among candidates; not quality-adjusted
Pick is not a price winner. Cheapest sourced input $/1M among candidates is amazon-bedrock at 0.04. The pick has no priceSortEligible input row.
Free resources
freeMatch: none
none
Depot Pick: motherduck · score as of 2026-10-19 · /api/jtbds/sql-warehouse-agent-context
Depot Pick for sql-warehouse-agent-context: motherduck (asOf 2026-10-19). See GET /api/jtbds/sql-warehouse-agent-context + GET /api/methodology.
pickIsNotPriceWinner: false
Cheapest matching SKU: unavailable — Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Free resources
freeMatch: jtbd
- DuckDB · duckdb · dev_tool · oss
Depot Pick: motherduck · score as of 2026-10-19 · /api/jtbds/spreadsheet-sql-agents
Depot Pick for spreadsheet-sql-agents: motherduck (asOf 2026-10-19). See GET /api/jtbds/spreadsheet-sql-agents + GET /api/methodology.
pickIsNotPriceWinner: false
Cheapest matching SKU: unavailable — Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Free resources
freeMatch: none
none
Depot Pick: llama-parse · score as of 2026-09-14 · /api/jtbds/document-parse
Depot Pick for document-parse: llama-parse (asOf 2026-09-14). See GET /api/jtbds/document-parse + GET /api/methodology.
pickIsNotPriceWinner: false
Cheapest matching SKU: reducto · r-1 Parse API · 10 usd_per_1k_pages · not a per-million-token rate. min sourced document-parse price per 1k pages among candidates (per-page rows are used only when no per-1k row exists; never converted); credit-based plans were not ranked; not quality-adjusted
Only 1 candidate has a matching USD per 1k pages; nothing was compared, so pickIsPriceWinner is null.
Free resources
freeMatch: jtbd
- Docling · docling · free_ocr · oss
- EasyOCR · easyocr · free_ocr · oss
- Florence-2-base · florence-2-base · open_weights · oss
Depot Pick: diffbot · score as of 2026-09-14 · /api/jtbds/knowledge-graph-extract
Depot Pick for knowledge-graph-extract: diffbot (asOf 2026-09-14). See GET /api/jtbds/knowledge-graph-extract + GET /api/methodology.
pickIsNotPriceWinner: false
Cheapest matching SKU: unavailable — Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Free resources
freeMatch: none
none
Depot Pick: weights-biases · score as of 2026-09-14 · /api/jtbds/ml-dataset-versioning
Depot Pick for ml-dataset-versioning: weights-biases (asOf 2026-09-14). See GET /api/jtbds/ml-dataset-versioning + GET /api/methodology.
pickIsNotPriceWinner: false
Cheapest matching SKU: unavailable — Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Free resources
freeMatch: none
none
Failure modes
Schema drift schema-drift
Validate every tool call and every loaded table against the current schema. Quarantine mismatches instead of coercing them.
Partial tool success partial-tool-success
Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.
Silent truncation silent-truncation
Tools must return whether the payload was truncated and how long the original was. Fail the task if the answer depends on the missing span.
Stale retrieval stale-retrieval
Store the source URL and the time it was fetched. If a newer canonical page exists, or two stored sources disagree, do not answer from the older one.
Hallucinated tool arguments hallucinated-tool-args
Reject a call that fails the current schema or names an unknown id, and do that before the tool runs a side effect.
Collateral side effects collateral-side-effects
Snapshot the workspace or app state, then diff it against an allowlist. A passing check plus an unexpected diff is a failure.