PolicyEngine / PolicyEngine/policyengine.py
Axiom-engine pilot model version for Ghana (rulespec-gh)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7
- Forks
- 9
- Avg merge
- 15h 51m
- Merged PRs (30d)
- 9
Description
Following the Belgium pilot pattern (#447, draft PR #448: AxiomBelgiumPilot as a raw TaxBenefitModelVersion outside certified-release machinery): add an AxiomGhanaPilot wrapping the rulespec-gh encodings (Act 1111 individual rate schedule + Act 896 Fifth Schedule personal reliefs, both merged and GHAMOD-validated — per-case parity exact to the cedi on everything both systems model; GHAMOD's own missing 35% top band documented and reported upstream to UNU-WIDER).
Prerequisite: the composed gross-to-tax program (rulespec-gh#5 — s.2 chargeable-income chain + axiom-programs spec). Once that lands, this adapter is thin: household inputs → composed program via the engine bindings → Simulation(...).run().
Motivation: runnable pip install policyengine examples for Ghana strengthen the TaxDev/IFS conversation about African tax-benefit tooling (inbound from ODI, July 2026).
🤖 Generated with Claude Code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the Belgium pilot pattern in issue #447 and draft PR #448, then check the rulespec-gh#5 prerequisite and its composed gross-to-tax program. Trace how household inputs reach the engine bindings and Simulation(...).run(). Done means a runnable AxiomGhanaPilot with exact per-case parity for modeled rules, plus documentation of GHAMOD's missing 35% top band.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100