{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.1",
        "captured_at_utc": "2026-08-08T18:24:15+00:00",
        "captured_unix": 1786213455,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE000NFR7C63_ucits_default_latest.json",
        "source_assessment_hash": "4836de2059adc190166e526e0a1905323cf59ddeba5841e6037874bef7764f67",
        "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": "IE000NFR7C63",
    "classification": "non-complex",
    "policy_mode": "ucits_default",
    "decision_rule_applied": "etf_ucits_physical_no_complex_override_rule",
    "validator_verdict": "fail",
    "publishable": false,
    "confidence": 0.92,
    "issue_count": 4,
    "issues": [
        {
            "severity": "fail",
            "code": "unsupported_hard_complex_signal",
            "message": "counterparty_risk signal is true but lacks direct product-specific evidence of OTC/collateral/default risk exposure, violating policy requirements for hard-complex signals.",
            "source": "agent"
        },
        {
            "severity": "fail",
            "code": "derivatives_epm_only_inconsistency",
            "message": "derivatives_epm_only is true but no direct product-specific evidence confirms actual or material derivative exposure; evidence only supports permission or ancillary use.",
            "source": "agent"
        },
        {
            "severity": "fail",
            "code": "signal_evidence_mismatch",
            "message": "synthetic_replication signal is false but supporting evidence quotes 'Product Structure : Physical' which is consistent; no synthetic replication evidence present.",
            "source": "agent"
        },
        {
            "severity": "fail",
            "code": "classification_signal_conflict",
            "message": "classification=non-complex conflicts with presence of counterparty_risk=true hard-complex signal without supporting evidence.",
            "source": "agent"
        }
    ],
    "suggested_repairs": [
        "Set counterparty_risk signal to false unless direct product-specific OTC/collateral/default risk evidence is found.",
        "Set derivatives_epm_only to false or provide direct product-specific evidence proving actual or material derivative exposure beyond permission or ancillary use.",
        "Remove or correct any unsupported hard-complex signals to align with classification and decision_rule_applied.",
        "Ensure supporting evidence explicitly supports all hard-complex signals or remove those signals.",
        "Re-run classification after repairs to confirm internal consistency and publishability."
    ],
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "pass",
        "publishable": true,
        "confidence": 0.88,
        "issues": [],
        "suggested_repairs": [],
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": null,
            "decision_rule_signal_true": null,
            "decision_rule_signal_supported": null,
            "true_hard_signals": [],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [],
            "checks": []
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "ucits_default",
            "type": "ETF",
            "ucits": true,
            "physical_replication": false,
            "swaps_signal": false,
            "synthetic_replication": false,
            "derivatives_core_strategy": false,
            "derivatives_epm_only": true,
            "derivative_evidence_count": 3,
            "swap_evidence_count": 0,
            "permission_or_ancillary_evidence_count": 0,
            "core_derivative_evidence_count": 2,
            "only_permission_or_ancillary_derivative_evidence": false,
            "supported_independent_hard_signals": []
        },
        "detected_features": {
            "helo_or_core_options_overlay": false,
            "physical_replication": false,
            "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": 2427,
            "completion_tokens": 715,
            "total_tokens": 3142,
            "raw": {
                "prompt_tokens": 2427,
                "completion_tokens": 715,
                "total_tokens": 3142,
                "cost": 0.0021148,
                "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.0021148,
                    "upstream_inference_prompt_cost": 0.0009708,
                    "upstream_inference_completions_cost": 0.001144
                },
                "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": 2427,
            "completion_tokens": 715,
            "total_tokens": 3142,
            "input_cost_usd": 0.0009708,
            "output_cost_usd": 0.001144,
            "estimated_cost_usd": 0.0021148,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "fail",
            "publishable": false,
            "confidence": 0.9,
            "summary": "Internal inconsistency detected: classification is non-complex with decision_rule_applied 'etf_ucits_physical_no_complex_override_rule' but signals indicate derivatives_epm_only=true and counterparty_risk=true with no direct product-specific evidence supporting hard-complex signals. Supporting evidence for derivatives_mentioned and counterparty_risk is permission-only or generic, not proving actual or material derivative exposure. The supporting evidence for synthetic_replication signal contradicts the false signal flag. The derivatives_epm_only=true conflicts with derivatives_core_strategy=false but evidence does not confirm core derivative use. The 'synthetic_replication' signal is false but supporting evidence quotes 'Product Structure : Physical' which is consistent. The counterparty_risk signal is true but only supported by generic counterparty risk language, not OTC or collateral risk. The derivatives_epm_only signal is asserted true but no product-specific evidence confirms actual derivative exposure beyond permission or ancillary use. According to policy, ancillary/EPM derivative use alone should not trigger complexity in balanced/ucits_default mode, but counterparty_risk true is a hard-complex signal requiring direct evidence. The presence of counterparty_risk=true without direct OTC/collateral risk evidence is inconsistent and unsupported. The supporting evidence quotes match their signal labels but do not prove hard-complex signals. The derivatives_epm_only=true flag should be false or supported by direct evidence. The decision_rule_applied is 'etf_ucits_physical_no_complex_override_rule' which expects non-complex classification but the presence of counterparty_risk=true as a hard-complex signal without support is a fail. The product is not publishable as-is due to these inconsistencies and unsupported hard-complex signals.",
            "issues": [
                {
                    "severity": "fail",
                    "code": "unsupported_hard_complex_signal",
                    "message": "counterparty_risk signal is true but lacks direct product-specific evidence of OTC/collateral/default risk exposure, violating policy requirements for hard-complex signals."
                },
                {
                    "severity": "fail",
                    "code": "derivatives_epm_only_inconsistency",
                    "message": "derivatives_epm_only is true but no direct product-specific evidence confirms actual or material derivative exposure; evidence only supports permission or ancillary use."
                },
                {
                    "severity": "fail",
                    "code": "signal_evidence_mismatch",
                    "message": "synthetic_replication signal is false but supporting evidence quotes 'Product Structure : Physical' which is consistent; no synthetic replication evidence present."
                },
                {
                    "severity": "fail",
                    "code": "classification_signal_conflict",
                    "message": "classification=non-complex conflicts with presence of counterparty_risk=true hard-complex signal without supporting evidence."
                }
            ],
            "suggested_repairs": [
                "Set counterparty_risk signal to false unless direct product-specific OTC/collateral/default risk evidence is found.",
                "Set derivatives_epm_only to false or provide direct product-specific evidence proving actual or material derivative exposure beyond permission or ancillary use.",
                "Remove or correct any unsupported hard-complex signals to align with classification and decision_rule_applied.",
                "Ensure supporting evidence explicitly supports all hard-complex signals or remove those signals.",
                "Re-run classification after repairs to confirm internal consistency and publishability."
            ]
        }
    }
}