Skip to content

ear: fold Tier-2a eccn: shape keys onto ccl: keys (638 generated equivalences) - #11

Open
JSv4 wants to merge 1 commit into
mainfrom
ear-eccn-shape-equivalences
Open

ear: fold Tier-2a eccn: shape keys onto ccl: keys (638 generated equivalences)#11
JSv4 wants to merge 1 commit into
mainfrom
ear-eccn-shape-equivalences

Conversation

@JSv4

@JSv4 JSv4 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

OpenContracts PR Open-Source-Legal/OpenContracts#2276 adds a Tier-2a shape grammar that recognises "ECCN 3A611" from the literal anchor alone and emits the shape-level key eccn:3a611 — deliberately not ccl:, so core never hardcodes this pack's prefix. Without pack-side mapping those keys resolve to nothing on an install that carries this pack.

This adds the fold: eccn:<code> -> ccl:<code> for each of the 638 ECCNs in specs/ccl.json, generated by a new ear/gen_eccn_equivalences.py (same pattern as fort_worth/gen_irc_equivalences.py, and the same per-key mechanism as the existing act:eccn-* rows — pack rewrite_rules are never loaded, so per-key rows are the only pack-side option). scripts/validate_pack.py ear passes.

Noted for a separate follow-up, not touched here: the itar pack's 22 c.f.r. alias now fires on Tier-1 § citations (also from PR 2276), so a non-ITAR Title 22 cite like 22 C.F.R. § 51.2 will key as itar:51.2 (unresolvable, lands in the frontier) instead of cfr-22:51.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant