Validated task definitions
Read versioned JSON task files, normalize task fields, reject duplicate ids, validate dependencies, and turn user input into one scheduler-ready shape.
Build a local task runtime that reads task definitions, schedules work, limits concurrency, records every attempt, handles failures as data, persists state, and writes reports that make async control flow visible.
$ npm run tasks -- --helpLocks down the CLI surface before scheduling work.
$ npm run tasks -- tasks/one-hundred-delays.json --concurrency 5Shows queue time and active task count.
$ npm run tasks -- tasks/mixed-results.json --mode allSettled --concurrency 3Compares result semantics without changing fixtures.
$ npm run tasks -- tasks/cancel-after.json --concurrency 2 --cancel-after 250Tests abort propagation through running work.
$ npm run benchWrites throughput and failure-handling reports.
Read versioned JSON task files, normalize task fields, reject duplicate ids, validate dependencies, and turn user input into one scheduler-ready shape.
Run command and function tasks, enforce concurrency, measure queue time, block dependents after failures, and record run-level scheduling metrics.
Classify non-zero exits, spawn errors, thrown errors, rejected Promises, timeouts, cancellations, and retry attempts without losing task evidence.
Emit lifecycle events, expose progress through an async iterator, persist state during the run, resume interrupted work, and write final benchmark reports.
The build starts with a strict CLI and ends with benchmark reports. Each phase adds one observable runtime capability and one artifact the learner can inspect.
A runnable project shell that exposes the CLI contract, accepts a task file path, and fails clearly on bad flags.
A normalized task model plus validation errors that name the exact file, task index, field, or dependency that failed.
A first report that proves one async task ran, produced output, exited successfully, and left inspectable timing data.
Failure reports that distinguish command exits, spawn errors, thrown errors, and rejected Promises without crashing the orchestrator.
A scheduler report that shows active-count enforcement, queue wait time, dependency ordering, blocked work, and aggregate run metrics.
A mode comparison report with started counts, settled counts, stopped reasons, and final status counts for each Promise policy.
Timeout evidence that separates deadline failures from ordinary failed tasks and proves cleanup happened.
A cancellation report that distinguishes canceled tasks from timed_out, failed, blocked, and queued states.
Attempt history that shows retry budgets, retryable outcomes, backoff delays, exhausted attempts, and eventual success.
A lifecycle event stream that proves ordering around start, failure, retry, success, cancellation, and finish states.
A progress stream that keeps event ordering, handles early events, closes cleanly, and leaves no attached listeners behind.
A durable state file that distinguishes completed, failed, queued, running, interrupted, timed-out, canceled, and blocked tasks.
A shutdown report that names the signal, selected policy, task outcomes, incomplete work, and state saved before exit.
A final benchmark package with JSON data and a Markdown report that explain throughput, queueing, failures, retries, timeouts, modes, and max concurrency.
Lab 06 treats task state as evidence: latest run data, combinator mode comparison, live persistence, shutdown records, benchmark JSON, and a final Markdown report generated from the same scenario objects.
reports/latest.jsonlatest run status, task results, timings, process evidence, and scheduler metricsreports/modes.jsonall, allSettled, race, and any behavior compared across runsstate/run.jsonlive state snapshots with task status, options, events, and resume datareports/shutdown.jsonsignal, shutdown mode, terminal states, and forced-exit evidencereports/bench.jsonmachine-readable scenario results for concurrency, timeouts, retries, and modesreports/task-runtime.mdfinal human-readable benchmark report generated from the same scenario dataBuy a single volume or lock in every volume at once. Switch between one-reader pricing and team licenses for up to 25 members.
Volume I as EPUB, light and dark PDFs, slides, cheatsheets, and future updates.
Volume I Labs plus its downloadable bundle in one purchase. Save $9.99 vs buying the Digital Bundle and Labs separately.
Volume I long-form builds with checkpoints, hints, debugging notes, and expected output.
The bundle includes seven runtime projects covering process observation, binary storage, streams, module resolution, file watching, async orchestration, and custom protocols.
Lab 06 is included in the Labs bundle and in NodeBook Pro, alongside six more complete runtime projects.