-
Notifications
You must be signed in to change notification settings - Fork 0
[compat] Execute simple custom generic tests through DuckDB #212
Copy link
Copy link
Closed
Labels
area:artifactsManifest, results, catalog, sourcesManifest, results, catalog, sourcesarea:compiler-jinjaCompile and Jinja renderingCompile and Jinja renderingarea:duckdbDuckDB adapter boundaryDuckDB adapter boundaryarea:macrosMacro namespace and dispatchMacro namespace and dispatcharea:runnerExecution scheduler and failuresExecution scheduler and failuresartifact:run-resultsrun_results.jsonrun_results.jsoncommand:buildbuild commandbuild commandcommand:testtest commandtest commandgate:dbt-oracleNeeds dbt oracle comparisonNeeds dbt oracle comparisongate:focused-pytestNeeds focused pytestNeeds focused pytestgate:zig-testNeeds native Zig test gateNeeds native Zig test gatepriority:p1High priorityHigh priorityready-for-agentReady for agent delegationReady for agent delegationrisk:artifact-contractdbt artifact schema riskdbt artifact schema riskrisk:runtime-boundaryPython/Zig boundary riskPython/Zig boundary riskrisk:upstream-ambiguitydbt/Fusion behavior ambiguitydbt/Fusion behavior ambiguityrole:workerReady for implementation workerReady for implementation workerstatus:claimedClaimed by an agent/branchClaimed by an agent/branchstatus:readyReady for worktree claimReady for worktree claimtype:compatSource-grounded dbt compatibility sliceSource-grounded dbt compatibility slice
Description
Metadata
Metadata
Assignees
Labels
area:artifactsManifest, results, catalog, sourcesManifest, results, catalog, sourcesarea:compiler-jinjaCompile and Jinja renderingCompile and Jinja renderingarea:duckdbDuckDB adapter boundaryDuckDB adapter boundaryarea:macrosMacro namespace and dispatchMacro namespace and dispatcharea:runnerExecution scheduler and failuresExecution scheduler and failuresartifact:run-resultsrun_results.jsonrun_results.jsoncommand:buildbuild commandbuild commandcommand:testtest commandtest commandgate:dbt-oracleNeeds dbt oracle comparisonNeeds dbt oracle comparisongate:focused-pytestNeeds focused pytestNeeds focused pytestgate:zig-testNeeds native Zig test gateNeeds native Zig test gatepriority:p1High priorityHigh priorityready-for-agentReady for agent delegationReady for agent delegationrisk:artifact-contractdbt artifact schema riskdbt artifact schema riskrisk:runtime-boundaryPython/Zig boundary riskPython/Zig boundary riskrisk:upstream-ambiguitydbt/Fusion behavior ambiguitydbt/Fusion behavior ambiguityrole:workerReady for implementation workerReady for implementation workerstatus:claimedClaimed by an agent/branchClaimed by an agent/branchstatus:readyReady for worktree claimReady for worktree claimtype:compatSource-grounded dbt compatibility sliceSource-grounded dbt compatibility slice
Objective
Move the already compiled custom generic-test subset into the first DuckDB execution slice for
dxt testanddxt build.Current Reality
Closed compile slices support simple root-project and installed-package column-level custom generic tests for models, sources, and seeds, using static SQL bodies with
{{ model }}and{{ column_name }}. Currentdxt testanddxt buildintentionally reject custom generic tests before runtime execution. The compatibility matrix still lists runtime execution for custom generic tests as a planned gap.Role and Labels
role:workertype:compat,area:compiler-jinja,area:macros,area:runner,area:duckdb,area:artifacts,artifact:run-results,command:test,command:buildstatus:ready,ready-for-agentPriority
priority:p1: custom generic tests are common dbt Core project behavior, and dxt already owns the compile-time subset needed for a narrow execution path.Readiness
Ready for one worker after the supervisor checks active runner/duckdb worktree overlap. The slice should execute only the custom tests whose compiled SQL is already supported; unsupported custom tests must continue to fail clearly.
Risk
risk:runtime-boundary: execution, failure counting, and run-results emission must stay in Zig.risk:artifact-contract: custom-test result rows must remain Run Results v6 shaped.risk:upstream-ambiguity: dbt Core custom generic-test runtime semantics should be compared for the claimed simple subset.Dependencies / Sequencing
Build on the closed custom generic compile slices for model, source, and seed column tests. Do not launch concurrently with another active branch that owns the same DuckDB data-test execution or run-results writer files unless the supervisor records a non-overlap decision.
Acceptance Criteria
dxt testexecutes supported simple custom generic tests against existing DuckDB relations using the compiled custom-test SQL.dxt buildexecutes the same supported custom tests after their selected model/seed/source dependencies are ready in the existing supported DAG subset.Validation
zig build testpython scripts/check_runtime_boundary.pypython scripts/check_public_safety.pyStop Condition
Stop and split if execution requires a general Jinja engine, adapter dispatch execution, table-level/non-column custom tests,
store_failures_as,fail_calc, SQL headers, custom materializations, bundled dbt internal macros, or Python product-runtime behavior.