SCHEDULE · HAND OFF · VERIFY

Data-asset dependencies: execute and inspect a finite DAG

Run six local transformations. Watch dependency gates, worker assignments, retries and the exact artifacts produced.

Finite DAG · actual local artifacts

Scroll the dependency board horizontally to inspect every task. The task selector below provides the same states and artifacts as text.

Input and task inspection

Your experiment

Change the minimum retained value and inspect how every downstream artifact changes. This offline DAG illustrates data dependencies; it does not run Dagster.

Load takes 2s, filtering 4s, joining 3s and verification 5s. Branch durations are adjustable. Default parallel execution with two workers takes 26 modeled seconds; serial execution or one worker takes 34. Use 0.5× for a slower inspection.

Load → filter → sum/histogram → join → verify. The filter retains values at least as large as the chosen threshold. Sum produces count/total; histogram produces actual bins. Verification recomputes count and weighted sum from the bins. A verified result exists only if they agree.

Scheduler events

Offline deterministic dependency scheduler, not an A2A/ADK protocol implementation, Java coroutine runtime, Airflow/Dagster service or LLM agent. All transformations execute locally without arbitrary code, external tools or network calls. Task durations are fixed teaching inputs independent of input length. Ready tasks take free worker slots in the displayed task order. A failed attempt commits no artifact; retries wait the chosen fixed delay. Exhausted failure blocks descendants, or cancels unfinished work under fail-fast. Tasks completing exactly at the deadline succeed before cancellation of unfinished tasks. No scheduling overhead, durable checkpoint, distributed race, compensation, network latency or persistent resume is modeled. Workflow concepts · DAG dependencies.

Trace an asset through its dependents

Begin with [3,1,-2,3,7,0] and threshold zero. Filtering yields five retained values; sum is fourteen and mean is 2.8. Inspect the histogram to find two occurrences of three. Raise Minimum retained value to four: only seven remains, and both branches must produce count one and total seven before verification can succeed. This demonstrates a data dependency using actual intermediate values. Real asset orchestration also needs storage, materialization history and dependency metadata; none is inferred from a green node in this browser.

Control data and dependencies

The JSON integer array is the actual input, limited to twenty-four integers between minus one thousand and one thousand. Minimum retained value keeps entries greater than or equal to that threshold; duplicates remain distinct observations. Branch dependency either lets histogram and sum start independently after filtering or makes histogram wait for sum. Worker slots limits simultaneous tasks to one or two. Sum duration and Histogram duration specify invented service seconds independent of input size. Load, filter, join and verify take two, four, three and five modeled seconds respectively. These are teaching inputs, not measurements of Java, Dagster or an LLM.

Predict the critical path

Keep independent branches and two workers. Both branches start at modeled second six; sum ends at fourteen, histogram at eighteen, join at twenty-one and verification at twenty-six. With one worker the branches cannot overlap, so the result arrives at thirty-four. Making histogram depend on sum has the same default duration even with two workers. Increase sum duration to twenty: with independent branches the final time becomes thirty-four, showing that the slower branch determines the join start. Compare intermediate artifacts as well as duration; changing worker capacity must not change the numerical answer.

Separate attempt failure from workflow failure

Open Failure and retry controls. Injected failure task chooses sum, histogram, join, or no injected failure. Failure behavior chooses the first attempt or every attempt. Maximum attempts includes the original attempt; one means no retry. Retry delay is a fixed wait after a failed attempt, during which its worker is free. Exhausted failure policy either finishes independent work while blocking descendants or cancels unfinished work immediately. Disabled controls have no effect on the current scenario. Inject one extra zero into histogram counts produces inconsistent artifacts: the weighted sum stays unchanged but the count increases, so verification rejects the result. Retries cannot repair that deterministic corruption.

Inspect states, artifacts and time

Play and Pause inspect the generated schedule over sixty viewing seconds. Next event advances to the next scheduler state; Restart rewinds without changing inputs; Speed changes the inspection pace, while Modeled time scrubs the schedule and pauses playback. Editing inputs rebuilds the scenario and starts inspection unless reduced motion is requested. Inspect task selects a node, as does clicking its card. The text below reports dependencies, attempt, worker, error and committed artifact, providing an alternative to the diagram. A running task has no committed output. Final preview describes the eventual outcome even when the board still shows an earlier state.

Use a bounded local contract

Workflow deadline cancels unfinished tasks, but completions exactly at the deadline are processed first. With default inputs a deadline of twenty-six permits verification and twenty-five cancels it. Every transformation is executed locally in memory; there is no persisted checkpoint, distributed worker, remote tool, external side effect or production benchmark. The ready-task order is fixed by the displayed graph. Dependency edges express this fixture policy; they do not implement an ADK agent conversation or the complete Dagster asset system. A verified result proves only that this local histogram and sum agree on count and weighted total.

Views are my own and do not represent any employer, past or present.

Search