Audit Criteria

AuditCriteria v1.0-alpha3

Schema Type: audit-criteriaVersion: v1.0-alpha3JSON Schema URL: https://schemas.platform.ontopix.ai/audit-criteria/v1.0-alpha3.json

Overview

AuditCriteria defines a policy used to evaluate customer-interaction objects. A policy contains a list of criteria, and each criterion can contain multiple indicators. In alpha3, indicator scoring is based on a polarity scale from -5 to +5.

Key concepts

Polarity-based scoring (alpha3)

  • polarity indicates direction and strength of impact:
    • -5 = strongest negative impact
    • 0 = neutral
    • +5 = strongest positive impact
  • weight adjusts the indicator contribution (0..1).

Note: beta1 replaces polarity with explicit score values (0.0..1.0). If you are starting a new integration, prefer v1.0-beta1.

Schema structure

Root fields

FieldTypeRequiredDescription
schema_typeconst "audit-criteria"
schema_versionstringPattern: ^v\d+\.\d+(-(alpha|beta|rc)\d+)?$
idstringPolicy identifier
namestringPolicy name
descriptionstring|nullPolicy description
source_typesarraystring|nullSource type identifiers (e.g. audio, chat, email, whatsapp)
criteriaarrayCriterionCriteria list (min 1)
groupsarrayCriterionGroup|nullOptional grouping for reporting
metadataobject|nullFree-form string map

Criterion

FieldTypeRequiredDescription
idstringCriterion id
namestringCriterion name
descriptionstring|nullCriterion description
weightnumber|nullRelative importance (>= 0)
enabledbooleanDefault: true
indicatorsarrayIndicator|nullOptional list of indicators

Indicator types

All indicators share IndicatorBase:

FieldTypeRequiredDescription
idstringPattern: ^[A-Z0-9]+-I[0-9]+$
descriptionstringMin length 1
polarityintegerRange: -5..5
weightnumber|nullRange: 0..1
enabledbooleanDefault: true
not_applicableboolean|nullDefault: false

Indicator variants:

  • Boolean indicator: type = "boolean"
  • Metric indicator: type = "metric", plus:
    • unit (string)
    • value_type (absolute | range | percentage | duration)
    • optional min, max
    • optional polarity_config.ranges[] (range-specific polarity)
  • Enum indicator: type = "enum", plus:
    • options[] with { value, label, description?, polarity }

Groups

groups[] is optional and contains:

  • id (pattern: ^[a-z0-9_-]+$)
  • name
  • criteria_ids[] (min 1)
  • optional description, metadata

Example

{
  "schema_type": "audit-criteria",
  "schema_version": "v1.0-alpha3",
  "id": "policy-customer-service-v2",
  "name": "Customer Service Quality Policy",
  "source_types": ["audio", "chat"],
  "criteria": [
    {
      "id": "C1",
      "name": "Professional Introduction",
      "weight": 0.8,
      "enabled": true,
      "indicators": [
        {
          "id": "C1-I1",
          "type": "boolean",
          "description": "Agent stated their name",
          "polarity": 3,
          "enabled": true
        }
      ]
    }
  ],
  "groups": [
    {
      "id": "communication-quality",
      "name": "Communication Quality",
      "criteria_ids": ["C1"]
    }
  ]
}

Migration notes

alpha2 → alpha3 (high level)

  • alpha3 introduces polarity-based scoring on indicators (polarity: -5..+5) and preserves indicator definitions as part of the policy structure.
  • Replace polarity with explicit scoring:
    • Boolean: score_if_true / score_if_false
    • Metric: ranges[].score
    • Enum: options[].score