Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architectural Decision Records

Auto-generated ADR summary. Do not edit manually.

Regenerate with: cargo make generate-adr-summary

This page summarizes the Architectural Decision Records (ADRs) from the Tasker project. Each ADR documents a significant design decision, its context, and consequences.

#TitleStatusSummary
1Actor-Based Orchestration ArchitectureAcceptedThe decision was made to switch from a command pattern with direct service delegation to a lightweight actor-based architecture due to testing complexity and unclear boundaries between components. …
2Bounded MPSC Channel MigrationAcceptedThe decision was made to migrate the tasker-core system from its current inconsistent and risky usage of Multi-Producer Single-Consumer (MPSC) channels to a uniform implementation that uses only bo…
3Processor UUID Ownership RemovalAcceptedThe architectural decision was made to remove processor UUID ownership enforcement in the state transitions of orchestrators, as it prevented new orchestrators from taking over tasks when an old on…
4Backoff Logic ConsolidationAcceptedTo address multiple conflicting implementations of exponential backoff logic in the tasker-core system, which caused significant issues, we decided to consolidate the backoff logic into a single, u…
5Worker Dual-Channel Event SystemAcceptedThe architectural decision was made to replace the original blocking .call() pattern in Rust workers with a dual-channel command pattern to enable true concurrency and prevent race conditions, en…
6Worker Actor-Service DecompositionAcceptedThe decision was made to decompose the monolithic WorkerProcessor in the tasker-worker crate into an actor-based design due to its difficulty in testing and inconsistency with existing architectu…
7FFI Over WASM for Language WorkersAcceptedThe team decided to proceed with FFI for the TypeScript worker implementation, matching the successful Ruby and Python worker approaches, due to its pattern consistency and production readiness. WA…
8Handler Composition PatternuThe architectural decision was made to migrate all handler patterns in the system to use composition via mixins, aligning with the Batchable handlers’ implementation, to adhere to the principle of …

Summaries generated with Ollama (qwen2.5:14b). Set SKIP_LLM=true for deterministic summaries.


Generated by generate-adr-summary.sh from tasker-core ADR files