{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.9",
        "captured_at_utc": "2026-08-09T12:16:46+00:00",
        "captured_unix": 1786277806,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00B3VSSL01_balanced_latest.json",
        "source_assessment_hash": "bba68f4f8fc989d6d53d0731bf3760cef145fac6a21e8106699c5918ccc9fdf5",
        "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": "IE00B3VSSL01",
    "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 a supporting_evidence item with signal=derivatives_core_strategy quoting relevant product-specific strategy language to substantiate the derivatives_core_strategy signal.",
        "Either remove or downgrade the synthetic_replication signal or add product-specific evidence explicitly supporting synthetic replication to resolve the unsupported synthetic_replication flag."
    ],
    "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": "To achieve the objective the Fund will use unfunded swaps (\"Swaps\")... The performance of the Index is swapped from the counterparty to the Fund in exchange for the performance of equities and equity related securities held by the Fund."
                },
                {
                    "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": "To achieve the objective the Fund will use unfunded swaps (\"Swaps\")... The performance of the Index is swapped from the counterparty to the Fund in exchange for the performance of equities and equity related securities held by the Fund."
                        },
                        {
                            "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": 3764,
            "completion_tokens": 317,
            "total_tokens": 4081,
            "raw": {
                "prompt_tokens": 3764,
                "completion_tokens": 317,
                "total_tokens": 4081,
                "cost": 0.0020128,
                "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.0020128,
                    "upstream_inference_prompt_cost": 0.0015056,
                    "upstream_inference_completions_cost": 0.0005072
                },
                "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": 3764,
            "completion_tokens": 317,
            "total_tokens": 4081,
            "input_cost_usd": 0.0015056,
            "output_cost_usd": 0.0005072,
            "estimated_cost_usd": 0.0020128,
            "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. These unsupported signals do not invalidate the classification but warrant warnings and suggested repairs to improve evidence quality and internal consistency.",
            "issues": [
                {
                    "severity": "warn",
                    "code": "core_derivatives_true_without_core_evidence",
                    "message": "derivatives_core_strategy=true but no supporting_evidence item explicitly substantiates this signal with a relevant quote."
                },
                {
                    "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 hard-complex feature. The synthetic_replication signal is not used by the 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 signal.",
                "Either remove or downgrade the synthetic_replication signal or add product-specific evidence explicitly supporting synthetic replication to resolve the unsupported synthetic_replication flag."
            ]
        }
    }
}