All tools
ToolWrite
Create research model
create_research_modelThe task is centered on a saved ticker, thesis, claim, or research review.
When to use it
The task is centered on a saved ticker, thesis, claim, or research review.
Typical workflow
Use company context first, then thesis, claims, reviews, and evidence gaps.
What it returns
Company thesis context, claims, reviews, and evidence health signals.
Avoid using it when
The ticker is not saved in Prism or the task only needs generic market data.
Advanced input contract
Agent hosts use this JSON Schema to validate the exact input shape.
View full registry notes
Create a persistent formula model with scenarios and classified assumptions. Preview this operation with mode=preview and a stable idempotencyKey. After approval, commit with mode=commit, operationId and commitToken only; saved preview fields cannot be replaced.
View JSON Schema
{
"type": "object",
"properties": {
"folderId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"companyId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string"
},
"formulae": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_.]{0,119}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"expression": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"unit": {
"type": "string",
"maxLength": 80
},
"scope": {
"default": "period",
"type": "string",
"enum": [
"period",
"summary"
]
}
},
"required": [
"key",
"name",
"expression"
]
}
},
"scenarios": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string"
},
"assumptions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_.]{0,119}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"minLength": 1,
"maxLength": 2000
}
]
},
"periodLabel": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"unit": {
"type": "string",
"maxLength": 80
},
"classification": {
"default": "E",
"type": "string",
"enum": [
"F",
"M",
"E",
"J"
]
},
"effectiveFrom": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"effectiveTo": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"notes": {
"type": "string",
"maxLength": 5000
},
"evidence": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"sourceFileId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"sourceChunkId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"deltaId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"observationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"claimId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"url": {
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"exactClaim": {
"type": "string",
"maxLength": 5000
},
"sourceRevision": {
"type": "string",
"maxLength": 160
},
"label": {
"type": "string",
"maxLength": 240
}
}
}
}
},
"required": [
"key",
"name",
"value"
]
}
}
},
"required": [
"name",
"assumptions"
]
}
},
"mode": {
"type": "string",
"enum": [
"preview",
"commit"
]
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"operationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"commitToken": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"mode"
],
"additionalProperties": false,
"anyOf": [
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"folderId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"companyId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string"
},
"formulae": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_.]{0,119}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"expression": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"unit": {
"type": "string",
"maxLength": 80
},
"scope": {
"default": "period",
"type": "string",
"enum": [
"period",
"summary"
]
}
},
"required": [
"key",
"name",
"expression"
]
}
},
"scenarios": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string"
},
"assumptions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_.]{0,119}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"minLength": 1,
"maxLength": 2000
}
]
},
"periodLabel": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"unit": {
"type": "string",
"maxLength": 80
},
"classification": {
"default": "E",
"type": "string",
"enum": [
"F",
"M",
"E",
"J"
]
},
"effectiveFrom": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"effectiveTo": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"notes": {
"type": "string",
"maxLength": 5000
},
"evidence": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"sourceFileId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"sourceChunkId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"deltaId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"observationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"claimId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"url": {
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"exactClaim": {
"type": "string",
"maxLength": 5000
},
"sourceRevision": {
"type": "string",
"maxLength": 160
},
"label": {
"type": "string",
"maxLength": 240
}
}
}
}
},
"required": [
"key",
"name",
"value"
]
}
}
},
"required": [
"name",
"assumptions"
]
}
},
"mode": {
"type": "string",
"const": "preview"
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"folderId",
"name",
"formulae",
"scenarios",
"mode",
"idempotencyKey"
],
"additionalProperties": false
},
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "commit"
},
"operationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"commitToken": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"mode",
"operationId",
"commitToken"
],
"additionalProperties": false
}
]
}