Skip to content

Add collector licensing and the state licensing values - #34

Draft
RobGrafrath wants to merge 2 commits into
cluster-1-us-law-to-packsfrom
collector-licensing
Draft

RobGrafrath wants to merge 2 commits into
cluster-1-us-law-to-packsfrom
collector-licensing

Conversation

@RobGrafrath

Copy link
Copy Markdown
Contributor

What this changes and why

Research into collecting commercial debt in the United States found that state licensing is the main way the states regulate it. Twenty jurisdictions license, register, or bond collectors in terms that reach commercial claims, and in three of them an agency cannot sue on a client's claim without its license (needs verification). Rob Grafrath chose collector licensing as the next decision. The record had no licensing mechanism; WAX-0008's auto-close treated an installed Compliance Pack as if it meant the agency was licensed there.

  • HIVE-0011 Collector Licensing is the mechanism, with no values. An authorization record states, for an organization and a jurisdiction, that it is licensed, registered, bonded, or exempt on a recorded basis, with its number, issuer, scope, dates, conditions, and documents, and with its own event history and expiry warnings. A Compliance Pack declares each requirement in five parts: its kind and level, the debts and activities it reaches, the facts that trigger it, the exemptions it allows, and the consequence of collecting without it. The check runs at debt approval, before outbound contact, and before a suit, and reruns when an authorization, a requirement, or a debtor's location changes. A debt that an applicable requirement reaches, without a matching authorization or exemption, is held as the cautious default, and the agency decides by policy what then happens to it.
  • MOD-US-0006 State Collection Licensing records what the statutes of the 50 states and the District of Columbia say, read on 2026-10-11, as the requirement values of the state Compliance Packs. Each row names the statute, the debts it reaches by the regulatory nature a debt type declares, its triggers and out-of-state treatment, and whether a collector without it may sue, and every value is flagged for verification. Federal law sets no general license, so compliance.us declares none.

Related edits in this pull request:

  • WAX-0008 (2.1): the auto-close example no longer equates an installed pack with a license. Auto-close still closes debts from unconfigured jurisdictions, and HIVE-0011 decides whether the agency may collect a debt in a configured one.
  • HIVE-0010: the licensing check runs on the same paths as the contact check, so a held debt is never contacted.
  • OPEN-QUESTIONS.md narrows "Commercial collection rules in the United States" to what remains after licensing and adds three items: the conditions that an authorization carries, such as bonds, trust accounts, and remittance deadlines; the facts that a rule reads beyond the debt type, such as a guarantor or the date a debt was sold; and jurisdictions below the state level, such as a city's license.

Interacting decisions

  • HIVE-0009: a requirement selects debts by the regulatory nature that the debt type declares, so a consumer-only license never holds a commercial debt.
  • WAX-0019: the organization, a legal entity, holds the authorizations.
  • WAX-0027 and WAX-0030: expiry warnings and the license documents.
  • HIVE-0005 and SHARED-0006: the check runs at debt approval, and an import routes a debt that would be held to the exceptions queue.
  • HIVE-0008: remittance deadlines that a license carries would bind client billing, recorded as an open question.
  • WAX-0033's contract types let a requirement tell collecting for a client from collecting debt that was bought.

If this touches decisions/wax/

It touches WAX-0008, in one example paragraph outside the Decision section. Hash chain integrity and event immutability are untouched, and HIVE-0011's authorization records are ordinary aggregates with their own event history. Schema ownership is untouched, because the records are HiveAR's and the requirements are pack data. Module boundaries are untouched: the auto-close mechanism keeps its job, and licensing is a separate check.

Version bumps

HIVE-0011 and MOD-US-0006 are new and Proposed at 0.1. WAX-0008 takes a minor bump to 2.1 because a paragraph outside its Decision changes. HIVE-0010 gains one sentence, and as a proposal not yet merged it takes no bump.

Choices this draft makes

  1. The holder of an authorization is the organization in v1, and offices and individual collectors follow in v2.
  2. A missing authorization holds the debt, the cautious default. The agency's policy decides whether a held debt waits, goes to review, or returns to the client, and no one overrides the hold in the moment.
  3. An unclear requirement is treated as reaching the debt. Four rows of MOD-US-0006 are unclear (Alabama, Louisiana, Massachusetts, and New Mexico), so commercial debts there are held until counsel settles them or the agency records an authorization or an exemption.
  4. When a debtor's addresses point to more than one state, each state counts, as the candidate time zones do for contact.
  5. What an agency without an authorization may still do, such as accept a payment the debtor starts, is pack content, flagged.
  6. The conditions of a license, such as bonds, trust accounts, and remittance deadlines, are recorded as information only, and enforcing them is an open question.
  7. A city's license, such as New York City's, is recorded as a question about identifiers below the state level, not as a state value.

Stacked on #33

This pull request is based on #33, branch cluster-1-us-law-to-packs, which sits on #31 and the rest of the stack, because it relies on the MOD-US family, the default test, and the contact check. When #33 merges, its base moves on.

Checklist

  • I read the decisions neighboring this change, not just the file I edited.
  • New or retitled decisions have a matching line in INDEX.md, and front matter follows CONTRIBUTING.md.
  • python3 scripts/validate.py --base main passes locally, or I am relying on CI to tell me.
  • No pricing, rates, market or customer allocation, consumer data, or client-confidential information.
  • Claims about law or regulation are flagged for verification, not asserted.
  • Commits are signed off (DCO). If I forgot, I will post the retroactive sign-off comment per CONTRIBUTING.md.
  • I license this contribution under CC BY 4.0 (prose) and Apache 2.0 (embedded code samples).

🤖 Generated with Claude Code

Rob Grafrath and others added 2 commits October 11, 2026 13:38
Rob chose collector licensing as the next decision from the US
commercial-debt research, because licensing is the main way the states
regulate commercial collection. HIVE-0011 Collector Licensing adds
authorization records for an organization in each jurisdiction, a
requirement shape that Compliance Packs fill, and a check before a debt
is worked, contacted, or sued on, with a hold as the cautious default.
MOD-US-0006 State Collection Licensing records what the statutes of the
50 states and the District of Columbia say, flagged for verification and
split by the regulatory nature that a debt type declares.

WAX-0008 (2.1) now separates a configured jurisdiction from an
authorized one in its auto-close example, and HIVE-0010 notes that the
licensing check runs on the same paths. OPEN-QUESTIONS gains three
items: the conditions that an authorization carries, the facts that a
rule reads beyond the debt type, and jurisdictions below the state level.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Rob Grafrath <[email protected]>
Brings in the MOD-US-0004 consistency fix for partial disputes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Rob Grafrath <[email protected]>
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