Generates a detailed receipt of everything you accomplished in a coding session — files changed, problems solved, decisions made, debt incurred, and what's l...
"If you can't explain what you did today in three sentences, you either did nothing or you did everything. Both need a receipt."
End of your session. You've been coding for hours. Someone asks "what did you work on?" and you say "...stuff. The checkout thing. I think I fixed a bug?" Your commit messages say wip, fix, fix again, actually fix, and please work.
Work Receipt analyzes your session's artifacts — git history, file changes, test results, terminal commands — and produces a structured summary of:
╔══════════════════════════════════════════════════════════════╗
║ WORK RECEIPT ║
║ ║
║ Session: Tuesday, March 3, 2026 ║
║ Duration: 4h 22m (1:15 PM — 5:37 PM) ║
║ Branch: feature/multi-currency-checkout ║
╠══════════════════════════════════════════════════════════════╣
║ ║
║ ACCOMPLISHED: ║
║ ✓ Multi-currency tax calculation (USD, EUR, GBP, JPY) ║
║ ✓ Zero-decimal currency handling (JPY, KRW) ║
║ ✓ Tax rounding edge case for sub-cent amounts ║
║ ~ Partial: Currency conversion caching (70% complete) ║
║ ║
║ CHANGED: ║
║ ├── Modified: 6 files (+184 lines, -47 lines) ║
║ │ ├── src/checkout/tax.ts .......... +89 / -12 ║
║ │ ├── src/checkout/currency.ts ..... +42 / -8 ║
║ │ ├── src/types/currency.ts ........ +18 / -3 ║
║ │ ├── src/checkout/tax.test.ts ..... +24 / -6 ║
║ │ ├── src/checkout/currency.test.ts +11 / -18 ║
║ │ └── src/config/rates.json ........ +0 / -0 (reformatted)║
║ ├── Created: 1 file ║
║ │ └── src/checkout/decimal-precision.ts (29 lines) ║
║ └── Commits: 4 ║
║ ├── "feat: multi-currency tax calculation" ║
║ ├── "fix: zero-decimal currency handling (JPY/KRW)" ║
║ ├── "fix: sub-cent rounding edge case" ║
║ └── "wip: currency conversion caching (incomplete)" ║
║ ║
║ DECISIONS MADE: ║
║ ├── Used per-currency precision lookup (not flat decimal) ║
║ │ Reason: JPY/KRW have 0 decimals, BHD has 3 decimals ║
║ ├── Round after tax, not before ║
║ │ Reason: Rounding before creates up to 0.5% error ║
║ └── Separate decimal-precision module (not inline) ║
║ Reason: Reusable for display, export, and reporting ║
║ ║
║ TESTS: ║
║ ├── Added: 4 new tests ║
║ ├── Modified: 2 existing tests ║
║ ├── Status: 23/23 passing ✓ ║
║ └── Coverage: 91% → 94% (+3%) for checkout/ ║
║ ║
║ LEFT BEHIND: ║
║ ├── TODO: Currency conversion cache TTL (hardcoded to 1h) ║
║ ├── TODO: Add tests for BHD (3-decimal currency) ║
║ ├── WIP: Caching layer ~70% done (needs invalidation logic) ║
║ └── DEBT: No test for concurrent currency conversions ║
║ ║
║ SESSION METRICS: ║
║ ├── Complexity: Net +12 cyclomatic complexity ║
║ ├── Debt: 1 new entry (concurrent test, ~2h to fix) ║
║ ├── Dependencies: 0 new dependencies added ║
║ └── Breaking changes: 0 ║
║ ║
║ STANDUP SUMMARY: ║
║ "Implemented multi-currency tax calculation supporting ║
║ 22 currencies including zero-decimal (JPY/KRW). Fixed ║
║ rounding edge case for sub-cent amounts. Currency conversion ║
║ caching is 70% done, will finish tomorrow." ║
╚══════════════════════════════════════════════════════════════╝
SOURCE:
├── Commit messages (especially conventional commit prefixes: feat, fix, refactor)
├── Diff analysis (what changed functionally, not just syntactically)
├── Test additions (new tests = new verified behavior)
└── Branch description / PR draft
CLASSIFICATION:
├── ✓ Complete: Committed, tested, ready for review
├── ~ Partial: Work in progress, documented but unfinished
├── ✗ Abandoned: Started but reverted or stashed
└── ⟳ Refactored: Changed structure without changing behavior
DETECTION:
├── Stashed alternatives (you tried X, went with Y)
├── TODO/FIXME comments (you noted a decision to defer)
├── Reverted commits (you chose against something)
├── Code comments with "because", "instead of", "rather than"
└── Config changes (explicit choices about values/settings)
DETECTION:
├── Uncommitted changes (work still in progress)
├── TODO/FIXME added during this session
├── Failing tests that were added but not yet fixed
├── Incomplete function signatures (return type is any/unknown)
├── Empty function bodies or placeholder implementations
└── WIP commits (literally "wip" in the message)
METRICS:
├── Lines of code: net addition/reduction
├── Complexity: cyclomatic complexity change
├── Test coverage: percentage change
├── Dependencies: new libraries added
├── Debt: shortcuts taken, tests skipped, TODOs added
├── Files touched: total surface area of changes
└── Breaking changes: interface/schema modifications
Yesterday: Implemented multi-currency tax calculation for 22 currencies.
Fixed zero-decimal currency handling and rounding edge cases.
Today: Will complete currency conversion caching and add BHD tests.
Blockers: None.
HANDOFF: feature/multi-currency-checkout
├── STATUS: 85% complete
├── WHAT'S DONE: Tax calc works for all currencies, fully tested
├── WHAT'S LEFT: Caching layer needs invalidation logic (see TODO in currency.ts:42)
├── WATCH OUT FOR: JPY and KRW are zero-decimal — don't assume 2 decimal places
├── DECISIONS LOCKED: Round after tax, not before. Precision lookup table in decimal-precision.ts
├── OPEN QUESTIONS: Cache TTL — 1h is a guess, may need tuning in production
└── RUN: npm test -- checkout/ (should be 23/23 green)
## Multi-Currency Tax Calculation
Adds support for 22 currencies in the checkout tax calculation,
including zero-decimal currencies (JPY, KRW) and 3-decimal currencies (BHD).
### Changes
- New `decimal-precision.ts` module with per-currency precision lookup
- Updated `tax.ts` to use precision-aware calculation
- Fixed rounding: now rounds after tax application (not before)
- 4 new tests, 2 updated tests (91% → 94% coverage)
### Not Included
- Currency conversion caching (separate PR, in progress)
- Concurrent conversion tests (tracked as tech debt)
When your session has messy commits, Work Receipt suggests a clean rewrite:
CURRENT COMMITS:
├── "wip"
├── "fix stuff"
├── "actually fix the thing"
└── "wip: caching maybe"
SUGGESTED REWRITE:
├── "feat: multi-currency tax calculation with precision lookup"
├── "fix: handle zero-decimal currencies (JPY, KRW) in tax calc"
├── "fix: round after tax application to prevent sub-cent errors"
└── "wip: currency conversion caching (invalidation pending)"
Developers consistently underestimate what they accomplished and overestimate what they have left. Without a receipt, work becomes invisible — to managers, to teammates, and to yourself.
Work Receipt makes invisible work visible. Every decision documented. Every line accounted for. Every TODO tracked.
Zero external dependencies. Zero API calls. Pure git and filesystem analysis.
ZIP package — ready to use