{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.9",
        "captured_at_utc": "2026-08-09T12:12:10+00:00",
        "captured_unix": 1786277530,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00B60SWX25_balanced_latest.json",
        "source_assessment_hash": "86a3c96c1bc6fdeb6800f1bbe8764d75114786e0c4b958eac136f078817435e2",
        "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": "IE00B60SWX25",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "balanced_etf_swap_complex_rule",
    "validator_verdict": "warn",
    "publishable": true,
    "confidence": 0.78,
    "issue_count": 2,
    "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."
        }
    ],
    "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.",
        "Add supporting_evidence with signal=derivatives_core_strategy quoting relevant product-specific strategy language to substantiate derivatives_core_strategy=true.",
        "Remove or downgrade the unsupported synthetic_replication signal or add product-specific evidence directly supporting synthetic replication 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."
            }
        ],
        "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."
        ],
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": "swaps",
            "decision_rule_signal_true": true,
            "decision_rule_signal_supported": true,
            "decision_rule_matching_evidence_count": 2,
            "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": "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."
                }
            ],
            "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": 2,
                    "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": "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."
                        }
                    ]
                }
            }
        },
        "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": 2,
            "swap_evidence_count": 2,
            "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": 3702,
            "completion_tokens": 361,
            "total_tokens": 4063,
            "raw": {
                "prompt_tokens": 3702,
                "completion_tokens": 361,
                "total_tokens": 4063,
                "cost": 0.0020584,
                "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.0020584,
                    "upstream_inference_prompt_cost": 0.0014808,
                    "upstream_inference_completions_cost": 0.0005776
                },
                "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": 3702,
            "completion_tokens": 361,
            "total_tokens": 4063,
            "input_cost_usd": 0.0014808,
            "output_cost_usd": 0.0005776,
            "estimated_cost_usd": 0.0020584,
            "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, the derivatives_core_strategy signal is true without any supporting evidence item explicitly labeled as such, and the synthetic_replication signal is true but lacks direct supporting evidence and is not used by the decision rule. There is no conflict between derivatives_epm_only and derivatives_core_strategy flags. The swap evidence directly supports the hard-complex swap signal driving the decision. The synthetic_replication signal is an unsupported additional hard signal and should be repaired or removed to improve evidence hygiene. The client-facing JSON is publishable as-is but would benefit from adding core derivatives evidence or removing unsupported synthetic_replication signal.",
            "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. It 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 relevant product-specific strategy language to substantiate derivatives_core_strategy=true.",
                "Remove or downgrade the unsupported synthetic_replication signal or add product-specific evidence directly supporting synthetic replication to improve evidence quality."
            ]
        }
    }
}