{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.9",
        "captured_at_utc": "2026-08-09T12:00:45+00:00",
        "captured_unix": 1786276845,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE000RUF4QN8_balanced_latest.json",
        "source_assessment_hash": "9bfb4986a084a7385cf21dc76bd7bf598c4c0d70f1e26ea885b92c3889d43f86",
        "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": "IE000RUF4QN8",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "balanced_etf_swap_complex_rule",
    "validator_verdict": "warn",
    "publishable": true,
    "confidence": 0.78,
    "issue_count": 1,
    "issues": [
        {
            "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."
        }
    ],
    "suggested_repairs": [
        "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."
    ],
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "warn",
        "publishable": true,
        "confidence": 0.78,
        "issues": [
            {
                "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."
            }
        ],
        "suggested_repairs": [
            "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."
        ],
        "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": "The Fund is a passively managed ETF. To achieve the objective the Fund will use unfunded swaps (\" Swaps \")."
                },
                {
                    "index": 1,
                    "source": "PRIIPS_KID",
                    "evidence_signal": "swaps",
                    "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"
                },
                {
                    "index": 3,
                    "source": "PRIIPS_KID",
                    "evidence_signal": "counterparty_risk",
                    "quote": "The Fund\u2019s ability to track the Index performance is reliant on the counterparties to continuously deliver the performance of the Index in line with the swap agreements. The insolvency of any institutions acting as counterparty to derivatives or other instruments, may expose the Fund to financial loss."
                }
            ],
            "true_hard_signals": [
                "synthetic_replication"
            ],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [
                "synthetic_replication"
            ],
            "checks": {
                "synthetic_replication": {
                    "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": "The Fund is a passively managed ETF. To achieve the objective the Fund will use unfunded swaps (\" Swaps \")."
                        },
                        {
                            "index": 1,
                            "source": "PRIIPS_KID",
                            "evidence_signal": "swaps",
                            "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"
                        },
                        {
                            "index": 3,
                            "source": "PRIIPS_KID",
                            "evidence_signal": "counterparty_risk",
                            "quote": "The Fund\u2019s ability to track the Index performance is reliant on the counterparties to continuously deliver the performance of the Index in line with the swap agreements. The insolvency of any institutions acting as counterparty to derivatives or other instruments, may expose the Fund to financial loss."
                        }
                    ]
                }
            }
        },
        "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": 4,
            "swap_evidence_count": 3,
            "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": true,
            "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": 3999,
            "completion_tokens": 326,
            "total_tokens": 4325,
            "raw": {
                "prompt_tokens": 3999,
                "completion_tokens": 326,
                "total_tokens": 4325,
                "cost": 0.0021212,
                "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.0021212,
                    "upstream_inference_prompt_cost": 0.0015996,
                    "upstream_inference_completions_cost": 0.0005216
                },
                "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": 3999,
            "completion_tokens": 326,
            "total_tokens": 4325,
            "input_cost_usd": 0.0015996,
            "output_cost_usd": 0.0005216,
            "estimated_cost_usd": 0.0021212,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "warn",
            "publishable": true,
            "confidence": 0.88,
            "summary": "The classification as complex is supported by directly evidenced swap usage and counterparty risk. The decision_rule_applied 'balanced_etf_swap_complex_rule' correctly maps to signals.swaps=true with direct product-specific swap evidence. The derivatives_core_strategy signal is supported by product-specific evidence. However, the synthetic_replication signal is true but lacks direct supporting evidence and is not used by the decision rule, making it an unsupported additional hard signal. There is no conflict between derivatives_epm_only (false) and derivatives_core_strategy (true). No HELO or option overlay evidence is present, so no reclassification or relabelling is needed. All supporting_evidence signal labels match their quotes. The client-facing JSON is publishable as-is. Suggested repair is to remove or downgrade the unsupported synthetic_replication signal to improve evidence hygiene.",
            "issues": [
                {
                    "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."
                }
            ],
            "suggested_repairs": [
                "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."
            ]
        }
    }
}