- Requested
- Add a CSV export button to the finance summary page.
- Allowed to change
reports/export/*reports/ui/export-actions.tsxconfig/export.yaml- Actually changed
reports/export/csv_exporter.pyreports/ui/export-actions.tsxconfig/export.yamlAlso changed reports/auth/session_policy.py outside the requested scope.- Checks
- export tests 12/12 passed
- lint clean
- no migrations
- manual CSV check with Cyrillic text passed
- Risks / limits
- the out-of-scope change affects the session lifetime for file downloads
- that behavior is not covered by the export tests
- Needs you
- Approve the session_policy.py change before merge.
The merge button still needs a human.
DiffReceipt turns an AI-assisted coding run into a clear receipt: what was requested, what changed, what was checked, and where a human still needs to decide.
For teams already using Cursor, Claude Code, Codex, Copilot, or similar tools. Early stage. Runs locally as a CLI. Demo data below.
Not another dashboard. A receipt that leads to a decision.
The first screen shows one finished piece of work. If the reviewer needs more depth, they can open the run list or inspect the receipt for a specific change.
Requested
The original task stays at the top, so the reviewer does not reconstruct context from chat history.
Changed
Allowed scope and real touched files sit side by side. Anything outside the request is visible.
Checked
Tests, lint, and manual checks are separated from the agent promise.
Human decision
The receipt ends with one concrete action before merge.
A ready receipt first, all runs second.
The reviewer sees the useful summary first. The table stays as the second layer, not the first screen.
Open demo runs| Normal review | Find the task, diff, checks, and risk in different places. |
|---|---|
| DiffReceipt | One filled receipt with request, files, checks, and decision. |
| Memory | A known past failure is raised before a similar change moves forward. |
If a similar failure happened before, it appears in the receipt.
The example below shows a run where a known rule stops a risky change from passing silently.
The team wrote the rule after a previous failure. DiffReceipt raised it, stopped automatic acceptance, and handed the decision to a human.
Memory example- Requested
- Increase the allowed login wait time for users on slow connections.
- Allowed to change
auth/login/*config/session.yaml- Actually changed
auth/login/timeout_policy.pyconfig/session.yaml- Checks
- the old failure scenario was repeated
- the regression was stopped before merge
- the touched files stayed inside the allowed scope
- Risks / limits
- a similar change previously broke forced sign-out
- the "forgotten open browser" scenario still needs a manual check
- Needs you
- Approve the new wait time after the manual safety check.
Questions before the first review.
Does it change code?
No. This demo is read-only: it packages a receipt and does not write back to the repository.
Why open with one receipt?
Because a reviewer first needs a finished example, not a table with no context.
Is the demo data real?
It is a demonstration set with human-readable task names. The receipt format is the same as the working version.
What does this NOT do?
DiffReceipt is not a sandbox and not a replacement for human review. The hard boundary is still commit and merge: a person decides what gets accepted.
What should I open next?
Open demo runs, choose a receipt, and check the decision that still needs a human.
Start with one repository and one receipt.
It's early days. We'll set this up together with one or two teams: one repository, one workflow, a few days. Then you decide whether it actually helps your review.
Contact: [email protected]
DiffReceipt makes AI changes visible and reviewable before they are accepted. It does not replace the reviewer.