From 670e3d6494593ae474ac02be00dcccf01c81319e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 22:24:54 -0400 Subject: [PATCH] Allow axiom: queued only when the signed encoder is blocked Follow-up to #9641 from its independent review. Use queued only when the signed encoder is blocked, record the blocker in the issue, and require separate approval for each billed encoder run. The PR template and CLAUDE.md now also allow external contributors to write `axiom: needed`, and the template's YAML-test checkbox applies only to policy changes. Co-Authored-By: Claude Opus 5.5 --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- CLAUDE.md | 3 ++- CONTRIBUTING.md | 2 +- changelog.d/axiom-parity-review-followups.changed.md | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 changelog.d/axiom-parity-review-followups.changed.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 22ca7e966dc..3570b4744a9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,9 +4,9 @@ Fixes # ## Test plan -- [ ] YAML tests whose expected values come from an external source (statute, official form or worksheet, official calculator) +- [ ] For policy changes: YAML tests whose expected values come from an external source (statute, official form or worksheet, official calculator); otherwise mark not applicable. - [ ] `make format` - [ ] Changelog fragment in `changelog.d/` - + axiom: encoded-correct | encoded | queued | n/a: diff --git a/CLAUDE.md b/CLAUDE.md index a1563390363..b5dd7352e10 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -132,8 +132,9 @@ changelog.d/medicaid-ce-exclusions.md ## Axiom Parity (required for policy changes) - Any PR that adds, updates or fixes policy must also leave the same provision correct in rulespec-us. Put one line in the PR body: `axiom: encoded-correct | encoded | queued | n/a: `. -- A `queued` rulespec-us issue must be dispatch-ready and labelled `pe-parity`. It needs the module path and corpus citation, the verbatim law, the required outputs, and companion tests from the same external source as your YAML tests. See `CONTRIBUTING.md#axiom-parity`. +- Use `queued` only when the signed encoder is blocked; record the blocker in the issue. Each billed encoder run requires separate approval. A `queued` rulespec-us issue must be dispatch-ready and labelled `pe-parity`. It needs the module path and corpus citation, the verbatim law, the required outputs, and companion tests from the same external source as your YAML tests. See `CONTRIBUTING.md#axiom-parity`. - Never hand-write RuleSpec. Modules come from the signed encoder. +- If you are an external contributor and cannot complete the Axiom work, use `axiom: needed`; a maintainer will follow up. ## Code Integrity - **BEFORE DELETING ANY CODE, VERIFY IT IS ACTUALLY UNUSED** diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7a81e3041b3..84f0488c726 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -54,7 +54,7 @@ Every policy change here must also be correct in [rulespec-us](https://github.co - Federal modules live under `us/` (for example `us/statutes/26/32.yaml` for the EITC and `us/policies/irs/rev-proc-2025-32/` for annual IRS amounts). State modules live under `us-/` (for example `us-nj/statutes/54a:4-7.yaml`). Search `main` there before opening a new issue. - An `encoded-correct` claim names the module and a companion case in its `.test.yaml` that exercises the same situation as your YAML test. -- Label `queued` issues `pe-parity`. Reuse your YAML test's external expected values as the companion tests; don't copy values computed by policyengine-us. +- Use `queued` only when the signed encoder is blocked; record the blocker in the issue. Each billed encoder run requires separate approval. Label `queued` issues `pe-parity`. Reuse your YAML test's external expected values as the companion tests; don't copy values computed by policyengine-us. ## Repo-specific anti-patterns diff --git a/changelog.d/axiom-parity-review-followups.changed.md b/changelog.d/axiom-parity-review-followups.changed.md new file mode 100644 index 00000000000..049351c2611 --- /dev/null +++ b/changelog.d/axiom-parity-review-followups.changed.md @@ -0,0 +1 @@ +Documented that `axiom: queued` is allowed only when the signed encoder is blocked, and that external contributors may write `axiom: needed`.