{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.20",
        "captured_at_utc": "2026-08-10T10:14:12+00:00",
        "captured_unix": 1786356852,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE000VML2GZ3_ucits_default_latest.json",
        "source_assessment_hash": "413d85ee6619f66715327c65c6cbd44209e9ca145b1df807f481b19314d4a58e",
        "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": "IE000VML2GZ3",
    "classification": "non-complex",
    "policy_mode": "ucits_default",
    "decision_rule_applied": "etf_ucits_physical_no_complex_override_rule",
    "source_classification": null,
    "source_decision_rule_applied": null,
    "resolution": {
        "applied": false
    },
    "validator_verdict": "warn",
    "publishable": true,
    "confidence": 0.78,
    "issue_count": 1,
    "issues": [
        {
            "severity": "warn",
            "code": "counterparty_risk_language_identified",
            "message": "Counterparty risk language is present and supported by direct evidence but does not affect complexity classification.",
            "source": "agent"
        }
    ],
    "suggested_repairs": [],
    "reassessment": {
        "required": false
    },
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "pass",
        "publishable": true,
        "confidence": 0.88,
        "issues": [],
        "suggested_repairs": [],
        "reassessment": {
            "required": false
        },
        "resolution": {
            "applied": false
        },
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": null,
            "decision_rule_signal_true": null,
            "decision_rule_signal_supported": null,
            "decision_rule_matching_evidence_count": null,
            "decision_rule_matches": [],
            "true_hard_signals": [],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [],
            "checks": []
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "ucits_default",
            "type": "ETF",
            "ucits": true,
            "physical_replication": true,
            "swaps_signal": false,
            "synthetic_replication": false,
            "derivatives_core_strategy": false,
            "derivatives_epm_only": true,
            "derivative_evidence_count": 1,
            "swap_evidence_count": 0,
            "permission_or_ancillary_evidence_count": 1,
            "core_derivative_evidence_count": 0,
            "only_permission_or_ancillary_derivative_evidence": true,
            "supported_independent_hard_signals": []
        },
        "source_decisive_signal_evidence": null,
        "source_derivative_materiality": null,
        "detected_features": {
            "helo_or_core_options_overlay": false,
            "physical_replication": true,
            "physical_replication_direct_evidence": true,
            "physical_replication_evidence_count": 1,
            "has_epm_only_evidence": true,
            "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": 4394,
            "completion_tokens": 276,
            "total_tokens": 4670,
            "raw": {
                "prompt_tokens": 4394,
                "completion_tokens": 276,
                "total_tokens": 4670,
                "cost": 0.0016232,
                "is_byok": false,
                "prompt_tokens_details": {
                    "cached_tokens": 1920,
                    "cache_write_tokens": 0,
                    "audio_tokens": 0,
                    "video_tokens": 0
                },
                "cost_details": {
                    "upstream_inference_cost": 0.0016232,
                    "upstream_inference_prompt_cost": 0.0011816,
                    "upstream_inference_completions_cost": 0.0004416
                },
                "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": 4394,
            "completion_tokens": 276,
            "total_tokens": 4670,
            "input_cost_usd": 0.0011816,
            "output_cost_usd": 0.0004416,
            "estimated_cost_usd": 0.0016232,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "pass",
            "publishable": true,
            "confidence": 0.88,
            "summary": "The assessment is internally consistent with classification=non-complex and decision_rule_applied=etf_ucits_physical_no_complex_override_rule. The derivatives_epm_only=true flag is supported by product-specific permission/ancillary evidence from the PRIIPS KID, consistent with policy for UCITS physical ETFs in ucits_default mode. No core derivative strategy evidence is present, matching derivatives_core_strategy=false. The counterparty_risk signal is supported by a direct quote. No unsupported hard-complex signals are used by the decision rule. There is no conflict between derivatives_epm_only and derivatives_core_strategy flags as only EPM/permission evidence is present. The supporting evidence quotes correctly match their signal labels. The absence of factsheet data is noted but does not impair publishability. The deterministic validator confirms no reassessment or resolution is required. The client-facing JSON is publishable as-is with no required repairs.",
            "issues": [
                {
                    "severity": "warn",
                    "code": "counterparty_risk_language_identified",
                    "message": "Counterparty risk language is present and supported by direct evidence but does not affect complexity classification."
                }
            ],
            "suggested_repairs": []
        }
    }
}