{"data":{"kind":"file","path":"README.md","version_id":"x3all17uk2pq8nwrgp1uom1o","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1976,"modified_at":"2026-10-14T01:16:07.468000","content_hash":"e23b3b1cf6a2b7e7a4cc6573327230e002cd4c4d7d2da574786b2be651849d49"},"entries":[],"content":"# Spreadsheet Ops Agent — V1.2.0\n\nAn executable finance-operations spreadsheet reconciliation environment, inspired by real merchant ledger versus settlement workflows (not affiliated with Ramp). The agent reads two shuffled CSV worksheets and returns a structured JSON reconciliation report. No external spreadsheets or credentials are required.\n\n## Task and scoring\n\nEach deterministic case contains a randomized number of payments and negative refunds, missing settlements, currency mismatches, duplicate settlements, amount mismatches, and orphan bank rows. Exact reference joins and integer-cent arithmetic avoid fuzzy matching and float rounding. Randomized transaction/reference/settlement IDs prevent learning a fixed suffix-to-anomaly mapping. Difficulty levels 1–3 control extra anomalies and orphan count, including multiple orphans at level 3. The agent must report a row for each ledger transaction, expected and settled totals, and evidence-backed exceptions. Settlement IDs are null for nonmatches. Scoring checks row status, ID and amount (65%), both totals (15%), exception classification and exact source-row evidence (20%). Wrong/missing/duplicate row counts or fabricated references receive zero in their corresponding dimensions. The answer is generated programmatically and is not exposed in the user prompt.\n\n## Install and smoke test\n\nRequires Python 3.11–3.13. In this repository:\n\n    uv venv --python 3.12 .venv\n    uv pip install --python .venv/bin/python -e .\n    .venv/bin/python -m unittest discover -s tests -v\n\nLoad from Python:\n\n    from spreadsheet_ops_agent import load_environment\n    env = load_environment(train_size=96, eval_size=24, seed=1729, difficulty=2)\n\nArguments control dataset sizes, deterministic seed and difficulty (1–3). Training and evaluation use disjoint seed ranges. Tests independently parse 120 generated CSV cases and recompute their answers, including all anomaly types and multiple orphans. Version 1.2.0.\n","encoding":"utf-8","truncated":false,"total_bytes":1976},"status":null}