See what it catches.
An assistant that checks the numbers, finds what doesn't belong, and learns your rules — without your data ever leaving the machine.
Pick something to check
Flag patients who need urgent review
Twelve patient charts, each with a plain early-warning score. Watch it learn the escalation rule from examples, then watch it refuse to guess when the examples don't say enough.
| Chart | Systolic BP | Heart rate | Temp (°C) | Score |
|---|---|---|---|---|
| P0001-E01 | 108 | 74 | 36.7 | 1 |
| P0002-E01 | 116 | 82 | 36.9 | 2 |
| P0003-E01 | 122 | 88 | 36.6 | 3 |
| P0004-E01 | 128 | 70 | 37.0 | 0 |
| P0005-E01 | 131 | 95 | 36.8 | 4 |
| P0006-E01 | 139 | 63 | 37.1 | 2 |
| P0007-E01 | 144 | 102 | 36.5 | 6 |
| P0008-E01 | 148 | 77 | 37.3 | 5 |
| P0009-E01 | 153 | 58 | 36.9 | 7 |
| P0010-E01 | 159 | 91 | 37.2 | 8 |
| P0002-E02 | 162 | 68 | 36.8 | 9 |
| P0011-E01 | 171 | 84 | 37.0 | 12 |
Chart IDs are placeholders only — no name, date of birth, or other identifying detail is in this sample.
It learned: score 7 or higher → call the rapid response team.
4 of the 12 patients above meet or beat that score — they're highlighted in the table.
See it under the hood
The exact rule the engine wrote, from 6 worked examples:
op=classify params={"rule": ["ge", 6.5, "met_call", "ward_review"], "src": ["key", "news2_score"]}
It refused to guess — and asked exactly the right question: “What should happen for a patient at score 6?”
Given a thinner set of examples, two different cutoffs both fit what it was shown. Instead of picking one, it named the one score that would tell them apart.
See it under the hood
The engine's actual refusal:
DECISION: REFUSE (underdetermined)
missing labeled input: {"news2_score": 6, "patient_ref": "P0198-E01", "resp_rate_bpm": 24, "spo2_pct": 93}
Real result, recorded from a live run of the actual engine — download the toolkit to reproduce it on your machine.
Spot out-of-spec parts instantly
Twelve measured parts, each with how far off nominal size they landed. Run them through the tolerance check, then teach it a stricter rule for spotting a drifting machine.
| Part | Machine | Deviation (µm) |
|---|---|---|
| PT-3001 | M4 | 8 |
| PT-3002 | M5 | 14 |
| PT-3003 | M4 | 19 |
| PT-3004 | M6 | 22 |
| PT-3005 | M5 | 31 |
| PT-3006 | M4 | 38 |
| PT-3007 | M6 | 44 |
| PT-3008 | M5 | 52 |
| PT-3009 | M4 | 61 |
| PT-3010 | M6 | 68 |
| PT-3011 | M5 | 77 |
| PT-3012 | M4 | 90 |
5 of the 12 parts are out of tolerance — they're highlighted above.
The line: a deviation of 47.5 micrometers or more.
See it under the hood
The exact rule, learned from 8 worked examples:
op=classify params={"rule": ["ge", 47.5, "out_of_tolerance", "in_tolerance"], "src": ["key", "deviation_um"]}
Show it seven in-spec readings from one machine, then a run where the last several drift the same direction.
It learned: flag any run of 8 readings drifting the same direction.
Seven in a row wasn't enough to flag. Eight was exactly the line it drew.
See it under the hood
The exact rule the engine wrote:
op=classify params={"rule": ["ge", 8, "flag_run", "no_flag"], "src": ["key", "consecutive_same_side"]}
Real result, recorded from a live run of the actual engine — download the toolkit to reproduce it on your machine.
Catch duplicate payments
A month of processor settlement payments. Find the duplicates first, then check the whole month against the internal books.
| Date | Vendor | Amount |
|---|---|---|
| May 1 | Summit Hardware | $2,899.10 |
| May 3 | NorthStar Retail | $4,520.00 |
| May 6 | Harbor Bakery | $355.20 |
| May 6 | NorthStar Retail | $4,520.00 |
| May 9 | Meridian Pet Supply | $940.25 |
| May 10 | BluePeak Coffee | $1,275.50 |
| May 12 | Granite Fitness | $1,540.00 |
| May 13 | BluePeak Coffee | $1,275.50 |
| and 18 more… | ||
Found 2 duplicate payments worth $5,795.50 — the same vendor, same amount, just days apart.
NorthStar Retail: $4,520.00, paid twice, 3 days apart. BluePeak Coffee: $1,275.50, paid twice, 3 days apart. Both are highlighted above.
Matched 22 payments automatically. 10 lines need a second look.
Real result, recorded from a live run of the actual engine — download the toolkit to reproduce it on your machine.
Tie out the month-end close in one click
A 5-line lead sheet for the month-end close. Tie it out against the trial balance, then check whether the fixed-asset schedule rolls forward cleanly.
| Account | Reported | Ties? |
|---|---|---|
| Cash | $10,750.00 | —✓ ties |
| AR | $8,600.00 | —✗ off by $1,200.00 |
| AP | −$5,350.00 | —✓ ties |
| Accrued Liabilities | −$800.00 | —✓ ties |
| Fixed Assets (Net) | $15,900.00 | —✓ ties |
4 of 5 lines tie out exactly. AR is off by $1,200.00.
Cash, AP, Accrued Liabilities, and Fixed Assets (Net) all check out clean — see the ticks above.
One account doesn't roll forward — off by $200.00.
Beginning $15,000.00 + additions $1,500.00 − disposals $600.00 = $15,900.00 computed. The trial balance says $16,100.00.
Real result, recorded from a live run of the actual engine — download the toolkit to reproduce it on your machine.
Take it with you
The full toolkit, runs offline on your computer — no install, no account, no data leaves your machine.
Download apostol-reconcile-demo.zipFor your IT and security team
- SHA-256
- Contents
- 87 files · 5.99 MB (5,993,233 bytes)
- Network
- No network calls, no telemetry, no account. Everything runs as a local process on the files you point it at.
- Index
- Full command-by-command index:
industries-index.md, included alongside this page and inside the zip atsamples/industries/INDEX.md.
Every result shown above on this page is a recorded output of this same toolkit's real engine, run against the sample files also included in the download — not a simulation.