Operating Standard Registry — Formal Specification, v0.1
An open registry of versioned task definitions for insurance distribution work. Each definition is a content-addressed contract: inputs, output artifacts, allowed actors, compliance gates, SLA, cost model, audit requirement, E&O principal, and joule meter.
1. Status
v0.1 — draft. Spec text is CC-BY-4.0. Reference code is Apache-2.0. Breaking changes are expected before v1.0.
v1.0 ships when 50 task definitions are published with reference implementations and at least one third-party fork has merged.
2. Conformance
A registry implementation is conformant with v0.1 if and only if it satisfies all of the following:
- Stores TaskDefinitions as content-addressed objects with semver IDs of the form
ucg:insurance.<line>.<action>.v<N>. - Resolves any past version of a definition by URI + version.
- Publishes canonical input/output fixtures alongside each definition.
- Verifies signatures on published definitions before serving them.
- Exposes a fork lineage graph: a definition's
parent_uriidentifies its ancestor.
A task execution is conformant if it emits the artifacts declared in the definition's outputs.schema, with the audit-trail and joule-meter fields populated.
3. TaskDefinition IR
The canonical representation is YAML. JSON-Schema and Protobuf equivalents ship in the reference repo.
TaskDefinition:
id: "ucg:insurance.servicing.coi.issue.v1" # stable URI; semver
content_hash: blake3(...)
signed_by: did:...
inputs:
schema: JSON-Schema
required_fields: [insured, holder, addl_insured?, policy_id, lob]
provenance_per_field: required
outputs:
schema: ArtifactSchema
artifacts:
- kind: signed_pdf
spec: COI per ACORD 25 (2016/03)
- kind: issuance_receipt
spec: { carrier_of_record, policy_id, issued_at, signing_key_id }
allowed_actors:
- ai.deterministic
- ai.bounded_llm # LLM with diff-review gate
- human.licensed: { state: "*", line: "*", premium_bearing: false }
- offshore.unlicensed: { hours: 24x7 }
compliance_gates:
state_license_required: false # by state + line + premium-bearing flag
e_and_o_principal: "issuing_broker"
sla:
p50: 5min
p95: 30min
cost_model:
target_unit_cost_usd: 2.00
billable_to: agency_or_insured
components: [compute, audit, human_time]
audit_requirement:
signed_log: true
ir_version_pinned: true
actor_attestation: true
joule_meter:
enabled: true
breakdown: [compute_joules, signing_joules, storage_joules, human_minutes_joules?]
pillar_owner: "insuranceos.distribution"
ams_adapters: [vertafore.ams360, applied.epic, ezlynx, hawksoft, nowcerts] 4. Categories & URI prefixes
Twelve top-level categories cover the surface of insurance distribution work. New top-level categories require a governance proposal; sub-prefixes are open.
| URI prefix | Category |
|---|---|
| ucg:insurance.servicing.coi.* | Certificate management |
| ucg:insurance.servicing.endorsement.* | Policy servicing — endorsements |
| ucg:insurance.servicing.renewal.* | Renewal preparation |
| ucg:insurance.servicing.billing.* | Billing & payments |
| ucg:insurance.servicing.documents.* | Document requests |
| ucg:insurance.servicing.cancellation.* | Cancellation / reinstatement |
| ucg:insurance.newbiz.quotebind.* | New business — quote & bind |
| ucg:insurance.sales.expansion.* | Customer expansion |
| ucg:insurance.servicing.aor_bor.* | AOR / BOR transfer |
| ucg:insurance.carrier_comm.* | Carrier communications |
| ucg:insurance.claims.fnol.* | Claims first-notice |
| ucg:insurance.finance.commission.* | Commission reconciliation |
5. Forking & governance
Any party may publish a TaskDefinition under their own DID. Forks declare parent_uri to preserve lineage. Conformance fixtures must be carried forward unless explicitly diverged.
Promotion to the canonical registry is by PR-style governance: a definition is canonical only after at least two independent implementations pass the conformance fixtures.
Definitions are immutable once signed. New versions are new objects with the next semver.
6. Routing primitive
A conformant router accepts a TaskDefinition and a request, evaluates compliance gates against the actor pool, and dispatches to a single actor. Bounded LLM is permitted for intake triage only.
Routing inputs: task_type,
license_requirement (state × line × premium-bearing),
complexity_tier,
cost_budget.
Routing output: one of ai.deterministic · ai.bounded_llm · human.licensed · offshore.unlicensed. The decision is logged with rule version, inputs, output actor, outcome.
7. Joule meter schema
Every task execution records an energy breakdown:
joule_meter: compute_joules: float # model inference + deterministic-step CPU/GPU signing_joules: float # cryptographic envelope cost storage_joules: float # artifact + audit-trail persistence human_minutes_joules: float? # licensed/offshore time, converted via published rate total: float # sum, signed rate_table_hash: string # the human-minutes → joules conversion table used
8. Versioning
TaskDefinitions are semver-versioned. The version is part of the URI: ucg:insurance.servicing.coi.issue.v1.
Breaking changes (added required fields, changed actor permissions, changed artifact schemas) bump the major version. Definitions are immutable; new versions are separate signed objects.