You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
4.4 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.local/schemas/parser_event.schema.json",
"title": "ParserEvent",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"document_id",
"parser_kind",
"event_type",
"event_direction",
"event_date",
"filing_time_bucket",
"summary",
"guidance",
"signals",
"risk_flags",
"confidence"
],
"properties": {
"schema_version": { "type": "string" },
"document_id": { "type": "string", "minLength": 1 },
"parser_kind": {
"type": "string",
"enum": ["rule", "llm", "merged"]
},
"event_type": {
"type": "string",
"enum": [
"earnings_release",
"guidance_update",
"material_contract",
"regulatory_or_approval",
"capital_markets_or_financing",
"management_change",
"litigation_or_investigation",
"other_material_event",
"unknown"
]
},
"event_direction": {
"type": "string",
"enum": ["bullish", "bearish", "mixed", "neutral", "unknown"]
},
"event_date": { "type": "string", "format": "date" },
"filing_time_bucket": {
"type": "string",
"enum": ["pre_market", "regular_hours", "post_market", "unknown"]
},
"headline": { "type": "string" },
"summary": { "type": "string", "minLength": 1 },
"guidance": {
"type": "object",
"additionalProperties": false,
"required": ["status", "scope", "notes"],
"properties": {
"status": {
"type": "string",
"enum": [
"raised",
"inline_or_maintained",
"lowered",
"withdrawn",
"not_provided",
"unclear"
]
},
"scope": {
"type": "string",
"enum": ["quarterly", "annual", "both", "unknown"]
},
"notes": { "type": "string" }
}
},
"signals": {
"type": "object",
"additionalProperties": false,
"required": [
"demand_strength",
"pricing_power",
"backlog_or_bookings",
"customer_expansion",
"margin_quality"
],
"properties": {
"demand_strength": { "type": "string", "enum": ["strong", "stable", "weakening", "unknown"] },
"pricing_power": { "type": "string", "enum": ["present", "mixed", "absent", "unknown"] },
"backlog_or_bookings": { "type": "string", "enum": ["present", "mixed", "absent", "unknown"] },
"customer_expansion": { "type": "string", "enum": ["present", "mixed", "absent", "unknown"] },
"margin_quality": { "type": "string", "enum": ["improving", "stable", "deteriorating", "unknown"] }
}
},
"risk_flags": {
"type": "object",
"additionalProperties": false,
"required": [
"oneoff_item",
"tax_benefit",
"valuation_gain",
"non_gaap_heavy",
"financing_related",
"legal_or_regulatory_overhang"
],
"properties": {
"oneoff_item": { "type": "boolean" },
"tax_benefit": { "type": "boolean" },
"valuation_gain": { "type": "boolean" },
"non_gaap_heavy": { "type": "boolean" },
"financing_related": { "type": "boolean" },
"legal_or_regulatory_overhang": { "type": "boolean" }
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["label", "text_span", "section_hint", "confidence"],
"properties": {
"label": { "type": "string" },
"text_span": { "type": "string" },
"section_hint": { "type": "string" },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
},
"confidence": {
"type": "object",
"additionalProperties": false,
"required": ["overall", "event_type", "event_direction", "guidance", "risk_flags"],
"properties": {
"overall": { "type": "number", "minimum": 0, "maximum": 1 },
"event_type": { "type": "number", "minimum": 0, "maximum": 1 },
"event_direction": { "type": "number", "minimum": 0, "maximum": 1 },
"guidance": { "type": "number", "minimum": 0, "maximum": 1 },
"risk_flags": { "type": "number", "minimum": 0, "maximum": 1 }
}
},
"warnings": {
"type": "array",
"items": { "type": "string" }
}
}
}