PolicyEngine / PolicyEngine/snap-payment-error-rates

Swap interim hand-written RuleSpec module for the upstream encoder version (pin + provenance in verification strip)

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

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
19m
Merged PRs (30d)
1

Description

What

Once the encoder-produced module for 7 U.S.C. 2013(a)(2) merges upstream (TheAxiomFoundation/rulespec-us#781, gated on TheAxiomFoundation/axiom-corpus#292), replace the hand-written interim module at public/rulespec/us/statutes/7/2013/a/2.yaml with the upstream version:

  1. Vendor the upstream YAML via a pinned fetch — record (module id, rulespec-us ref, content sha256) and verify in CI rather than hand-copying (reusable check tracked in TheAxiomFoundation/axiom-rules-engine#98).
  2. Keep the WASM oracle tests in src/lib/costShareAxiom.test.ts unchanged — they encode published FY2025 assignments and boundary semantics, and must pass identically against the upstream module (rule names may need remapping in src/lib/costShareAxiom.ts if the encoder names differ).
  3. Update the in-app verification strip to surface provenance, not just execution: module id + pinned rulespec-us ref/sha alongside the engine version.
  4. Apply the same treatment to the vendored 7 CFR 275.23(d)(2) module used by /qc-liability.

Why

The interim module is behavior-verified but hand-written with sha256:local proof atoms — no corpus grounding or encoder provenance. The strip currently attests execution ("recomputed by the Axiom rules engine") without distinguishing grounded provenance; after the swap it should attest both.

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

Start with public/rulespec/us/statutes/7/2013/a/2.yaml, src/lib/costShareAxiom.ts, src/lib/costShareAxiom.test.ts, and the in-app verification strip. Check the upstream rulespec-us and axiom-corpus dependencies before changing the vendored modules, and review axiom-rules-engine#98 for the reusable verification approach. Done means both specified modules have pinned provenance verified in CI, the oracle tests remain passing, and the strip shows module and rulespec provenance alongside the engine version.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, wasm
Domain
ci-cd, devtools, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.