SCHEDULE · HAND OFF · VERIFY

Orchestration: parallel branches and a guarded join

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

Finite DAG · actual local artifacts

Input and task inspection

Your experiment

Compare parallel branches with serial ordering. Both must produce the same verified report. Then fail the histogram permanently and inspect the blocked join.

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.

Execute a dependency graph

Six tasks load an integer array, filter it, compute a sum and histogram, join the results and verify their consistency. The report cannot commit until both required branches succeed. Selecting a task exposes its dependencies, attempt, assigned worker and committed artifact. Running work has no committed result yet. The verifier independently recomputes the count and weighted sum so that a completed-looking report can still fail its evidence check.

Configure data and scheduling

Input data accepts up to twenty-four integers between minus one thousand and one thousand. Threshold filters values before aggregation. Parallel mode makes the sum and histogram sibling branches; serial mode adds their ordering dependency. Workers bounds simultaneous work, while Sum duration and Histogram duration change branch runtimes. With the default array, threshold zero leaves five values whose sum is fourteen. The default parallel plan completes in twenty-six modeled seconds; serial execution takes thirty-four. These are assigned task durations rather than machine measurements.

Exercise failure policies

Failure task injects a fault into sum, histogram or report. Failure mode chooses first-attempt or persistent failure. Attempt limit includes the initial try; Retry delay controls the wait between attempts. Independent branches permits unrelated work to finish, whereas fail-fast cancels remaining work after a terminal failure. Deadline cancels unfinished tasks; a task finishing exactly at the deadline commits before cancellation. Corrupt report changes the histogram and should make verification fail rather than produce an accepted answer. Fault-dependent controls are disabled when their policy cannot affect the current scenario.

Compare artifacts and inspect time

Set sum to persistent failure with one attempt and independent branches. Inspect the finished histogram and the blocked report, then choose fail-fast to see the unrelated branch cancelled. Restore healthy execution, enable report corruption and inspect the verifier error. Play stretches each plan to sixty inspection seconds even when its modeled deadline is short. Pause, Next event, Restart, Speed and the seek slider expose actual task transitions; the Task selector and clickable cards choose the artifact inspector. This is an in-memory DAG, not a durable distributed orchestrator: there are no process crashes, persisted retries, remote agents, compensation transactions or idempotent external effects.

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

Search