Parquet schema validation · Cron monitoring
Validate the file cron produced—and notice when it produces nothing.
Agentsor File Contracts compares a completed CSV or Parquet file with an explicit local schema, freshness rule, and size bounds. A small hosted receipt then turns silence into a missed-run alert. The file, its path, rows, values, and storage credentials stay in your environment.
This release checks completed files; it is not a directory or SFTP watcher. A passing result proves only the configured local checks.
1 · Install
Pin the published verifier beside the export job.
Python 3.11 or newer is required. The local commands do not require an account.
mkdir -p ~/.local/share/agentsor-file
install -d -m 700 ~/.config/agentsor
python -m venv ~/.local/share/agentsor-file/venv
~/.local/share/agentsor-file/venv/bin/python -m pip install agentsor-file==0.2.3
2 · Define and prove the contract
Compare against what you expect, not merely what is present.
init creates an owner-only fingerprint key and an editable TOML contract. Review the generated [schema], row and byte bounds, and optional event-time freshness rule before relying on a result.
The check returns 0 only when every required observation passes. It returns 1 for failed or inconclusive evidence and 2 for a usage, credential, input, or transport error.
~/.local/share/agentsor-file/venv/bin/agentsor-file init \
--format parquet \
--contract ~/.config/agentsor/file-contract.toml \
--fingerprint-key-file ~/.config/agentsor/file-fingerprint.key
# Edit [schema] and the bounds first.
${EDITOR:-vi} ~/.config/agentsor/file-contract.toml
~/.local/share/agentsor-file/venv/bin/agentsor-file check \
YOUR_ABSOLUTE_FILE.parquet \
--contract ~/.config/agentsor/file-contract.toml \
--fingerprint-key-file ~/.config/agentsor/file-fingerprint.key
3 · Add the hosted receipt
Run the producer and reporter in one fail-closed script.
Create a free monitor, select the same cadence as cron, and store the one-time ingest token in the owner-only path shown after activation. The activation page uses the same verifier, contract, key, and token paths as this guide. Do not put either credential in the script, a shell argument, source control, or logs.
#!/bin/sh
set -eu
YOUR_PRODUCER_COMMAND
"$HOME/.local/share/agentsor-file/venv/bin/agentsor-file" report \
YOUR_ABSOLUTE_FILE.parquet \
--contract "$HOME/.config/agentsor/file-contract.toml" \
--fingerprint-key-file "$HOME/.config/agentsor/file-fingerprint.key" \
--token-file "$HOME/.config/agentsor/file-token"
If the producer fails before report, no receipt arrives and the hosted deadline detects silence. If a completed file is unreadable, stale, empty, outside its configured bounds, or schema-changed, the fixed redacted failure receipt is submitted and the command exits nonzero.
4 · Schedule and verify
Match cron to the monitor cadence.
Replace both placeholders in the script, save it, and make it executable. This example then runs daily at 07:05. Select a daily monitor expectation that allows the real producer enough time and a realistic grace period for normal variance.
install -d -m 700 ~/.local/bin ~/.local/state/agentsor
# Save the script above as ~/.local/bin/run-file-export.
chmod 700 ~/.local/bin/run-file-export
crontab -e
Add this line to the user crontab:
5 7 * * * $HOME/.local/bin/run-file-export >>$HOME/.local/state/agentsor/file-export.log 2>&1
Start with one real scheduled file
Local schema evidence. Hosted silence detection.
Free early access creates one monitor after business-email verification. There is no paid plan, dashboard, automatic trial, renewal, or charge.
Create one free monitor