PolicyEngine / PolicyEngine/policyengine.py

Add source-only Armenia Axiom integration

Open
#509 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
7
Forks
9
Avg merge
15h 51m
Merged PRs (30d)
9

Description

Scope

Add a source-only Armenia integration behind the policyengine.py interface. The integration must execute RuleSpec through the real Axiom runtime and preserve Microcosm household-weight inheritance.

Acceptance criteria

  • Add AMYearData and PopulaceArmeniaDataset without registering or downloading an uncertified population.
  • Require a content-addressed Microcosm release manifest and verify the supplied H5 before loading it.
  • Add an Axiom-backed Armenia model identity and execution receipt.
  • Require cryptographically verified Axiom encoder apply manifests for RuleSpec inputs.
  • Register PolicyEngine variables from Axiom's derived-variable metadata.
  • Reject PolicyEngine policy dictionaries and behavioral overlays; counterfactuals require a separately signed RuleSpec artifact.
  • Exercise executable behavior only through the real Axiom runtime. Tests skip when the native source stack is unavailable.

Non-goals

This work does not certify an Armenian population, establish current-law completeness, publish national results, or implement Armenian tax-benefit rules in Python.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the policyengine.py interface first, then trace the existing country integration and dataset patterns relevant to AMYearData and PopulaceArmeniaDataset. Confirm the native Axiom and Microcosm source stack available for testing; the work is done when the stated manifest verification, runtime execution, variable registration, rejection, and non-certification requirements are exercised without implementing Armenian rules.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.