# Reviewer-Ready Handoff Record / Review File Contract — TD-EBC-20261004-1636-01 ## Purpose A reusable evidence-and-handoff record for AI-assisted finance workflows. It is intended to make the material path reconstructable by a second reviewer without relying on model/preparer memory. It is **not** an audit opinion, certification, compliance determination, accounting conclusion or approval. ## Empty template ```yaml review_file_id: "" workflow_run_id: "" workflow_name: "" scope: "" scope_version: "" prepared_at: "" cutoff_time: "" owner: "" reviewer_role: "" data_privacy_class: "green|approved-bounded-yellow" authority_boundary: "" inputs: - source_id: "" source_url_or_record: "" retrieval_time: "" source_version_or_hash: "" material_claims: - claim_id: "" claim_text: "" source_id: "" exact_location: "" transformation: "" validation_check: "" numbers: - metric_id: "" source_value: "" period: "" entity: "" units: "" transformation: "" control_total_or_crosscheck: "" exceptions: - exception_id: "" detected_at: "" reason: "" evidence: "" proposed_disposition: "" unresolved_gap: "" owner: "" workflow_output: artifact_version: "" hash: "" status: "" acceptance: test: "" result: "pass|fail|partial|pending" observable_evidence: "" human_handoff: exact_decision_required: "" options: [] remaining_checks: [] signoff_status: "not-requested|pending|approved|rejected" reopen_trigger: "" retention_or_review_date: "" ``` ## SYNTHETIC worked example — GL reconciliation ```yaml review_file_id: "SYNTH-RF-GL-001" workflow_run_id: "SYNTH-GL-RECON-20261004-001" workflow_name: "GL-to-subledger reconciliation — SYNTHETIC example" scope: "SYNTHETIC entity ALPHA; cash account 1010; period 2026-09-30" scope_version: "synthetic-v1" prepared_at: "2026-10-04T16:10:00+08:00" cutoff_time: "2026-10-04T16:00:00+08:00" owner: "Synthetic Finance Ops Preparer" reviewer_role: "Synthetic Controller Reviewer" data_privacy_class: "green" authority_boundary: "Preparation and recommendation only; no ledger posting. SYNTHETIC." inputs: - source_id: "SYNTH-GL-001" source_url_or_record: "synthetic://gl/account-1010/2026-09-30" retrieval_time: "2026-10-04T16:02:00+08:00" source_version_or_hash: "SYNTHETIC-sha256-gl-aaa" - source_id: "SYNTH-SUB-001" source_url_or_record: "synthetic://subledger/cash/2026-09-30" retrieval_time: "2026-10-04T16:03:00+08:00" source_version_or_hash: "SYNTHETIC-sha256-sub-bbb" material_claims: - claim_id: "SYNTH-C1" claim_text: "A USD 25,000 difference exists between the synthetic GL and subledger balances at the cutoff." source_id: "SYNTH-GL-001 + SYNTH-SUB-001" exact_location: "GL row account=1010; subledger summary cash_total" transformation: "12,450,000 - 12,425,000" validation_check: "Independent recomputation of both source totals and subtraction" numbers: - metric_id: "SYNTH-BREAK-001" source_value: "GL 12,450,000; subledger 12,425,000" period: "2026-09-30" entity: "SYNTHETIC ALPHA" units: "USD" transformation: "GL minus subledger = +25,000" control_total_or_crosscheck: "Source row totals independently recomputed; difference reproduced" exceptions: - exception_id: "SYNTH-E-001" detected_at: "2026-10-04T16:05:00+08:00" reason: "SYNTHETIC candidate timing difference: GL batch FEE-09130 appears in GL extract but no matching subledger record is present at cutoff" evidence: "SYNTHETIC GL batch reference plus absence in bounded subledger extract" proposed_disposition: "Hold this line open; request posting/support evidence before closure" unresolved_gap: "Whether FEE-09130 is a legitimate timing item or an upstream omission" owner: "Synthetic Controller Reviewer" workflow_output: artifact_version: "synthetic-v1" hash: "SYNTHETIC-output-hash-ccc" status: "review_required" acceptance: test: "A second reviewer can reproduce the +25,000 break from frozen inputs and see why the item remains open" result: "pass" observable_evidence: "Recomputed break matches; source IDs, period, entity, units, transformation and unresolved gap are present" human_handoff: exact_decision_required: "Choose whether to accept as timing after support, request more evidence, or reject proposed disposition" options: ["accept-as-timing-after-support", "request-more-evidence", "reject-and-reclassify"] remaining_checks: ["inspect support for FEE-09130", "confirm expected subledger arrival window"] signoff_status: "pending" reopen_trigger: "New source evidence, changed source hash, changed cutoff, or later subledger arrival" retention_or_review_date: "2026-10-31" ``` ## Reviewer checklist 1. Scope, entity, period/cutoff and version are explicit. 2. Every material claim has a source ID and exact location or bounded record pointer. 3. Every material number has entity, period, unit and transformation provenance. 4. Input versions/hashes and retrieval times are frozen or recorded. 5. Validation checks are observable and reproducible by a second reviewer. 6. Exceptions preserve detection time, evidence, unresolved gap, owner and proposed disposition. 7. Contradictory or missing evidence is visible rather than silently resolved. 8. Output version/hash links the review file to the exact artifact reviewed. 9. Preparation, recommendation, approval/sign-off and execution authorities are separated. 10. The handoff asks for one exact human decision and lists remaining checks/options. 11. Reopen triggers are defined for new evidence, changed inputs, changed cutoffs or material revisions. 12. The record is explicitly not an audit opinion, certification, compliance determination or approval. ## Suggested acceptance rules - Every material claim/number is either fully mapped or explicitly marked missing/blocked. - Every exception remains open until its stated closure evidence exists. - The review file binds to the exact output version/hash. - A substantive change produces a successor version and reopens affected checks. - Preparation, recommendation, approval and execution are separate authority states.