{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.1",
        "captured_at_utc": "2026-08-08T13:55:11+00:00",
        "captured_unix": 1786197311,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00B78JSG98_strict_latest.json",
        "source_assessment_hash": "0d8cfe609699de6ca8859dc4da459bb87904b65b1b62bab182d73eb4ffd2e47e",
        "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": "IE00B78JSG98",
    "classification": "complex",
    "policy_mode": "strict",
    "decision_rule_applied": "strict_etf_swap_complex_rule",
    "validator_verdict": "fail",
    "publishable": false,
    "confidence": 0.92,
    "issue_count": 4,
    "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": "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": "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.",
        "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 explicitly proving synthetic replication (e.g. 'Indirect Replication methodology', 'Replication type: Synthetical', or total return swap language).",
        "Remove or downgrade unsupported swaps signal or add direct product-specific evidence explicitly mentioning swaps, TRS, or CFDs.",
        "Do not rely on generic derivative permission language as evidence of actual or material swap or synthetic exposure.",
        "Ensure supporting_evidence quotes directly match and prove all decisive hard-complex signals before classification."
    ],
    "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": "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.",
            "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"
            ],
            "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": []
                }
            }
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "strict",
            "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": 2588,
            "completion_tokens": 379,
            "total_tokens": 2967,
            "raw": {
                "prompt_tokens": 2588,
                "completion_tokens": 379,
                "total_tokens": 2967,
                "cost": 0.0016416,
                "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.0016416,
                    "upstream_inference_prompt_cost": 0.0010352,
                    "upstream_inference_completions_cost": 0.0006064
                },
                "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": 2588,
            "completion_tokens": 379,
            "total_tokens": 2967,
            "input_cost_usd": 0.0010352,
            "output_cost_usd": 0.0006064,
            "estimated_cost_usd": 0.0016416,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "fail",
            "publishable": false,
            "confidence": 0.92,
            "summary": "The assessment claims synthetic replication and swap usage as hard-complex signals but lacks direct product-specific evidence to substantiate these signals. The supporting evidence only shows generic derivative permission language and securities lending, which do not prove actual swap exposure or synthetic replication. This violates internal consistency and Oppl policy requiring direct evidence for hard-complex signals. No conflict found between derivatives_epm_only and derivatives_core_strategy as the latter is false. The HELO or option overlay core derivative strategy is not present, so no related issues. The assessment is not publishable as-is due to unsupported hard-complex signals.",
            "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": "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 explicitly proving synthetic replication (e.g. 'Indirect Replication methodology', 'Replication type: Synthetical', or total return swap language).",
                "Remove or downgrade unsupported swaps signal or add direct product-specific evidence explicitly mentioning swaps, TRS, or CFDs.",
                "Do not rely on generic derivative permission language as evidence of actual or material swap or synthetic exposure.",
                "Ensure supporting_evidence quotes directly match and prove all decisive hard-complex signals before classification."
            ]
        }
    }
}