{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.9",
        "captured_at_utc": "2026-08-09T11:56:25+00:00",
        "captured_unix": 1786276585,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE000OV4XWA3_balanced_latest.json",
        "source_assessment_hash": "1527c5286853735ae25fea0ad2f78a525eb26a2161678adbb2eaaec784105aa9",
        "agent_enabled": true,
        "agent_provider": "openrouter",
        "agent_model": "gpt-4.1-mini",
        "agent_temperature": 0,
        "agent_max_tokens": 1800,
        "warn_short_agent": true,
        "validator_modes": {
            "deterministic": "executed",
            "agent": "executed"
        }
    },
    "isin": "IE000OV4XWA3",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "etf_leveraged_hard_complex_rule",
    "validator_verdict": "warn",
    "publishable": true,
    "confidence": 0.78,
    "issue_count": 2,
    "issues": [
        {
            "severity": "warn",
            "code": "non_decisive_hard_signal_without_direct_evidence_synthetic_replication",
            "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by: leveraged."
        },
        {
            "severity": "warn",
            "code": "non_decisive_hard_signal_without_direct_evidence_complex_index",
            "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by: leveraged."
        }
    ],
    "suggested_repairs": [
        "Remove or downgrade unsupported synthetic_replication, or add product-specific evidence for it. This is an evidence-quality repair and does not invalidate an independently supported complex classification.",
        "Remove or downgrade unsupported complex_index, or add product-specific evidence for it. This is an evidence-quality repair and does not invalidate an independently supported complex classification.",
        "Remove or downgrade unsupported synthetic_replication signal, or add product-specific evidence for it to improve evidence quality.",
        "Remove or downgrade unsupported complex_index signal, or add product-specific evidence for it to improve evidence quality."
    ],
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "warn",
        "publishable": true,
        "confidence": 0.78,
        "issues": [
            {
                "severity": "warn",
                "code": "non_decisive_hard_signal_without_direct_evidence_synthetic_replication",
                "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by: leveraged."
            },
            {
                "severity": "warn",
                "code": "non_decisive_hard_signal_without_direct_evidence_complex_index",
                "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by: leveraged."
            }
        ],
        "suggested_repairs": [
            "Remove or downgrade unsupported synthetic_replication, or add product-specific evidence for it. This is an evidence-quality repair and does not invalidate an independently supported complex classification.",
            "Remove or downgrade unsupported complex_index, or add product-specific evidence for it. This is an evidence-quality repair and does not invalidate an independently supported complex classification."
        ],
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": "leveraged",
            "decision_rule_signal_true": true,
            "decision_rule_signal_supported": true,
            "decision_rule_matching_evidence_count": 3,
            "decision_rule_matches": [
                {
                    "index": 0,
                    "source": "FACTSHEET",
                    "evidence_signal": "leveraged",
                    "quote": "This ETF contains elements of leverage that could lead to significantly magnified losses in comparison to investments that do not incorporate leverage."
                },
                {
                    "index": 1,
                    "source": "PRIIPS_KID",
                    "evidence_signal": "derivatives_core_strategy",
                    "quote": "The index is designed to track the performance of a 90 % exposure to large and mid -cap eurozone equities, and 60 % to euro denominated government bond futures contracts, effectively delivering a leveraged position to the traditional 60 /40 portfolio ."
                },
                {
                    "index": 2,
                    "source": "KIID",
                    "evidence_signal": "complex_index",
                    "quote": "The Index is designed to track the performance of a 90% exposure to large and mid-cap eurozone equities, and 60% to euro-denominated government bond future contracts, effectively delivering a leveraged position to the traditional 60/40 portfolio."
                }
            ],
            "true_hard_signals": [
                "leveraged",
                "synthetic_replication",
                "complex_index"
            ],
            "supported_hard_signals": [
                "leveraged"
            ],
            "unsupported_hard_signals": [
                "synthetic_replication",
                "complex_index"
            ],
            "checks": {
                "leveraged": {
                    "signal_true": true,
                    "direct_evidence": true,
                    "matching_evidence_count": 3,
                    "decision_rule_uses_signal": true,
                    "matches": [
                        {
                            "index": 0,
                            "source": "FACTSHEET",
                            "evidence_signal": "leveraged",
                            "quote": "This ETF contains elements of leverage that could lead to significantly magnified losses in comparison to investments that do not incorporate leverage."
                        },
                        {
                            "index": 1,
                            "source": "PRIIPS_KID",
                            "evidence_signal": "derivatives_core_strategy",
                            "quote": "The index is designed to track the performance of a 90 % exposure to large and mid -cap eurozone equities, and 60 % to euro denominated government bond futures contracts, effectively delivering a leveraged position to the traditional 60 /40 portfolio ."
                        },
                        {
                            "index": 2,
                            "source": "KIID",
                            "evidence_signal": "complex_index",
                            "quote": "The Index is designed to track the performance of a 90% exposure to large and mid-cap eurozone equities, and 60% to euro-denominated government bond future contracts, effectively delivering a leveraged position to the traditional 60/40 portfolio."
                        }
                    ]
                },
                "synthetic_replication": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                },
                "complex_index": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                }
            }
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "balanced",
            "type": "ETF",
            "ucits": true,
            "physical_replication": false,
            "swaps_signal": false,
            "synthetic_replication": true,
            "derivatives_core_strategy": true,
            "derivatives_epm_only": false,
            "derivative_evidence_count": 1,
            "swap_evidence_count": 0,
            "permission_or_ancillary_evidence_count": 0,
            "core_derivative_evidence_count": 1,
            "only_permission_or_ancillary_derivative_evidence": false,
            "supported_independent_hard_signals": [
                "leveraged"
            ]
        },
        "detected_features": {
            "helo_or_core_options_overlay": false,
            "physical_replication": false,
            "has_epm_only_evidence": false,
            "has_core_derivatives_evidence": true,
            "has_generic_fdi_permission_evidence": false,
            "has_option_overlay_evidence": false
        }
    },
    "agent_review": {
        "ok": true,
        "model": "gpt-4.1-mini",
        "temperature": 0,
        "max_tokens": 1800,
        "usage": {
            "prompt_tokens": 4180,
            "completion_tokens": 466,
            "total_tokens": 4646,
            "raw": {
                "prompt_tokens": 4180,
                "completion_tokens": 466,
                "total_tokens": 4646,
                "cost": 0.0024176,
                "is_byok": false,
                "prompt_tokens_details": {
                    "cached_tokens": 0,
                    "cache_write_tokens": 0,
                    "audio_tokens": 0,
                    "video_tokens": 0
                },
                "cost_details": {
                    "upstream_inference_cost": 0.0024176,
                    "upstream_inference_prompt_cost": 0.001672,
                    "upstream_inference_completions_cost": 0.0007456
                },
                "completion_tokens_details": {
                    "reasoning_tokens": 0,
                    "image_tokens": 0,
                    "audio_tokens": 0
                }
            }
        },
        "cost": {
            "estimated": false,
            "actual_provider_cost_available": true,
            "model": "gpt-4.1-mini",
            "prompt_tokens": 4180,
            "completion_tokens": 466,
            "total_tokens": 4646,
            "input_cost_usd": 0.001672,
            "output_cost_usd": 0.0007456,
            "estimated_cost_usd": 0.0024176,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "warn",
            "publishable": true,
            "confidence": 0.93,
            "summary": "The classification as complex driven by leverage is well supported by direct product-specific evidence. The decision_rule_applied 'etf_leveraged_hard_complex_rule' correctly maps to the leveraged signal, which is substantiated by multiple quotes. However, the signals synthetic_replication and complex_index are true but lack direct supporting evidence in the supporting_evidence quotes. These unsupported hard-complex signals are not used by the decision rule and thus do not invalidate the classification but should be repaired to improve evidence quality. There is no conflict between derivatives_epm_only (false) and derivatives_core_strategy (true). The derivative wording in the evidence supports a core derivative strategy via leveraged futures exposure, not ancillary or permission-only use. The product is a physically replicated UCITS ETF with synthetic_replication true but no direct synthetic replication evidence; this is acceptable in balanced mode as the synthetic_replication signal is not decisive here. No HELO or option overlay evidence is present, so no reclassification needed. The client-facing JSON is publishable as-is but would benefit from removing or substantiating unsupported signals.",
            "issues": [
                {
                    "severity": "warn",
                    "code": "non_decisive_hard_signal_without_direct_evidence_synthetic_replication",
                    "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by: leveraged."
                },
                {
                    "severity": "warn",
                    "code": "non_decisive_hard_signal_without_direct_evidence_complex_index",
                    "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by: leveraged."
                }
            ],
            "suggested_repairs": [
                "Remove or downgrade unsupported synthetic_replication signal, or add product-specific evidence for it to improve evidence quality.",
                "Remove or downgrade unsupported complex_index signal, or add product-specific evidence for it to improve evidence quality."
            ]
        }
    }
}