v0.1.0 — canonical ISO jurisdiction reference
First release of Cbox Geo — the shared jurisdiction primitive for the Cbox portfolio.
Countries, subdivisions and currencies bound to stable ISO codes (3166-1 alpha-2 / 3166-2 / 4217), resolved deny-by-default, wrapping the vetted commerceguys/addressing dataset — with a tax-profile layer on top for downstream billing and tax engines.
Highlights
Contracts\JurisdictionRepository—countries()/find()/subdivisions(); unknown input returnsnull, never a guess.- Value objects:
CountryCode,SubdivisionCode(always carries its parent country),Jurisdiction,Subdivision,TaxProfile. - Tax profile per jurisdiction:
regime,regimeModule,isEuMember,isSubFederal,requiresRooftop— structural facts, not rates. - Sub-federal split from rooftop: Canada resolves at province level; the US needs rooftop geocoding.
- No forced migration — the ISO data ships in the library; persistence is an optional host concern.
Quality
PHP ^8.4 · Laravel ^12 || ^13. Gate green: pint · phpstan level max (0 errors) · 16 tests / 43 assertions · license-check (76 permissive deps) · CycloneDX SBOM · composer audit clean.
Status: early / pre-1.0. Contracts are settled; API may still evolve before 1.0.