Settle commercial identity nuances with consolidated enums and linking rules

Add commercial-identity-nuance-settlement.md resolving control_basis,
binding_trigger, cross-registry Synonymity strengths, OPI branch modeling,
escrow commitment type, reputation portability, payment edge cases, CRM renewal
rules, Person Account adapters, and eIDAS wallet scope. Update canon, OpenQuestions,
and all commercial-identity source notes.
This commit is contained in:
2026-06-21 23:21:21 +02:00
parent 6ea582cd9e
commit 08361f6fb7
18 changed files with 403 additions and 64 deletions

View File

@@ -69,6 +69,7 @@ The repository is focused on research and terminology. The corpus should collect
- `reputation-assurance-gradient.md`
- `payment-credential-pci-boundary.md`
- `crm-pipeline-commitment-threshold.md`
- `commercial-identity-nuance-settlement.md`
## Source Note Template

View File

@@ -164,10 +164,14 @@ the target of a Beneficial Ownership Relationship — not a participation root.
## Open Questions
- Standard `control_basis` enum across jurisdictions (US CDD vs. EU AMLD wording).
- Whether BOI FinCEN ID should map to Registry Identifier or generic Identifier.
- Modeling **exempt** legal entity customers (publicly traded, government) as
absence of BO relationship vs. explicit exemption Evidence.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Settled
- `control_basis` enum — jurisdiction-neutral role codes + `regulatory_basis`.
- FinCEN ID → **Registry Identifier** on Natural Person.
- Exempt entities → **Beneficial Ownership Exemption** Evidence (not absence).
- BOI filing volatility separated from CDD Beneficial Ownership Relationships.
## References

View File

