{"record":{"id":"09a1144475f4360f","repo":"dbt-labs/dbt-core","slug":"the-recorded-model-ddl-should-remain-available-aft","errorCode":null,"errorMessage":"the recorded model DDL should remain available after the probe mismatch","messagePattern":"the recorded model DDL should remain available after the probe mismatch","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/time_machine/event_replay.rs","lineNumber":3162,"sourceCode":"        }]);\n\n        let actual_args = serde_json::json!([actual_date_spine_probe_sql]);\n        let event = recording.take_semantic_match(\n            node_id,\n            \"execute\",\n            &actual_args,\n            SemanticCategory::Write,\n        );\n\n        assert!(\n            event.is_none(),\n            \"date_spine's compile-time datediff probe should not consume the recorded model DDL write\"\n        );\n\n        let model_args = serde_json::json!([recorded_model_sql]);\n        let event = recording\n            .take_semantic_match(node_id, \"execute\", &model_args, SemanticCategory::Write)\n            .expect(\"the recorded model DDL should remain available after the probe mismatch\");\n        assert_eq!(event.args, model_args);\n    }\n\n    /// Recording has [SHOW_PARAMS, DATEDIFF_PROBE, CREATE_VIEW] but Fusion emits them\n    /// as [DATEDIFF_PROBE, SHOW_PARAMS, CREATE_VIEW]. In semantic mode all three should\n    /// still be matched correctly.\n    #[test]\n    fn test_semantic_mode_date_spine_ordering_mismatch() {\n        let node_id = \"model.project.date_details\";\n        let show_sql = \"show parameters like 'query_tag' in session\";\n        let probe_sql =\n            \"select datediff(day, '2018-12-31'::date, sysdate()::date + interval '1 day')\";\n        let ddl_sql = \"create or replace view analytics.public.date_details as (select 1)\";\n\n        let make_exec = |seq: u32, sql: &str| AdapterCallEvent {\n            node_id: node_id.to_string(),\n            seq,\n            method: \"execute\".to_string(),","sourceCodeStart":3144,"sourceCodeEnd":3180,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/time_machine/event_replay.rs#L3144-L3180","documentation":"Test-only assertion: after a compile-time datediff probe mismatch consumed no event, the recorded model DDL write must still be available for later matching. Fires only if semantic-match consumption incorrectly eats recorded events on probe mismatch — a replay-engine regression.","triggerScenarios":"Thrown at crates/dbt-adapter/src/time_machine/event_replay.rs:3162 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix take_semantic_match so mismatched probes do not consume recorded events","Re-run the event replay tests around probe/DDL ordering","Treat failure as a replay determinism regression"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}