cfo-hrm / EXPERIMENT.md
aznatkoiny's picture
Publish CFO-HRM Mindweave reconciliation checkpoint
d151de8 verified
|
Raw
History Blame Contribute Delete
4.34 kB
# Mindweave experiment — 2026-07-23
This report records the first external-data experiment for CFO-HRM. The result
is a shadow-mode learning artifact, not evidence that the model is ready for a
real accounting close.
## Data and split
The experiment uses revision-pinned, CC BY-NC 4.0 Mindweave bank and accounting
ledger datasets. Exact revisions, file hashes, and attribution are recorded in
`THIRD_PARTY_DATA.md` and each run's `dataset_manifest.json`.
The adapter verified:
- 3,208 unique provenance-derived bank-to-cash-GL pairs;
- 24 source-less monthly bank fees, conservatively labeled unmatched;
- 3,232 bank rows in 145 independently shuffled fixed-size cases; and
- no unresolved rows in the pinned snapshot.
The chronological split prevents period leakage:
| Split | Periods | Cases | Bank rows | Matches | Fees |
| --- | --- | ---: | ---: | ---: | ---: |
| Train | 2024-01 through 2025-06 | 92 | 2,021 | 2,003 | 18 |
| Validation | 2025-07 through 2025-09 | 23 | 509 | 506 | 3 |
| Test | 2025-10 through 2025-12 | 30 | 702 | 699 | 3 |
Independent deterministic shuffling reduced same-position bank/GL targets from
98.6% to 4.1%, removing a positional shortcut.
## Training
The robust run starts from the synthetic-pretrained checkpoint at step 900 and
uses:
- 150 outer steps and four HRM deep-supervision segments;
- 75% Mindweave and 25% synthetic retention batches;
- 0.25 reference, 0.10 description, and 0.05 source-module dropout on external
training rows only; and
- external validation plus a fixed, disjoint synthetic retention evaluation.
Checkpoint selection prioritizes external match F1, external exception macro
recall, zero false auto-matches, synthetic retention metrics, and then external
calibration. It selected step 50.
## Held-out results
All selective metrics use a 0.90 confidence threshold.
### Raw test split
| System | Assignment accuracy | Match F1 | Exception accuracy | Bank-fee recall | ECE | Auto-match coverage | False auto-match rate |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Synthetic-pretrained HRM | 99.43% | 99.43% | 7.41% | 100% | 14.76% | 52.99% | 0% |
| Deterministic evidence baseline | 100% | 100% | 99.57% | 0% | 0.83% | 99.57% | 0% |
| Robust fine-tuned HRM, step 50 | 100% | 100% | 100% | 100% | 7.95% | 83.90% | 0% |
The baseline's perfect matching result is important: this synthetic dataset is
largely solvable with exact amount, date, and provenance evidence. The HRM does
not establish an advantage on matching. Its useful measured improvement here is
exception classification, particularly recognizing bank fees.
### Stress tests
| Test | Assignment accuracy | Match F1 | Bank-fee recall | Selective coverage | False auto-match rate |
| --- | ---: | ---: | ---: | ---: | ---: |
| Reference masked | 95.44% | 95.42% | 33.33% | 80.06% | 0% |
| Source module, reference, and description masked | 96.30% | 96.28% | 0% | 48.29% | 0% |
The model abstained safely at the chosen threshold in these tests, but the
accuracy and fee-recall degradation show that it still depends heavily on clean
synthetic identifiers and contextual fields.
On the run's fixed synthetic retention split, the selected checkpoint achieved
95.71% match F1 and 34.22% exception macro recall. The corresponding starting
checkpoint achieved 95.41% and 37.86%, respectively: matching was retained,
while exception behavior still shifted across domains.
## End-to-end controlled execution
Held-out test case 8 contains 19 bank rows, including one monthly fee. The
promoted checkpoint proposed 18 matches and one unmatched bank fee. Go controls
reported:
```text
review_queue: exception_review
controls_passed: 18
blocked_candidates: 0
unmatched_bank_rows: 1
requires_human_review: true
posting_authorized: false
audit verification: 1 hash-chained event verified
```
The review request, decision, and audit files were all written with mode
`0600`. No component contains an ERP posting or approval client.
## Decision
Promote `runs/mindweave-robust-20260723/best.pt` only as the current local
shadow-mode checkpoint. Keep the deterministic baseline beside it and report
both. The next meaningful evaluation needs harder grouped transactions,
reference corruption, split/aggregate payments, GL-only items, and ultimately
approved human-reconciled real exports.