Synthetic walkthrough
One reproducible return packet.
This walkthrough uses a synthetic 2025 Quebec salary example. It contains no personal records, no government identifiers, and no real slips.
Run
Calculate from JSON.
Clone dev, install the local web extra, then run the public CLI against the synthetic input.
# Windows PowerShell
.\.venv\Scripts\taxagent.exe calculate examples\synthetic_2025_qc_salary_student.json --output synthetic_result.json
# Linux or macOS
taxagent calculate examples/synthetic_2025_qc_salary_student.json --output synthetic_result.json
The checked example is a plain TaxReturnInput JSON file. The CLI writes a deterministic calculation packet and returns success only when the result status is complete.
Expected output
Current engine result.
| Status | complete |
|---|---|
| Coverage profile | 2025-qc-single-salaried-student-v1 |
| Federal headline | 2546.70 refund |
| Quebec headline | 863.84 refund |
| Line records | At least 600 line records across the federal and Quebec returns and schedules. |
Blocked case
Unsupported facts stay visible.
If the same synthetic input is changed to declare self-employment, the public test expects the CLI to return a blocked result with blocker code unsupported_situation and input path taxpayer.has_self_employment.
Blocked results do not expose federal or Quebec refund/balance headlines.