Takt Proof
What Takt has shown, and how to check it
Takt lines up independent work records, finds where they disagree, computes the supported difference in code, and exports a packet anyone can re-verify. Every number on this page is read from evidence files committed to the repository.
- Evidence generated from commit
- e8a7363
- Deployed application commit
- 8e36ff2
- Image reading on this deployment
- synthetic samples only (gemini-3.8-flash)
The deployed commit is newer than the evidence commit. Changes after the evidence commit are documentation, proof-page, or deployment changes; rerun the scripts below to regenerate the evidence at any commit.
Canonical case · TAKT-DEMO-001
Synthetic fixture: an invented worker, employer, and records.
Tue, Sep 1, 2026
Schedule + manager's text + worker
7:40 AM
Employer time record
8:00 AM
20 min not on the employer record
20 min × $18.50 × 1.5 ÷ 60 = $9.25 (CA-OT-DAILY-8)
- Facts extracted / reviewed
- 58 / 58 (0 rejected)
- Difference claimed
- $9.25 (earned $1,489.25, paid $1,480.00)
- Rules applied
- CA-OT-DAILY-8, CA-REG-HOURLY, TAKT-ROUND-CENTS
- Verifier
- VERIFIED_PACKET · takt-verify/1 · 20 checks passed
- Packet SHA-256
- 5e226d9f42a92c3cff75cce75d180d81f7c326ae6cbfbd5fed0aff4fe79ec876
- Image facts
- worker_manual — image facts were entered from the fixture labels because no vision model was run for this receipt
Reproduce: npx tsx scripts/canonical-run.ts then npm run verify:packet -- evidence/canonical/takt-demo.zip. Or open the same case in the app from My cases → sample cases.
What can go wrong
| Case | Expected | Observed | Amount |
|---|---|---|---|
| TAKT-DEMO-001 | PACKET_VERIFIED | PACKET_VERIFIED ✓ | $9.25 |
| TAKT-CONTROL-001 | PACKET_VERIFIED | PACKET_VERIFIED ✓ | $0.00 |
| TAKT-AMBIG-001 | CALCULATION_BLOCKED | CALCULATION_BLOCKED ✓ | none (refused) |
| TAKT-UNSUPPORTED-001 | UNSUPPORTED_CASE | UNSUPPORTED_CASE ✓ | none (refused) |
- TAKT-CONTROL-001: Schedule, time record, wage statement, and messages all agree. Takt should report no discrepancy.
- TAKT-AMBIG-001: Two exports of the employer time record disagree about Sep 2 (8:00 vs 8:15 AM), and the Sep 1 early start has no independent support. Takt must not produce a confident amount for the affected pay period.
- TAKT-UNSUPPORTED-001: The worker is paid partly by piece rate. Piece-rate overtime uses a different regular-rate method, so Takt must refuse an authoritative amount and point to the Labor Commissioner.
Results with denominators
- Case outcomes correct
- 4 / 4
- Day decisions correct
- 40 / 40
- Discrepancy sets exact
- 4 / 4
- Amounts exact
- 4 / 4
- False discrepancies on the healthy control
- 0
- Tampered packets rejected
- 10 / 10
These are four synthetic cases written alongside Takt's parser. They show Takt behaves as designed on these records, including refusing when it should. They are not an accuracy estimate for real-world documents, and they are not user results. PDF facts: deterministic native extraction. Image facts: entered from fixture labels (worker_manual); no vision model was run.
Try the verifier yourself
Download the canonical packet and TAKT-TAMPER-001 (the same packet with Form 1's grand total changed to $925.00 and its hash updated), then drop each on Takt Verify. The first passes. The second fails.
Tamper tests on the canonical packet
- calculation.csv owed changed from 9.25 to 90.25VERIFICATION_FAILED · file:calculation.csv, csv.matches
- Same CSV edit, with the manifest hash updated to matchVERIFICATION_FAILED · csv.matches
- Manifest totals and period owed changed to 92.50VERIFICATION_FAILED · replay.calculations, replay.totals
- Overtime line changed from 20 to 200 minutesVERIFICATION_FAILED · replay.calculations, arithmetic.independent
- Form 1 grand total changed to 925.00, manifest hash updatedVERIFICATION_FAILED · form1.readback
- One byte of an included source PDF changed after generationVERIFICATION_FAILED · file:sources/02-Timecard_Export_0913.pdf, sources.included
- An unlisted file added to the ZIPVERIFICATION_FAILED · file:extra-proof.pdf
- A fact's review status changed to unreviewedVERIFICATION_FAILED · facts.reviewed, replay.days
- A discrepancy's rule changed to one not in the pinned rulesetVERIFICATION_FAILED · rules.pinned, replay.discrepancies
- manifest.json deleted from the packetUNVERIFIABLE_PACKET · manifest.present
Comparison with a general-purpose AI model
Not completed (NOT_COMPLETED_PROVIDER_UNAVAILABLE, 2026-09-26). The model provider refused or failed a request before the benchmark finished. No partial results are published and no comparison is claimed. No comparison is claimed.
Not shown
- worker_manual — image facts were entered from the fixture labels because no vision model was run for this receipt
- Any result with real workers or real records. Every case here is synthetic.