Local setup codes
Make the offline check pass before reporting.
The CLI prints one JSON object. It exits 2 with a fixed top-level error for setup, credential, transport, or hosted-receipt errors; a completed local check can instead exit 1 with fixed reasonCodes.
Paths conflict or already exist
init_target_conflict, state_target_conflict, and credential_target_conflict require distinct input, contract, key, state, and token paths. init_target_exists means init refused to overwrite an existing contract or key; review and reuse the intended files or choose new paths.
The contract or input is invalid
For invalid_contract, unsupported_format, or invalid_input, correct the TOML, supported CSV/Parquet format, completed-file path, or access locally. Version 0.2.5 requires the input path passed to check or report to directly name the completed regular CSV or Parquet file; final-component symbolic links are not supported. After format validation passes, the local check reports one as file_unreadable. If the producer stages a temporary file, create it in the final path's directory, close it completely, and publish the final name with a same-filesystem atomic rename; do not use a cross-filesystem move or switch a symlink. Version 0.2.5 contract values must be accepted by the PyArrow type_for_alias function. Do not copy parameterized decimal, nested/list/struct, fixed-size binary, or timezone-qualified timestamp text from a printed Parquet schema into [schema]. If such a type belongs only to a column you do not need to validate, omit that column and set allow_extra_columns = true; [schema] must still contain at least one required column with a supported alias. Otherwise, this release cannot validate that feed. Run check again and do not create a monitor until the intended contract succeeds.
The key or state is invalid
invalid_fingerprint_key requires the original owner-only regular key file. invalid_state requires a valid owner-only offline duplicate-state file. Do not replace the fingerprint key after a monitor has pinned its contract.
Initialization or local execution failed
For init_failed or a persistent internal_error, create a fresh Python 3.11+ virtual environment, reinstall exactly agentsor-file==0.2.5, and repeat the offline check. Do not report while the local result is unknown.