diff --git a/planning/compatibility-reviews/spot-21cb0c603dc15365.json b/planning/compatibility-reviews/spot-21cb0c603dc15365.json new file mode 100644 index 0000000..24139e8 --- /dev/null +++ b/planning/compatibility-reviews/spot-21cb0c603dc15365.json @@ -0,0 +1,72 @@ +{ + "schema_version": "compatibility-semantic-review-v1", + "claim_boundary": "Automation evidence for generic IR review only. Native support remains blocked until independent trade-surface and full-state exact proof.", + "decision": { + "schema_version": "1.0.0", + "identity": { + "upstream_sha": "865b6b162990d44bdc1972146eba6fa16c572f3a", + "engine_sha": "abc3e0aa98514a2f6da75f556ec5239635b7bd70", + "freqtrade_digest": "sha256:d47d7053dc07eca2ace20385575143090ba88621007e5e8b76052dca6038799a", + "semantic_profile_sha256": "3bc4eb5d1fd94f87b2f0fbe7e18e647804093f2094ae89136f7fec3f67d53428", + "strategy_sha256": "67e0ad5cb38228df329f8b5618d71f37b34ceb41cab496bfcdb5bf6ce5be15fb" + }, + "trading_mode": "spot", + "strategy_classification": "ir-compatible", + "automation_route": "semantic_review_draft_pr", + "execution_route": "official_only", + "review_kind": "generic_lowering", + "verification": { + "state": "latest_checked", + "changed_branch_reached": false, + "trade_surface_exact": null, + "full_state_exact": null, + "exact": false + }, + "discovery_status": null, + "added_opcodes": [], + "behavior_targets": [ + { + "id": "b7148601be52ae55d388a4d0a527103480c8595176b508d18f0741fe7835a000", + "kind": "callback", + "change": "changed", + "runtime_observable": true + } + ], + "blockers": [ + { + "code": "CHANGED_BRANCH_PROOF_REQUIRED", + "message": "no bounded official fixture proof was supplied" + }, + { + "code": "EXACT_LOWERING_REVIEW_REQUIRED", + "message": "NFI adjustment grind 5 fallback condition changed" + }, + { + "code": "NATIVE_COMPATIBILITY_BLOCKED", + "message": "static Native compatibility did not pass" + }, + { + "code": "TARGETED_COVERAGE_GAP", + "message": "1 changed behavior target(s) have no branch-reaching fixture: callback" + } + ], + "action": { + "native_promotion_allowed": false, + "bounded_discovery_required": false, + "draft_pr_allowed": true, + "draft_pr_kind": "generic_lowering", + "official_fallback_available": true, + "automatic_semantic_merge_allowed": false, + "external_data_deferred_is_exact": false + }, + "action_fingerprint": "21cb0c603dc153652b0751ea1ca872f20c6f2c50aea9f8469c1d65c6042febca", + "decision_fingerprint": "06c343f5faeedafab6806cab43c4fa43ce0827dc443165eaa2ae9fe1d13c2c99", + "message": "Static lowering is blocked; open a generic lowering review Draft PR." + }, + "review_requirements": [ + "implement only a source-structural generic opcode or lowerer", + "add a focused unit test and an official captured fixture", + "prove changed-branch, trade-surface, and full-state exactness", + "obtain human review and Required CI; never merge automatically" + ] +}