@@ -0,0 +1,240 @@
# Commercial Identity Nuance Settlement (2026)
## Source Type
identity-canon adjudication note — resolves remaining open questions and
"remaining nuance" items across the commercial-identity research stack.
## Domain
Standard enums, cross-registry linking rules, regulatory layering, and adapter
guidance for commercial identity edge cases.
## Beneficial Ownership Nuances
### `control_basis` enum (settled)
Use a **jurisdiction-neutral role code** on Beneficial Ownership Relationship,
plus `regulatory_basis` for program-specific rules.
| `control_basis` | Typical sources |
| --- | --- |
| `senior_managing_official` | FATF generic; US CDD control prong when no other role fits |
| `chief_executive` | CEO, managing director, president, executive director |
| `chief_financial` | CFO, treasurer with control |
| `managing_member` | LLC managing member |
| `general_partner` | Partnership general partner |
| `board_chair` | Chair with operational control |
| `trustee` | Trust with management control |
| `settlor_with_control` | Settlor retaining control over trust |
| `other_control` | Catch-all — require `control_basis_detail` free text |
`regulatory_basis` values: `us_cdd`, `us_boi_cta`, `eu_amld`, `fatf_r24`, `national_statute`.
US CDD "significant responsibility to control, manage, or direct" maps to the
most specific code available, else `senior_managing_official`. EU AMLD "senior
managing official" maps directly. Store **one** control-prong person per US CDD
rule; multiple ownership-prong persons allowed.
### FinCEN ID (settled)
FinCEN ID for BOI filers maps to **Registry Identifier**:
- `authority_class: government_registry`
- `scheme: fincen_individual_id` (or jurisdiction-specific extension)
- `jurisdiction: US`
- Attached to **Natural Person**, not Organization.
### Exempt legal entity customers (settled)
Do not rely on absence of Beneficial Ownership Relationships. Record explicit
**Beneficial Ownership Exemption** as **Evidence Source** on the Legal Entity /
Organization with:
- `exemption_type`: `publicly_traded`, `government_entity`, `regulated_financial_institution`, `subsidiary_of_exempt_parent`, `other`
- `regulatory_basis`, `evidence_reference`, `lifecycle_state`
Absence alone is ambiguous (not collected vs. exempt vs. not applicable).
### BOI filing volatility vs. CDD (settled)
Separate regulatory layers in canon — do not merge:
| Layer | Canon artifact | Volatility |
| --- | --- | --- |
| CDD beneficial ownership | Beneficial Ownership Relationship | Stable for covered FIs; collection obligation endures |
| BOI registry filing | Evidence Source (`evidence_type: boi_filing`) | Jurisdiction-dependent; track lifecycle downstream |
| Transparency registry | Evidence Source (`evidence_type: bo_registry_extract`) | Per national register |
Canon does not prescribe legal outcomes; downstream adapters apply current statute.
CDD relationships remain even when BOI filing requirements change.
## Registry Identifier Nuances
### `authority_class` extension (settled)
Add `industry_association` for identifiers issued by trade, standards, or
procurement bodies without government incorporation authority:
- NCAGE / CAGE (defense supplier ID)
- GS1 GLN when used as organization/location key in supply chain
Retain `government_registry`, `regulatory_global`, `commercial_proxy`, `tax`.
### Cross-registry Synonymity strength (settled)
| Link | Default strength | Notes |
| --- | --- | --- |
| LEI ↔ national company reg / ALEI | **strong** | Same legal entity when LOU or government register confirms |
| LEI ↔ UEI | **strong** | When SAM.gov or authoritative crosswalk confirms |
| LEI ↔ DUNS | **medium** | D&B may assign per location; proxy authority |
| DUNS ↔ UEI | **medium** | Historical procurement migration |
| DUNS ↔ company reg | **medium** | Branch/location mismatch common |
| company reg ↔ ALEI | **authoritative** | Same register encoding |
Use `relation_type: same_as` when strength is strong or authoritative;
`linked_to` for medium. Require `evidence_reference` (crosswalk, operator verify).
### ISO 6523 OPI / branch modeling (settled)
ISO 6523 **organization part identifier (OPI)** models a **branch or org unit**,
not a separate legal entity by default:
- Store OPI on **Registry Identifier** as optional `organization_part_id`.
- Map branch to **Organization Unit** (Group specialization) or child **Organization**
when operationally distinct.
- Branch DUNS + parent LEI: link branch Proxy Commercial Identifier to parent
Organization via structural relationship; Synonymity Assertion (medium) between
branch DUNS and parent LEI when same legal entity confirmed.
## Reputation and Assurance Nuances
### `assurance_tier` vs. numeric score (settled)
**Primary:** `assurance_tier` enum (`opinion` | `observed` | `committed` | `adjudicated`).
**Optional:** `numeric_score` + `score_scale` on Evidence Source for downstream
(e.g., PAYDEX 0100, star rating 15). Downstream maps score ranges to tiers;
canon does not merge tiers from scores alone.
### Platform escrow without separate contract (settled)
Segregated escrow with defined release conditions is **committed** tier:
- Model **Commercial Commitment** `commitment_type: escrow`
- Evidence Source: platform escrow terms, payment-provider escrow object, or
marketplace buyer-protection policy accepted at transaction time
- Funds segregation + conditional release = commitment, not merely observed metric
### Cross-platform reputation portability (settled)
Portable reputation uses **Synonymity Assertion** between **Reputation Signal**
Evidence Sources:
- Default `relation_type: linked_to` (not `same_as`)
- Default strength: **weak**
- Upgrade to medium only with verified identity bridge (same Natural Person proof,
verified purchase on both platforms, operator confirmation)
- Require `portability_evidence` reference; scope must list both platforms
### Smart-contract / oracle outcomes (settled)
| Outcome type | Tier | Canon |
| --- | --- | --- |
| On-chain condition check (oracle, escrow release) | observed | Performance Evidence |
| Binding ADR with identified parties (incl. on-chain tribunal with published rules) | adjudicated | Adjudication Outcome |
| Court judgment enforced on-chain | adjudicated | Adjudication Outcome |
Automation alone does not elevate to adjudicated without identifiable dispute
authority and parties.
## Payment Nuances
### Network tokens e.g. Visa VTS (settled)
Network tokens map to **Payment Instrument Reference**:
- `instrument_type: network_token`
- `network_token_service` (e.g., `visa_vts`, `mastercard_mdes`)
- Same lifecycle and PCI boundary as `pm_xxx` references
### Shared payment methods across org customers (settled)
One Payment Instrument Reference may attach to **multiple Commercial Records**
within the same payment-provider org **Scope**:
- `sharing_scope: payment_provider_org`
- `shared_across_records: [commercial_record_ids]`
- Do not Synonymity-merge Commercial Records — only share the instrument reference
### Customer wallet balance (settled)
Provider ledger balance (Stripe Customer balance) is a **Commercial Record**
attribute `provider_ledger_balance` — not a Credential, not a Commercial Commitment.
Currency and provider scope required.
## CRM and Pipeline Nuances
### `binding_trigger` enum (settled)
| Value | Commitment state | Typical evidence |
| --- | --- | --- |
| `quote_accepted` | proposed | CPQ acceptance, e-sign |
| `loi_signed` | proposed | Signed LOI |
| `purchase_order_executed` | active | PO record |
| `contract_executed` | active | Signed agreement |
| `subscription_activated` | active | Billing webhook |
| `regulatory_onboarding_complete` | active | KYC/KYB completion |
| `org_policy_closed_won` | active only if org maps Closed Won → executed contract **and** policy documented as Evidence |
`org_policy_closed_won` is downstream-configured; canon requires explicit Evidence.
### Renewal Opportunity (settled)
| Situation | Canon treatment |
| --- | --- |
| Renewal on existing contract (same agreement extended) | **Commitment amendment** Evidence on existing Commercial Commitment; optional Pipeline Pursuit for forecast tracking |
| Competitive rebid / new agreement cycle | New **Pipeline Pursuit** |
| Material term change | Commitment amendment + may create Pipeline Pursuit |
Rule: if `amends_commitment_id` is set and change type is `renewal` or `amendment`,
do not create a new root Commercial Commitment unless terms are net-new contract.
### Partner vs. customer Opportunity (settled)
Same **Pipeline Pursuit** type with `pursuit_role`:
- `customer` (default)
- `partner` (channel, alliance)
- `vendor` (reverse sourcing)
Role affects **Commercial Relationship** typing, not Pipeline Pursuit structure.
### Person Account adapter guidance (settled)
Salesforce Person Account and similar B2C shortcuts:
- **Canon storage:** Natural Person + Commercial Record (split layers)
- **Adapter projection:** `projection_mode: person_account_combined` on export only
- Do not introduce Person Account as canonical root; discourage unified tables in
downstream schema without layer tags
## eIDAS / EUDI Nuances (commercial stack)
### Qualified electronic seal (settled)
Maps to **Credential** with `credential_type: qualified_seal`, bound to
**Organization** / **Legal Entity** through **Representation Relationship**
(signing officer or mandated agent). Distinct from login Credential.
### EUDI organizational wallet Scope (settled)
Organizational wallet is a **Scope** specialization (`wallet_scope`) holding
wallet-hosted **Credentials** and **Claims** — not a **Tenant** (no admin
isolation semantics). Link wallet Scope to **Commercial Record** and Organization
actor via Commercial Relationship.
## References
All prior commercial-identity source notes. This note supersedes their Open
Questions sections where marked settled below.

