Context-aware Workflows

A context-aware data workflow validates decisions against current business rules before execution, rather than assuming static logic.

How It Works

Traditional workflows execute the same logic every time they run. Context-aware workflows check current state and rules before execution, adapting behavior based on what's actually needed.

Traditional workflow:

Load data → Transform → Write

Context-aware workflow:

Load data → Check context → Validate → Transform → Write

The "check context" step queries executable metadata: Is this data still valid? Has the metric definition changed? What's the current join logic? This prevents the failures that occur when agents operate without context.

Example

An agent needs to refresh materialized views:

Without context:

# Agent refreshes all views
for view in get_all_views():
    db.refresh_materialized_view(view)

With context:

# Agent checks staleness and dependencies
refresh_rules = context.get_rules("materialized_view_refresh")
# refresh_rules.staleness_threshold: 3600 (seconds)
# refresh_rules.dependency_graph: {...}
# refresh_rules.refresh_order: ["base_views", "aggregates", "metrics"]

stale_views = [v for v in get_all_views()
               if view_age(v) > refresh_rules.staleness_threshold]

for view in resolve_dependencies(stale_views, refresh_rules.dependency_graph):
    db.refresh_materialized_view(view)

Staleness rules and dependency graphs exist as queryable metadata. When thresholds change or new dependencies are added, workflows adapt automatically. This is fundamentally different from static workflows where refresh logic is hardcoded.

What This Enables

Agents validate before executing

Business rules update without code deployment

Consistent logic across all systems querying the same data