{
    "ok": true,
    "_meta": {
        "validator": "oppl_complex_asset_json_validator",
        "validator_version": "1.1.15",
        "captured_at_utc": "2026-08-09T14:22:57+00:00",
        "captured_unix": 1786285377,
        "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": "non-complex",
    "policy_mode": "balanced",
    "decision_rule_applied": "etf_ucits_physical_no_complex_override_rule",
    "source_classification": "complex",
    "source_decision_rule_applied": "balanced_etf_swap_complex_rule",
    "resolution": {
        "applied": true,
        "resolution_class": "deterministic_false_complex_derivative_trigger_repair",
        "reason_code": "unsupported_complex_derivative_trigger_without_supported_complex_basis",
        "source_classification": "complex",
        "source_decision_rule_applied": "balanced_etf_swap_complex_rule",
        "resolved_classification": "non-complex",
        "resolved_decision_rule_applied": "etf_ucits_physical_no_complex_override_rule",
        "trigger_signal": "swaps",
        "overridden_unsupported_signals": [
            "swaps",
            "synthetic_replication"
        ],
        "physical_replication_status": "indicated_by_source_assessment",
        "physical_replication_evidence_count": 0,
        "supported_hard_signal_count": 0,
        "core_derivative_evidence_count": 0,
        "swap_evidence_count": 0,
        "reassessment_required": false,
        "publishable_resolution": true,
        "message": "The source assessment classified the ETF as Complex using balanced_etf_swap_complex_rule, but the decision-driving swaps signal has no direct product-specific evidence, no supported hard/core Complex basis remains, and physical UCITS replication is indicated by source assessment. The validator deterministically resolves the effective result to non-complex under the physical UCITS no-complex-override baseline; repair the upstream source assessment rather than rerunning another model."
    },
    "validator_verdict": "warn",
    "publishable": true,
    "confidence": 0.78,
    "issue_count": 3,
    "issues": [
        {
            "severity": "warn",
            "code": "source_complex_derivative_trigger_auto_resolved",
            "message": "The source assessment classified the ETF as Complex using balanced_etf_swap_complex_rule, but the decision-driving swaps signal has no direct product-specific evidence, no supported hard/core Complex basis remains, and physical UCITS replication is indicated by source assessment. The validator deterministically resolves the effective result to non-complex under the physical UCITS no-complex-override baseline; repair the upstream source assessment rather than rerunning another model."
        },
        {
            "severity": "warn",
            "code": "unsubstantiated_hard_signal_on_non_complex_complex_index",
            "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature. Because the signal itself is not evidentially substantiated, it must not be used by the validator to overturn an otherwise coherent non-complex classification."
        },
        {
            "severity": "warn",
            "code": "physical_rule_without_direct_physical_evidence",
            "message": "decision_rule_applied explicitly asserts physical replication, but no product-specific supporting evidence quote directly substantiates physical/direct replication. This is a rule-specificity evidence gap and does not by itself invalidate an otherwise coherent non-complex classification."
        }
    ],
    "suggested_repairs": [
        "Repair the upstream source assessment so its classification, decision rule and unsupported derivative flags match the evidence. No further model rerun is required unless new contradictory evidence is found.",
        "Remove or downgrade unsupported complex_index, or add product-specific evidence for it. Until supported, treat it as an evidence-quality flag rather than a classification contradiction.",
        "Add product-specific physical/direct replication evidence, or use a more general UCITS no-complex-override rule that does not assert physical replication."
    ],
    "reassessment": {
        "required": false,
        "reason": "deterministic_resolution_applied"
    },
    "deterministic_review": {
        "ok": true,
        "validator_type": "deterministic",
        "validator_verdict": "warn",
        "publishable": true,
        "confidence": 0.78,
        "issues": [
            {
                "severity": "warn",
                "code": "source_complex_derivative_trigger_auto_resolved",
                "message": "The source assessment classified the ETF as Complex using balanced_etf_swap_complex_rule, but the decision-driving swaps signal has no direct product-specific evidence, no supported hard/core Complex basis remains, and physical UCITS replication is indicated by source assessment. The validator deterministically resolves the effective result to non-complex under the physical UCITS no-complex-override baseline; repair the upstream source assessment rather than rerunning another model."
            },
            {
                "severity": "warn",
                "code": "unsubstantiated_hard_signal_on_non_complex_complex_index",
                "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature. Because the signal itself is not evidentially substantiated, it must not be used by the validator to overturn an otherwise coherent non-complex classification."
            },
            {
                "severity": "warn",
                "code": "physical_rule_without_direct_physical_evidence",
                "message": "decision_rule_applied explicitly asserts physical replication, but no product-specific supporting evidence quote directly substantiates physical/direct replication. This is a rule-specificity evidence gap and does not by itself invalidate an otherwise coherent non-complex classification."
            }
        ],
        "suggested_repairs": [
            "Repair the upstream source assessment so its classification, decision rule and unsupported derivative flags match the evidence. No further model rerun is required unless new contradictory evidence is found.",
            "Remove or downgrade unsupported complex_index, or add product-specific evidence for it. Until supported, treat it as an evidence-quality flag rather than a classification contradiction.",
            "Add product-specific physical/direct replication evidence, or use a more general UCITS no-complex-override rule that does not assert physical replication."
        ],
        "reassessment": {
            "required": false,
            "reason": "deterministic_resolution_applied"
        },
        "resolution": {
            "applied": true,
            "resolution_class": "deterministic_false_complex_derivative_trigger_repair",
            "reason_code": "unsupported_complex_derivative_trigger_without_supported_complex_basis",
            "source_classification": "complex",
            "source_decision_rule_applied": "balanced_etf_swap_complex_rule",
            "resolved_classification": "non-complex",
            "resolved_decision_rule_applied": "etf_ucits_physical_no_complex_override_rule",
            "trigger_signal": "swaps",
            "overridden_unsupported_signals": [
                "swaps",
                "synthetic_replication"
            ],
            "physical_replication_status": "indicated_by_source_assessment",
            "physical_replication_evidence_count": 0,
            "supported_hard_signal_count": 0,
            "core_derivative_evidence_count": 0,
            "swap_evidence_count": 0,
            "reassessment_required": false,
            "publishable_resolution": true,
            "message": "The source assessment classified the ETF as Complex using balanced_etf_swap_complex_rule, but the decision-driving swaps signal has no direct product-specific evidence, no supported hard/core Complex basis remains, and physical UCITS replication is indicated by source assessment. The validator deterministically resolves the effective result to non-complex under the physical UCITS no-complex-override baseline; repair the upstream source assessment rather than rerunning another model."
        },
        "decisive_signal_evidence": {
            "checked": true,
            "decision_rule_signal": null,
            "decision_rule_signal_true": null,
            "decision_rule_signal_supported": null,
            "decision_rule_matching_evidence_count": null,
            "decision_rule_matches": [],
            "true_hard_signals": [
                "complex_index"
            ],
            "supported_hard_signals": [],
            "unsupported_hard_signals": [
                "complex_index"
            ],
            "checks": {
                "complex_index": {
                    "signal_true": true,
                    "direct_evidence": false,
                    "matching_evidence_count": 0,
                    "decision_rule_uses_signal": false,
                    "matches": []
                }
            }
        },
        "derivative_materiality": {
            "checked": true,
            "policy_mode": "balanced",
            "type": "ETF",
            "ucits": true,
            "physical_replication": true,
            "swaps_signal": false,
            "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": []
        },
        "source_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": []
                }
            }
        },
        "source_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,
            "physical_replication_direct_evidence": false,
            "physical_replication_evidence_count": 0,
            "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": 5074,
            "completion_tokens": 551,
            "total_tokens": 5625,
            "raw": {
                "prompt_tokens": 5074,
                "completion_tokens": 551,
                "total_tokens": 5625,
                "cost": 0.0023352,
                "is_byok": false,
                "prompt_tokens_details": {
                    "cached_tokens": 1920,
                    "cache_write_tokens": 0,
                    "audio_tokens": 0,
                    "video_tokens": 0
                },
                "cost_details": {
                    "upstream_inference_cost": 0.0023352,
                    "upstream_inference_prompt_cost": 0.0014536,
                    "upstream_inference_completions_cost": 0.0008816
                },
                "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": 5074,
            "completion_tokens": 551,
            "total_tokens": 5625,
            "input_cost_usd": 0.0014536,
            "output_cost_usd": 0.0008816,
            "estimated_cost_usd": 0.0023352,
            "pricing_basis": "openrouter_usage_cost"
        },
        "review": {
            "validator_verdict": "warn",
            "publishable": true,
            "confidence": 0.88,
            "summary": "The derivatives_epm_only flag is supported by permission/ancillary derivative evidence, but no core derivative strategy evidence is present. The swaps and synthetic_replication signals are unsubstantiated and were deterministically overridden in the effective classification. The complex_index signal lacks direct supporting evidence and should be treated as an evidence-quality flag only. The physical replication rule is applied without direct product-specific physical replication evidence, which is a minor evidence gap but does not invalidate the classification. The client-facing JSON is publishable as-is with warnings and suggested upstream repairs. Deterministic evidence resolution replaced the unsupported source Complex rule balanced_etf_swap_complex_rule because its decision-driving swaps signal lacks direct evidence and no supported hard/core Complex basis remains. The effective classification is non-complex under the physical UCITS no-complex-override baseline, with physical replication indicated by the source assessment but not directly quoted. Repair the upstream source assessment; another model rerun is not required for this already-resolved trigger. The applied decision rule asserts physical replication, but deterministic evidence does not directly substantiate physical/direct replication; treat this as a publishable rule-specificity evidence warning rather than a classification contradiction.",
            "issues": [
                {
                    "severity": "warn",
                    "code": "source_complex_derivative_trigger_auto_resolved",
                    "message": "The source assessment classified the ETF as Complex using balanced_etf_swap_complex_rule, but the decision-driving swaps signal has no direct product-specific evidence, no supported hard/core Complex basis remains, and physical UCITS replication is indicated by source assessment. The validator deterministically resolves the effective result to non-complex under the physical UCITS no-complex-override baseline; repair the upstream source assessment rather than rerunning another model."
                },
                {
                    "severity": "warn",
                    "code": "unsubstantiated_hard_signal_on_non_complex_complex_index",
                    "message": "signals.complex_index=true but no supporting_evidence quote directly substantiates that hard-complex feature. Because the signal itself is not evidentially substantiated, it must not be used by the validator to overturn an otherwise coherent non-complex classification."
                },
                {
                    "severity": "warn",
                    "code": "physical_rule_without_direct_physical_evidence",
                    "message": "decision_rule_applied explicitly asserts physical replication, but no product-specific supporting evidence quote directly substantiates physical/direct replication. This is a rule-specificity evidence gap and does not by itself invalidate an otherwise coherent non-complex classification."
                }
            ],
            "suggested_repairs": [
                "Repair the upstream source assessment so its classification, decision rule and unsupported derivative flags match the evidence. No further model rerun is required unless new contradictory evidence is found.",
                "Remove or downgrade unsupported complex_index, or add product-specific evidence for it. Until supported, treat it as an evidence-quality flag rather than a classification contradiction.",
                "Add product-specific physical/direct replication evidence, or use a more general UCITS no-complex-override rule that does not assert physical replication."
            ]
        }
    }
}