{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.0",
        "captured_at_utc": "2026-08-08T07:00:40+00:00",
        "captured_unix": 1786172440,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE000QMIHY81_balanced_latest.json",
        "source_assessment_hash": "ce967444644dcf9b54f31f0fc374557dafb63aaee0b6ffd3db4703000b9dc1e6",
        "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": "IE000QMIHY81",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "etf_clo_exposure_hard_complex_rule",
    "validator_verdict": "fail",
    "publishable": false,
    "confidence": 0.92,
    "issue_count": 2,
    "issues": [
        {
            "severity": "fail",
            "code": "hard_complex_signal_without_direct_evidence_clo_exposure",
            "message": "signals.clo_exposure=true but no supporting_evidence quote directly substantiates that hard-complex feature. The applied decision rule (etf_clo_exposure_hard_complex_rule) also relies on this unsupported signal."
        },
        {
            "severity": "fail",
            "code": "hard_complex_signal_without_direct_evidence_clo_exposure",
            "message": "signals.clo_exposure=true but no supporting_evidence quote directly substantiates that hard-complex feature. The applied decision rule (etf_clo_exposure_hard_complex_rule) also relies on this unsupported signal.",
            "source": "agent"
        }
    ],
    "suggested_repairs": [
        "Remove or downgrade unsupported clo_exposure, or add product-specific evidence that directly proves the feature before using it as a hard complex trigger.",
        "Remove or downgrade unsupported clo_exposure signal if no product-specific evidence of CLO exposure is available.",
        "Alternatively, add product-specific supporting evidence that explicitly proves CLO exposure before using it as a hard complex trigger."
    ],
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "fail",
        "publishable": false,
        "confidence": 0.92,
        "issues": [
            {
                "severity": "fail",
                "code": "hard_complex_signal_without_direct_evidence_clo_exposure",
                "message": "signals.clo_exposure=true but no supporting_evidence quote directly substantiates that hard-complex feature. The applied decision rule (etf_clo_exposure_hard_complex_rule) also relies on this unsupported signal."
            }
        ],
        "suggested_repairs": [
            "Remove or downgrade unsupported clo_exposure, or add product-specific evidence that directly proves the feature before using it as a hard complex trigger."
        ],
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": "clo_exposure",
            "decision_rule_signal_true": true,
            "decision_rule_signal_supported": false,
            "true_hard_signals": [
                "clo_exposure"
            ],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [
                "clo_exposure"
            ],
            "checks": {
                "clo_exposure": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": true,
                    "matches": []
                }
            }
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "balanced",
            "type": "ETF",
            "ucits": true,
            "physical_replication": true,
            "swaps_signal": true,
            "synthetic_replication": false,
            "derivatives_core_strategy": false,
            "derivatives_epm_only": false,
            "derivative_evidence_count": 2,
            "swap_evidence_count": 2,
            "permission_or_ancillary_evidence_count": 1,
            "core_derivative_evidence_count": 1,
            "only_permission_or_ancillary_derivative_evidence": false,
            "supported_independent_hard_signals": []
        },
        "detected_features": {
            "helo_or_core_options_overlay": false,
            "physical_replication": true,
            "has_epm_only_evidence": false,
            "has_core_derivatives_evidence": false,
            "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": 2448,
            "completion_tokens": 288,
            "total_tokens": 2736,
            "raw": {
                "prompt_tokens": 2448,
                "completion_tokens": 288,
                "total_tokens": 2736,
                "cost": 0.0007488,
                "is_byok": false,
                "prompt_tokens_details": {
                    "cached_tokens": 2304,
                    "cache_write_tokens": 0,
                    "audio_tokens": 0,
                    "video_tokens": 0
                },
                "cost_details": {
                    "upstream_inference_cost": 0.0007488,
                    "upstream_inference_prompt_cost": 0.000288,
                    "upstream_inference_completions_cost": 0.0004608
                },
                "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": 2448,
            "completion_tokens": 288,
            "total_tokens": 2736,
            "input_cost_usd": 0.000288,
            "output_cost_usd": 0.0004608,
            "estimated_cost_usd": 0.0007488,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "fail",
            "publishable": false,
            "confidence": 0.92,
            "summary": "The assessment classifies the product as complex based on CLO exposure, but no supporting evidence directly substantiates the CLO exposure signal. The decision rule applied relies on this unsupported hard-complex signal, violating internal consistency and policy requirements. Derivative signals and evidence are consistent and correctly mapped, with no conflicts between derivatives_epm_only and derivatives_core_strategy. No HELO or option overlay strategy is present to affect complexity classification. The supporting evidence quotes match their signal labels except for the missing direct CLO exposure evidence. The assessment is not publishable as-is due to the unsupported hard-complex signal.",
            "issues": [
                {
                    "severity": "fail",
                    "code": "hard_complex_signal_without_direct_evidence_clo_exposure",
                    "message": "signals.clo_exposure=true but no supporting_evidence quote directly substantiates that hard-complex feature. The applied decision rule (etf_clo_exposure_hard_complex_rule) also relies on this unsupported signal."
                }
            ],
            "suggested_repairs": [
                "Remove or downgrade unsupported clo_exposure signal if no product-specific evidence of CLO exposure is available.",
                "Alternatively, add product-specific supporting evidence that explicitly proves CLO exposure before using it as a hard complex trigger."
            ]
        }
    }
}