View File

@@ -121,13 +121,13 @@ Model as lifecycle events, not silent merges:
## Research Gaps
- Standard `binding_trigger` enum across CRM adapters.
- Network token (Visa VTS) mapping to Payment Instrument Reference.
- Smart contracts and automated Commercial Commitment lifecycle.
- Synonymity strength bands for LEI ↔ DUNS ↔ company reg crosswalks.
- Cross-platform reputation portability (Synonymity between Reputation Signals).
- Smart-contract / oracle outcomes — observed vs. adjudicated tier placement.
- Standard `control_basis` enum for Beneficial Ownership across jurisdictions.
- Smart contracts and automated Commercial Commitment lifecycle (implementation patterns).
- National statute variants beyond settled enum baselines (downstream legal config).
## Nuance settlement
Commercial identity edge-case enums and linking rules are consolidated in
`commercial-identity-nuance-settlement.md` (2026).
## Source Notes in This Stack
@@ -143,6 +143,7 @@ Model as lifecycle events, not silent merges:
- `reputation-assurance-gradient.md`
- `payment-credential-pci-boundary.md`
- `crm-pipeline-commitment-threshold.md`
- `commercial-identity-nuance-settlement.md`
- `../commercial-subscription/b2b-saas-subscriber-tenancy.md`
- `../commercial-subscription/stripe-customer-billing.md`

View File

@@ -141,10 +141,13 @@ tier — internal sales telemetry). They support **Trust Relationship** only for
## Open Questions
- Standard `binding_trigger` enum for cross-CRM adapters.
- Whether **renewal Opportunity** on existing contract is Pipeline Pursuit or
commitment amendment (lean: amendment on existing Commercial Commitment).
- Partner Opportunity vs. customer Opportunity — same Pipeline Pursuit type with role metadata.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Settled
- `binding_trigger` enum — seven values including `org_policy_closed_won`.
- Renewal on same contract → commitment amendment; rebid → new Pipeline Pursuit.
- `pursuit_role`: customer | partner | vendor on Pipeline Pursuit.
## References

View File

@@ -77,11 +77,12 @@ interest among counterparties.
## Open Questions
- Numeric score vs. assurance_tier band mapping in downstream risk engines.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Resolved (see reputation-assurance-gradient.md)
## Settled
- PAYDEX and credit scores → **Performance Evidence** (observed tier), not opinion-tier Reputation Signal.
- PAYDEX → Performance Evidence; `numeric_score` optional; tier enum primary.
- LEI↔DUNS Synonymity default **medium**.
## References

