{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.9",
        "captured_at_utc": "2026-08-09T12:16:06+00:00",
        "captured_unix": 1786277766,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00BD6FTQ80_balanced_latest.json",
        "source_assessment_hash": "2b0231750535cc4ab69c440dbc11b0a67fb9fd6e31c0bba154bc5a12ad129dba",
        "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": "IE00BD6FTQ80",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "balanced_etf_swap_complex_rule",
    "validator_verdict": "warn",
    "publishable": true,
    "confidence": 0.78,
    "issue_count": 3,
    "issues": [
        {
            "severity": "warn",
            "code": "core_derivatives_true_without_core_evidence",
            "message": "derivatives_core_strategy=true but no derivatives_core_strategy evidence item is present."
        },
        {
            "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: swaps."
        },
        {
            "severity": "warn",
            "code": "non_decisive_hard_signal_without_direct_evidence_commodity_futures_roll",
            "message": "signals.commodity_futures_roll=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: swaps."
        }
    ],
    "suggested_repairs": [
        "Add supporting_evidence with signal=derivatives_core_strategy quoting the relevant strategy language.",
        "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 commodity_futures_roll, or add product-specific evidence for it. This is an evidence-quality repair and does not invalidate an independently supported complex classification.",
        "Add a supporting_evidence item with signal=derivatives_core_strategy quoting relevant product-specific strategy language to substantiate the derivatives_core_strategy flag.",
        "Add product-specific supporting evidence quotes for synthetic_replication or remove/downgrade the synthetic_replication signal to improve evidence quality.",
        "Add product-specific supporting evidence quotes for commodity_futures_roll or remove/downgrade the commodity_futures_roll signal to improve evidence quality."
    ],
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "warn",
        "publishable": true,
        "confidence": 0.78,
        "issues": [
            {
                "severity": "warn",
                "code": "core_derivatives_true_without_core_evidence",
                "message": "derivatives_core_strategy=true but no derivatives_core_strategy evidence item is present."
            },
            {
                "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: swaps."
            },
            {
                "severity": "warn",
                "code": "non_decisive_hard_signal_without_direct_evidence_commodity_futures_roll",
                "message": "signals.commodity_futures_roll=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: swaps."
            }
        ],
        "suggested_repairs": [
            "Add supporting_evidence with signal=derivatives_core_strategy quoting the relevant strategy language.",
            "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 commodity_futures_roll, 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": "swaps",
            "decision_rule_signal_true": true,
            "decision_rule_signal_supported": true,
            "decision_rule_matching_evidence_count": 3,
            "decision_rule_matches": [
                {
                    "index": 0,
                    "source": "PRIIPS_KID",
                    "evidence_signal": "synthetic_replication",
                    "quote": "To achieve the objective the Fund will use unfunded swaps (\" Swaps \"). These Swaps are an agreement between the Fund and an approved counterparty to exchange one stream of cash flows, against another stream. The Fund will not purchase commodities that comprise the index. The Fund holds a diversified basket of US Treasury Bills."
                },
                {
                    "index": 1,
                    "source": "FACTSHEET",
                    "evidence_signal": "swaps",
                    "quote": "The fund might purchase securities that are not contained in the reference index and will enter into swap agreements to exchange the performance of those securities for the performance of the reference index."
                },
                {
                    "index": 2,
                    "source": "KIID",
                    "evidence_signal": "counterparty_risk",
                    "quote": "The Fund\u2019s ability to track the benchmark\u2019s performance is reliant on the counterparties to continuously deliver the performance of the benchmark in line with the swap agreements"
                }
            ],
            "true_hard_signals": [
                "synthetic_replication",
                "commodity_futures_roll"
            ],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [
                "synthetic_replication",
                "commodity_futures_roll"
            ],
            "checks": {
                "synthetic_replication": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                },
                "commodity_futures_roll": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                },
                "swaps": {
                    "signal_true": true,
                    "direct_evidence": true,
                    "matching_evidence_count": 3,
                    "decision_rule_uses_signal": true,
                    "matches": [
                        {
                            "index": 0,
                            "source": "PRIIPS_KID",
                            "evidence_signal": "synthetic_replication",
                            "quote": "To achieve the objective the Fund will use unfunded swaps (\" Swaps \"). These Swaps are an agreement between the Fund and an approved counterparty to exchange one stream of cash flows, against another stream. The Fund will not purchase commodities that comprise the index. The Fund holds a diversified basket of US Treasury Bills."
                        },
                        {
                            "index": 1,
                            "source": "FACTSHEET",
                            "evidence_signal": "swaps",
                            "quote": "The fund might purchase securities that are not contained in the reference index and will enter into swap agreements to exchange the performance of those securities for the performance of the reference index."
                        },
                        {
                            "index": 2,
                            "source": "KIID",
                            "evidence_signal": "counterparty_risk",
                            "quote": "The Fund\u2019s ability to track the benchmark\u2019s performance is reliant on the counterparties to continuously deliver the performance of the benchmark in line with the swap agreements"
                        }
                    ]
                }
            }
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "balanced",
            "type": "ETF",
            "ucits": true,
            "physical_replication": false,
            "swaps_signal": true,
            "synthetic_replication": true,
            "derivatives_core_strategy": true,
            "derivatives_epm_only": false,
            "derivative_evidence_count": 3,
            "swap_evidence_count": 3,
            "permission_or_ancillary_evidence_count": 0,
            "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": 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": 4331,
            "completion_tokens": 444,
            "total_tokens": 4775,
            "raw": {
                "prompt_tokens": 4331,
                "completion_tokens": 444,
                "total_tokens": 4775,
                "cost": 0.0024428,
                "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.0024428,
                    "upstream_inference_prompt_cost": 0.0017324,
                    "upstream_inference_completions_cost": 0.0007104
                },
                "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": 4331,
            "completion_tokens": 444,
            "total_tokens": 4775,
            "input_cost_usd": 0.0017324,
            "output_cost_usd": 0.0007104,
            "estimated_cost_usd": 0.0024428,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "warn",
            "publishable": true,
            "confidence": 0.88,
            "summary": "The classification as complex under the balanced_etf_swap_complex_rule is supported by direct product-specific swap evidence. However, there are unsupported hard-complex signals (synthetic_replication and commodity_futures_roll) without direct supporting evidence quotes. The derivatives_core_strategy flag is true but lacks a dedicated supporting evidence item. No conflicts found between derivatives_epm_only and derivatives_core_strategy flags. The product is a synthetic replication ETF with swap usage, consistent with balanced mode policy. The client-facing JSON is publishable but would benefit from evidence quality improvements.",
            "issues": [
                {
                    "severity": "warn",
                    "code": "core_derivatives_true_without_core_evidence",
                    "message": "derivatives_core_strategy=true but no supporting_evidence quote explicitly substantiates this signal."
                },
                {
                    "severity": "warn",
                    "code": "non_decisive_hard_signal_without_direct_evidence_synthetic_replication",
                    "message": "signals.synthetic_replication=true but no supporting_evidence quote directly substantiates this feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by swaps."
                },
                {
                    "severity": "warn",
                    "code": "non_decisive_hard_signal_without_direct_evidence_commodity_futures_roll",
                    "message": "signals.commodity_futures_roll=true but no supporting_evidence quote directly substantiates this feature. The signal is not used by decision_rule_applied and classification=complex is independently supported by swaps."
                }
            ],
            "suggested_repairs": [
                "Add a supporting_evidence item with signal=derivatives_core_strategy quoting relevant product-specific strategy language to substantiate the derivatives_core_strategy flag.",
                "Add product-specific supporting evidence quotes for synthetic_replication or remove/downgrade the synthetic_replication signal to improve evidence quality.",
                "Add product-specific supporting evidence quotes for commodity_futures_roll or remove/downgrade the commodity_futures_roll signal to improve evidence quality."
            ]
        }
    }
}