{"data":{"kind":"file","path":"README.md","version_id":"a96q1pvbrdz8aucgk8fqn3ay","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":2695,"modified_at":"2026-10-10T03:14:37.763000","content_hash":"a05fa31681c9945b7f869e22a14ba264659980dde6c33bf4018cbb152050b394"},"entries":[],"content":"# Accounting Assistant Analysis — V1.0.1\n\nAn English-language, deterministic single-turn verifiers environment for accounting-assistant analysis. The agent reconciles a bank statement to an internal cash ledger, identifies ledger-only deposits and payments, records bank-only fees and interest, and flags matching invoice pairs for human investigation. It does not give tax advice, authorize payment, or delete duplicates.\n\n## Data and task\n\n24 training cases and 8 disjoint evaluation cases are generated locally from fixed seeds; no external datasets or network access are needed at runtime. Each record includes opening cash, ledger and bank closing balances, itemized activity, and a shuffled accounts-payable invoice register. Cases vary in amounts, outstanding items, bank-only entries, and duplicates. USD arithmetic is generated in integer cents; monetary answers use two-decimal strings. The system message treats record descriptions as untrusted data.\n\nThe assistant must return one JSON object with keys `adjusted_book_balance`, `adjusted_bank_balance`, `outstanding_deposit_ids`, `unpresented_payment_ids`, `duplicate_invoice_ids`, `bank_fee_entry_amount`, `interest_entry_amount`, and `reconciliation_status`. Balances are reconciled after subtracting unpresented payments and adding outstanding deposits to bank cash, while applying bank-only fees/interest to ledger cash. Both members of a suspected duplicate pair are reported. Duplicate detection is a triage signal, not a posting decision.\n\n## Scoring\n\nAn objective, bounded `[0,1]` rubric scores corrected ledger and bank balances (18% each), ledger-only deposit and payment IDs (14% each), duplicate IDs (14%), bank fee and interest journal amounts (8% each), and reconciliation status (6%). Invalid JSON earns zero. ID sets get intersection-over-union partial credit, penalizing false positives. Monetary values must be finite and have at most two decimal places. Contradictory reconciled status with unequal reported balances is capped at 0.75. No keyword-only reward or external LLM judge is used.\n\n## Usage\n\nFrom this directory, with Python 3.12 and verifiers installed:\n\n    python3.12 -c 'from accounting_assistant_analysis import load_environment; print(len(load_environment().dataset))'\n    python3.12 -m unittest discover -s tests -v\n\n`load_environment(split=\"train\")` returns 24 examples; `load_environment(split=\"eval\")` returns eight held-out examples. Both are deterministic. Output schema and seed ranges are stable within V1.0.1. This benchmark tests numerical reasoning and grounded exception detection on synthetic data; performance here does not establish real-world accounting competence.\n\nLicense: MIT.\n","encoding":"utf-8","truncated":false,"total_bytes":2695},"status":null}