{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.1",
        "captured_at_utc": "2026-08-08T12:23:58+00:00",
        "captured_unix": 1786191838,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00B3CNHJ55_balanced_latest.json",
        "source_assessment_hash": "c57d0df5b4abf55410071d106e329bd3d48b0d8cd6422943433a52073c9a8cb2",
        "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": "IE00B3CNHJ55",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "balanced_etf_swap_complex_rule",
    "validator_verdict": "fail",
    "publishable": false,
    "confidence": 0.92,
    "issue_count": 2,
    "issues": [
        {
            "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": "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": [
        "Do not infer swap exposure from generic derivative/counterparty language. Add direct swap/TRS/CFD evidence or set swaps=false.",
        "Add direct product-specific evidence explicitly mentioning swaps, TRS, or CFDs to support the swaps=true signal and complex classification.",
        "Or, if such evidence is unavailable, set signals.swaps=false and remove 'Swap usage' from complex_factors to align with evidence.",
        "Ensure derivative evidence labels match the nature of the evidence: generic permission language should be derivatives_epm_only or derivatives_mentioned, not swaps or core strategy.",
        "Reassess classification after evidence and signals are aligned."
    ],
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "fail",
        "publishable": false,
        "confidence": 0.92,
        "issues": [
            {
                "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": [
            "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": [],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [],
            "checks": []
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "balanced",
            "type": "ETF",
            "ucits": true,
            "physical_replication": false,
            "swaps_signal": true,
            "synthetic_replication": false,
            "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": false,
            "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": 2412,
            "completion_tokens": 317,
            "total_tokens": 2729,
            "raw": {
                "prompt_tokens": 2412,
                "completion_tokens": 317,
                "total_tokens": 2729,
                "cost": 0.001472,
                "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.001472,
                    "upstream_inference_prompt_cost": 0.0009648,
                    "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": 2412,
            "completion_tokens": 317,
            "total_tokens": 2729,
            "input_cost_usd": 0.0009648,
            "output_cost_usd": 0.0005072,
            "estimated_cost_usd": 0.001472,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "fail",
            "publishable": false,
            "confidence": 0.92,
            "summary": "The assessment claims swap usage (signals.swaps=true) as a decisive complex factor but lacks direct product-specific evidence explicitly mentioning swaps, TRS, or CFDs. The only derivative evidence is generic permission language for efficient portfolio management, which supports derivatives_epm_only=true but does not prove material or strategy-defining swap exposure. This inconsistency violates policy requiring hard-complex signals to be directly supported by product-specific evidence. No conflicts found between derivatives_epm_only and derivatives_core_strategy flags. The classification as complex is not sufficiently supported and thus the JSON is not publishable as-is.",
            "issues": [
                {
                    "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": [
                "Add direct product-specific evidence explicitly mentioning swaps, TRS, or CFDs to support the swaps=true signal and complex classification.",
                "Or, if such evidence is unavailable, set signals.swaps=false and remove 'Swap usage' from complex_factors to align with evidence.",
                "Ensure derivative evidence labels match the nature of the evidence: generic permission language should be derivatives_epm_only or derivatives_mentioned, not swaps or core strategy.",
                "Reassess classification after evidence and signals are aligned."
            ]
        }
    }
}