TM Scenario Definition (v1, legacy)
Legacy schema
This schema is superseded and is documented only for backward compatibility. None of the bundled sample content uses it, and new scenarios should be authored against the current TM Scenario Definition schema.
The engine continues to accept this format, and the schema file is maintained until 2027-07-04 per ADR-0006 (tm_scenario_v2 schema and v1 dual support).
Schema for transaction monitoring scenario definitions
| Field | Value |
|---|---|
| Schema ID | https://github.com/ksuk/merlon/schemas/tm_scenario_v1.json |
| JSON Schema dialect | https://json-schema.org/draft/2020-12/schema |
| Type | object |
| Required top-level fields | schema_version, id, name, version, conditions |
Properties
| Name | Type | Required | Description |
|---|---|---|---|
schema_version | const | Yes | |
id | string | Yes | |
name | string | Yes | |
name_ja | string | No | |
description | string | No | |
version | integer | Yes | |
is_sample | boolean | No | |
conditions | object | Yes | |
risk_tier_adjustments | object | No | |
alert_severity | enum | No | |
tags | array of string | No |
schema_version
| Constraint | Value |
|---|---|
| Const | "tm_scenario_v1" |
id
| Constraint | Value |
|---|---|
| Pattern | ^[a-z][a-z0-9_]*$ |
version
| Constraint | Value |
|---|---|
| Minimum | 1 |
alert_severity
| Constraint | Value |
|---|---|
| Enum | "low", "medium", "high", "critical" |
Full schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/ksuk/merlon/schemas/tm_scenario_v1.json",
"title": "TM Scenario Definition",
"description": "Schema for transaction monitoring scenario definitions",
"type": "object",
"required": [
"schema_version",
"id",
"name",
"version",
"conditions"
],
"properties": {
"schema_version": {
"type": "string",
"const": "tm_scenario_v1"
},
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"name": {
"type": "string"
},
"name_ja": {
"type": "string"
},
"description": {
"type": "string"
},
"version": {
"type": "integer",
"minimum": 1
},
"is_sample": {
"type": "boolean"
},
"conditions": {
"type": "object"
},
"risk_tier_adjustments": {
"type": "object"
},
"alert_severity": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"critical"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}