{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.1",
        "captured_at_utc": "2026-08-08T12:19:41+00:00",
        "captured_unix": 1786191581,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00BDQZN550_balanced_latest.json",
        "source_assessment_hash": "89816f7c6793e291544ced99405416a7675a0fa0da737b867162dad176e7fc8e",
        "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": "IE00BDQZN550",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "balanced_etf_swap_complex_rule",
    "validator_verdict": "fail",
    "publishable": false,
    "confidence": 0.92,
    "issue_count": 6,
    "issues": [
        {
            "severity": "fail",
            "code": "hard_complex_signal_without_direct_evidence_synthetic_replication",
            "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature."
        },
        {
            "severity": "fail",
            "code": "hard_complex_signal_without_direct_evidence_complex_index",
            "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature."
        },
        {
            "severity": "fail",
            "code": "swaps_true_without_direct_swap_evidence",
            "message": "signals.swaps=true but no supporting evidence quote directly mentions a swap, TRS or CFD."
        },
        {
            "severity": "fail",
            "code": "hard_complex_signal_without_direct_evidence_synthetic_replication",
            "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature.",
            "source": "agent"
        },
        {
            "severity": "fail",
            "code": "hard_complex_signal_without_direct_evidence_complex_index",
            "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature.",
            "source": "agent"
        },
        {
            "severity": "fail",
            "code": "swaps_true_without_direct_swap_evidence",
            "message": "signals.swaps=true but no supporting evidence quote directly mentions a swap, TRS or CFD.",
            "source": "agent"
        }
    ],
    "suggested_repairs": [
        "Remove or downgrade unsupported synthetic_replication, or add product-specific evidence that directly proves the feature before using it as a hard complex trigger.",
        "Remove or downgrade unsupported complex_index, or add product-specific evidence that directly proves the feature before using it as a hard complex trigger.",
        "Do not infer swap exposure from generic derivative/counterparty language. Add direct swap/TRS/CFD evidence or set swaps=false.",
        "Remove or downgrade unsupported synthetic_replication signal or add product-specific evidence directly proving synthetic replication before using it as a hard complex trigger.",
        "Remove or downgrade unsupported complex_index signal or add product-specific evidence directly proving complex index methodology before using it as a hard complex trigger.",
        "Do not infer swap exposure from generic derivative or counterparty risk language. Add direct swap/TRS/CFD evidence or set swaps=false.",
        "Ensure that derivatives_epm_only=true is consistent with absence of core derivative strategy evidence and that no hard-complex signals are unsupported.",
        "If synthetic_replication is confirmed, update supporting_evidence with direct quotes evidencing synthetic replication (e.g. 'Indirect Replication methodology', 'Replication type: Synthetical', or total return swap details)."
    ],
    "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_synthetic_replication",
                "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature."
            },
            {
                "severity": "fail",
                "code": "hard_complex_signal_without_direct_evidence_complex_index",
                "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature."
            },
            {
                "severity": "fail",
                "code": "swaps_true_without_direct_swap_evidence",
                "message": "signals.swaps=true but no supporting evidence quote directly mentions a swap, TRS or CFD."
            }
        ],
        "suggested_repairs": [
            "Remove or downgrade unsupported synthetic_replication, or add product-specific evidence that directly proves the feature before using it as a hard complex trigger.",
            "Remove or downgrade unsupported complex_index, or add product-specific evidence that directly proves the feature before using it as a hard complex trigger.",
            "Do not infer swap exposure from generic derivative/counterparty language. Add direct swap/TRS/CFD evidence or set swaps=false."
        ],
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": null,
            "decision_rule_signal_true": null,
            "decision_rule_signal_supported": null,
            "true_hard_signals": [
                "synthetic_replication",
                "complex_index"
            ],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [
                "synthetic_replication",
                "complex_index"
            ],
            "checks": {
                "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": true,
            "swaps_signal": true,
            "synthetic_replication": true,
            "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": []
        },
        "detected_features": {
            "helo_or_core_options_overlay": false,
            "physical_replication": true,
            "has_epm_only_evidence": true,
            "has_core_derivatives_evidence": false,
            "has_generic_fdi_permission_evidence": true,
            "has_option_overlay_evidence": false
        }
    },
    "agent_review": {
        "ok": true,
        "model": "gpt-4.1-mini",
        "temperature": 0,
        "max_tokens": 1800,
        "usage": {
            "prompt_tokens": 2787,
            "completion_tokens": 538,
            "total_tokens": 3325,
            "raw": {
                "prompt_tokens": 2787,
                "completion_tokens": 538,
                "total_tokens": 3325,
                "cost": 0.0019756,
                "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.0019756,
                    "upstream_inference_prompt_cost": 0.0011148,
                    "upstream_inference_completions_cost": 0.0008608
                },
                "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": 2787,
            "completion_tokens": 538,
            "total_tokens": 3325,
            "input_cost_usd": 0.0011148,
            "output_cost_usd": 0.0008608,
            "estimated_cost_usd": 0.0019756,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "fail",
            "publishable": false,
            "confidence": 0.92,
            "summary": "The assessment declares the product complex based on hard-complex signals synthetic_replication and complex_index, and swaps=true. However, no supporting evidence directly substantiates synthetic replication, complex index methodology, or swap usage. The only derivative evidence is generic permission/ancillary use language, insufficient to confirm material or strategy-defining derivative exposure. This violates internal consistency and Oppl policy requiring direct product-specific evidence for hard-complex signals. The derivatives_epm_only=true flag correctly reflects ancillary use but conflicts with the unsupported synthetic_replication and swaps signals. No HELO or option overlay evidence is present, so no reclassification needed there. The supporting evidence signal labels match their quotes but do not prove the decisive hard-complex signals. Therefore, the JSON is not client-publishable as-is and requires repair by either removing unsupported hard-complex signals or adding direct product-specific evidence before publishing.",
            "issues": [
                {
                    "severity": "fail",
                    "code": "hard_complex_signal_without_direct_evidence_synthetic_replication",
                    "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates that hard-complex feature."
                },
                {
                    "severity": "fail",
                    "code": "hard_complex_signal_without_direct_evidence_complex_index",
                    "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature."
                },
                {
                    "severity": "fail",
                    "code": "swaps_true_without_direct_swap_evidence",
                    "message": "signals.swaps=true but no supporting evidence quote directly mentions a swap, TRS or CFD."
                }
            ],
            "suggested_repairs": [
                "Remove or downgrade unsupported synthetic_replication signal or add product-specific evidence directly proving synthetic replication before using it as a hard complex trigger.",
                "Remove or downgrade unsupported complex_index signal or add product-specific evidence directly proving complex index methodology before using it as a hard complex trigger.",
                "Do not infer swap exposure from generic derivative or counterparty risk language. Add direct swap/TRS/CFD evidence or set swaps=false.",
                "Ensure that derivatives_epm_only=true is consistent with absence of core derivative strategy evidence and that no hard-complex signals are unsupported.",
                "If synthetic_replication is confirmed, update supporting_evidence with direct quotes evidencing synthetic replication (e.g. 'Indirect Replication methodology', 'Replication type: Synthetical', or total return swap details)."
            ]
        }
    }
}