{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.9",
        "captured_at_utc": "2026-08-09T12:39:46+00:00",
        "captured_unix": 1786279186,
        "input_source": "url",
        "input_url": "https://oppl.ai/llms/runs/etf/IE00BDQZN550_balanced_latest.json",
        "source_assessment_hash": "fff364a320be0e7d85849f092f84a423ef7140b0c517a69347a5e1274a895a9b",
        "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": "IE00BDQZN550",
    "classification": "complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "balanced_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": "hard_complex_signal_without_direct_evidence_complex_index",
            "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature."
        },
        {
            "severity": "fail",
            "code": "decision_rule_without_direct_evidence_swaps",
            "message": "decision_rule_applied relies on swaps but no product-specific supporting_evidence quote directly substantiates that decision-driving signal."
        },
        {
            "severity": "warn",
            "code": "derivatives_epm_only_true_without_epm_evidence",
            "message": "derivatives_epm_only=true but only generic permission or ancillary derivative evidence is present; no product-specific EPM or hedging evidence found.",
            "source": "agent"
        }
    ],
    "suggested_repairs": [
        "Remove or downgrade unsupported synthetic_replication, or add product-specific evidence that directly proves the feature before retaining it as a hard complex signal.",
        "Remove or downgrade unsupported complex_index, or add product-specific evidence that directly proves the feature before retaining it as a hard complex signal.",
        "Add direct product-specific evidence for swaps, or align decision_rule_applied with the feature actually proven by the evidence.",
        "Add direct product-specific evidence quotes that explicitly mention swap usage to support the swaps signal and decision rule.",
        "Add direct product-specific evidence quotes that explicitly substantiate synthetic replication and complex index features, or remove these unsupported signals.",
        "Align the decision_rule_applied with the actual supported features if swap evidence cannot be found, possibly selecting a different decision rule.",
        "Remove or downgrade the synthetic_replication and complex_index signals if no direct evidence can be provided.",
        "Clarify or add product-specific evidence for derivatives_epm_only if it is to be retained; otherwise, consider setting derivatives_epm_only to false."
    ],
    "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": "hard_complex_signal_without_direct_evidence_complex_index",
                "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature."
            },
            {
                "severity": "fail",
                "code": "decision_rule_without_direct_evidence_swaps",
                "message": "decision_rule_applied relies on swaps but no product-specific supporting_evidence quote directly substantiates that decision-driving signal."
            }
        ],
        "suggested_repairs": [
            "Remove or downgrade unsupported synthetic_replication, or add product-specific evidence that directly proves the feature before retaining it as a hard complex signal.",
            "Remove or downgrade unsupported complex_index, or add product-specific evidence that directly proves the feature before retaining it as a hard complex signal.",
            "Add direct product-specific evidence for swaps, or align decision_rule_applied with the feature actually proven by the evidence."
        ],
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": "swaps",
            "decision_rule_signal_true": true,
            "decision_rule_signal_supported": false,
            "decision_rule_matching_evidence_count": 0,
            "decision_rule_matches": [],
            "true_hard_signals": [
                "synthetic_replication",
                "complex_index"
            ],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [
                "synthetic_replication",
                "complex_index"
            ],
            "checks": {
                "synthetic_replication": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                },
                "complex_index": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                },
                "swaps": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": true,
                    "matches": []
                }
            }
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "balanced",
            "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": false,
            "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": 3649,
            "completion_tokens": 575,
            "total_tokens": 4224,
            "raw": {
                "prompt_tokens": 3649,
                "completion_tokens": 575,
                "total_tokens": 4224,
                "cost": 0.0023796,
                "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.0023796,
                    "upstream_inference_prompt_cost": 0.0014596,
                    "upstream_inference_completions_cost": 0.00092
                },
                "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": 3649,
            "completion_tokens": 575,
            "total_tokens": 4224,
            "input_cost_usd": 0.0014596,
            "output_cost_usd": 0.00092,
            "estimated_cost_usd": 0.0023796,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "fail",
            "publishable": false,
            "confidence": 0.92,
            "summary": "The assessment claims a complex classification driven by swaps and synthetic replication signals, but lacks direct product-specific evidence supporting these hard-complex features. Additionally, synthetic_replication and complex_index signals are true but unsupported by evidence. The derivatives_epm_only flag is true but only supported by generic permission evidence, not product-specific EPM or hedging evidence, consistent with policy. No conflict exists between derivatives_epm_only and derivatives_core_strategy flags. The product is physically replicated and no HELO or option overlay strategy is evidenced, so no core derivatives strategy is proven. The assessment is internally inconsistent and not publishable as-is. Repairs are needed to either add direct evidence for swaps and synthetic replication or remove/adjust unsupported hard-complex signals and align the decision rule accordingly. Deterministic evidence does not substantiate signals.swaps=true; treat that flag as an evidence-hygiene warning unless direct swap/TRS/CFD evidence is added.",
            "issues": [
                {
                    "severity": "fail",
                    "code": "decision_rule_without_direct_evidence_swaps",
                    "message": "The decision_rule_applied 'balanced_etf_swap_complex_rule' relies on swaps, but no product-specific supporting_evidence quote directly substantiates swap usage."
                },
                {
                    "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": "hard_complex_signal_without_direct_evidence_complex_index",
                    "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature."
                },
                {
                    "severity": "warn",
                    "code": "derivatives_epm_only_true_without_epm_evidence",
                    "message": "derivatives_epm_only=true but only generic permission or ancillary derivative evidence is present; no product-specific EPM or hedging evidence found."
                }
            ],
            "suggested_repairs": [
                "Add direct product-specific evidence quotes that explicitly mention swap usage to support the swaps signal and decision rule.",
                "Add direct product-specific evidence quotes that explicitly substantiate synthetic replication and complex index features, or remove these unsupported signals.",
                "Align the decision_rule_applied with the actual supported features if swap evidence cannot be found, possibly selecting a different decision rule.",
                "Remove or downgrade the synthetic_replication and complex_index signals if no direct evidence can be provided.",
                "Clarify or add product-specific evidence for derivatives_epm_only if it is to be retained; otherwise, consider setting derivatives_epm_only to false."
            ]
        }
    }
}