Docs
API 1.39
Status
DSL

Lint codes

Every finding `POST /programs/lint` can report.

E… codes block publishing a version; W… codes are advisory and show as warnings. POST /programs/lint, kaab programs lint and the builder report the same findings, each with the JSON path of the key it is about.

CodeSeverityRule
E001errorunknown key or wrong type
E002errorloop_until/scroll.until/paginate without max/max_pages
E003errorevaluate without timeout_ms or max_result_bytes within limits
E004errortarget/field has no locator key
E005errormore than one locator key without candidates
E006errorduplicate step id
E007errortemplate references unknown inputs/vars
E008errorinvalid field name or reserved $ key
E009errorinvalid regex / glob / JSONPath
E010errorpaginate extract has no many:true field
E011errorside_effect step with retry or optional
E012errornesting depth > 3, > 200 steps, > 256 KB, > 500 extract fields or nested deeper than 32
E013errorsecret input used in extract or rendered into a URL
E014errordownload.name or read_pdf.artifact renders to no usable artifact name
W001warninggoto/click without expect
W002warninglocator list contains only structural/positional candidates (rank ≤ 20)
W003warningsleep used
W004warningside_effect step not followed by a checkpoint before the next side effect
W005warningtype: number|money without locale/decimal and sample contains both . and ,
W006warningevaluate present (healing-opaque)
W007warningawait_input with collect: hosted but no hosted.notify
W008warning{{vars.x}} read after a block that sets x on one branch only
W009warningtop-level extract alongside an extract step that writes data (nested ones included)
W010warningread_pdf with no earlier goto or download that could produce a PDF

Was this page helpful?