View File

@@ -88,8 +88,12 @@ persons** carrying verifiable credentials for B2B and B2G exchange.
## Open Questions
- Should qualified electronic seal be Credential subtype tied to Legal Entity only?
- How should EUDI organizational wallet Scope relate to Tenant vs. Commercial Record?
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Settled
- Qualified seal → **Credential** `credential_type: qualified_seal` via Representation.
- Org wallet → **Scope** `wallet_scope`, linked to Commercial Record — not Tenant.
## References

View File

@@ -90,12 +90,12 @@ high-stakes counterparty records**.
## Open Questions
- Standard `control_basis` enum across US CDD and EU AMLD wording.
- How to model BOI registry volatility in lifecycle without canon becoming legal advice?
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Resolved (see beneficial-ownership-kyc-boi.md)
## Settled
- Beneficial Owner → **Beneficial Ownership Relationship** (dedicated type, not Ownership subtype).
- Beneficial Owner → **Beneficial Ownership Relationship**; `control_basis` enum;
CDD vs. BOI filing layered separately.
## References

View File

@@ -82,12 +82,11 @@ requirements.
## Open Questions
- Synonymity strength when linking LEI to DUNS or national company reg numbers.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Resolved (see registry-identifier-subtypes.md)
## Settled
- Authoritative and proxy registry IDs → **Registry Identifier** subtype with
authority class and renewal lifecycle.
- Registry Identifier subtype; LEI↔company reg **strong**; LEI↔DUNS **medium**.
## References

View File

@@ -153,9 +153,13 @@ Evidence Source → webhooks, mandate PDF, SCA audit
## Open Questions
- Network tokens (Visa VTS) — same Payment Instrument Reference pattern?
- Shared payment methods across Stripe org customers — scope on reference.
- Wallet balances (Stripe Customer balance) — Commercial Record attribute vs. commitment.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Settled
- Network tokens → Payment Instrument Reference `instrument_type: network_token`.
- Shared methods → multi Commercial Record link within payment org Scope.
- Wallet balance → Commercial Record `provider_ledger_balance` attribute.
## References

View File

@@ -164,9 +164,13 @@ identifier quality affects Evidence strength on BO filings.
## Open Questions
- Whether `authority_class` enum needs `industry_association` (e.g., NCAGE).
- Standard Synonymity strength when linking LEI ↔ DUNS (medium vs. strong).
- PEPPOL / ISO 6523 OPI modeling for branch-level identifiers vs. Organization Unit.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Settled
- `authority_class` includes `industry_association` (NCAGE, GS1 GLN).
- LEI↔DUNS medium; LEI↔company reg/ALEI/UEI strong; crosswalk table in settlement note.
- OPI → Organization Unit / branch Registry Identifier with `organization_part_id`.
## References

View File

@@ -222,13 +222,14 @@ Evidence Source before modeling.
## Open Questions
- Standard `assurance_tier` enum vs. numeric score with tier mapping.
- Whether platform escrow counts as `committed` or `observed` when no separate
contract artifact exists (lean: committed when funds legally segregated).
- Cross-platform reputation portability — Synonymity between Reputation Signals
across scopes?
- Smart-contract automated adjudication (on-chain oracle outcome) — observed or
adjudicated?
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Settled
- `assurance_tier` primary; optional `numeric_score` + `score_scale` downstream.
- Segregated escrow → Commercial Commitment `commitment_type: escrow`.
- Reputation portability → Synonymity `linked_to`, weak default.
- Oracle release → observed; ADR/court → adjudicated.
## References

View File

@@ -79,14 +79,13 @@ a company or household you sell to, distinct from **Contact** (people) and **Use
## Open Questions
- How should Person Account be discouraged in canon-aligned adapters?
- Renewal Opportunity — Pipeline Pursuit vs. commitment amendment.
*(none — settled in `commercial-identity-nuance-settlement.md`)*
## Resolved (see crm-pipeline-commitment-threshold.md)
## Settled
- Opportunity → **Pipeline Pursuit**; Commercial Commitment only on binding trigger
(signed LOI/quote, executed PO/contract, active subscription). Forecast "Commit"
category is not Commercial Commitment.
- Opportunity → **Pipeline Pursuit**; binding triggers and renewal/amendment rules.
- Person Account → split Natural Person + Commercial Record; adapter `projection_mode`
only on export.
## References