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.

Statuscomplete
Coverage profile2025-qc-single-salaried-student-v1
Federal headline2546.70 refund
Quebec headline863.84 refund
Line recordsAt 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.