Cash Recovery Engine

Reproduce

← Back to outcome

REPRODUCE — Cash Recovery Engine

Everything is deterministic (seeded) and dependency-free. Node 18+ only.

1. Reproduce the verified numbers

cd delivery-package/cash-recovery-engine
node verify.mjs

Expected: Verification PASS: 13/13 checks passed (100%). The suite writes verification-report.json and verification-report.md. Key figures (seeds fixed at history=7, test=101, eval capacity=200h):

MetricExpected value
Self-cure AUC0.8173
Calibration ECE / Brier0.018 / 0.1588
Engine cash$1,665,446
FIFO / Largest / Random cash$565,742 / $733,603 / $454,269
Skill vs strongest baseline+127.0%
Lift vs FIFO2.94×
Movable-cash ceiling / capture$3,417,896 / 48.7%

2. Reproduce the demo deliverables

node run.mjs

Writes reports/collections-worklist.csv, reports/engine-output.json, reports/executive-summary.md, and public/ledger.js (the web-tool snapshot). Demo headline (seeds history=7, open=23, capacity=80h): open AR $19,011,646 / 900 invoices → 61-invoice worklist in 80h → projected $524,242 accelerated (2.76% of AR).

3. Reproduce the proof package

From the repo root:

node tools/forge-proof.mjs --outcome delivery-package/cash-recovery-engine \
  --verify "node verify.mjs" --report verification-report.json

4. Verify file integrity (checksums)

node tools/forge-proof-verify.mjs --outcome delivery-package/cash-recovery-engine

5. What controls the numbers

  • Seeds: verify.mjs uses history seed 7, test seed 101; run.mjs uses history

seed 7, open seed 23. Change a seed → different (but internally consistent) numbers.

  • The synthetic world: src/synth.mjs (coefficients, uplift shape, effort

model). Editing it changes every reported figure — it is the benchmark.

  • Model hyperparameters: { l2: 1.0, lr: 0.5, iters: 400 } in verify.mjs,

run.mjs, and src/engine.mjs.

6. Reproduce on real data

Place data/official/history.csv and data/official/open.csv (schema in run-deploy-instructions.md) and re-run node verify.mjs. An officialBenchmark block appears and the official control-AUC check runs on your data.