Skip to content

Upstream Source

This page is part of Truthound Orchestration 3.x.

Source repository: seadonggyun4/truthound-orchestration Upstream docs path: docs/dagster/partitions-automation.md Edit upstream page: Edit in orchestration

Dagster Partitions and Automation

Partitioned asset graphs are often where Dagster becomes more valuable than a generic scheduler. Truthound does not redefine partition semantics; it relies on Dagster to decide what should run and then executes checks with shared runtime semantics.

Who This Is For

  • teams validating daily, hourly, or tenant-scoped partitions
  • operators using Dagster automation rules
  • asset owners who need partition-aware failure isolation

When To Use It

Use this page when:

  • asset checks should execute per partition
  • only new partitions should be validated
  • failures need to stay local to the partition that broke

Prerequisites

  • a Dagster asset graph with partition definitions
  • Truthound asset helpers or resource-backed assets
  • a clear ownership model for partitions

Minimal Quickstart

Use quality_checked_asset on partitioned assets so the quality contract stays next to the asset:

from dagster import DailyPartitionsDefinition
from truthound_dagster import quality_checked_asset

@quality_checked_asset(
    partitions_def=DailyPartitionsDefinition(start_date="2026-01-01"),
    rules=[{"column": "id", "check": "not_null"}],
)
def users_partitioned(context):
    return load_partition(context.partition_key)

Production Pattern

Recommended automation model:

Need Recommended Pattern
validate every fresh partition asset checks tied to the asset definition
rerun only failed partitions use Dagster re-execution on the failed partition keys
separate expensive quality work move profile/learn paths into distinct jobs

Operational advice:

  • keep partition-level rules deterministic
  • use partition metadata to help operators locate the failing slice
  • avoid shared mutable state between partition checks

Failure Modes and Troubleshooting

Symptom Likely Cause What To Do
one bad partition blocks everything validation is modeled at the whole-asset level move quality logic to partition-aware assets or jobs
partition reruns are expensive profile or learn logic is mixed into every partition split exploratory work from steady-state checks
operators cannot tell which slice failed run metadata omits partition context include partition keys in alert and metadata output