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

Architecture Decision Records (ADRs)

This directory contains Architecture Decision Records that document significant design decisions in Tasker Core. Each ADR captures the context, decision, and consequences of a specific architectural choice.

ADR Index

Active Decisions

ADRTitleDateStatus
ADR-001Actor-Based Orchestration Architecture2025-10Accepted
ADR-002Bounded MPSC Channels2025-10Accepted
ADR-003Processor UUID Ownership Removal2025-10Accepted
ADR-004Backoff Strategy Consolidation2025-10Accepted
ADR-005Worker Dual-Channel Event System2025-12Accepted
ADR-006Worker Actor-Service Decomposition2025-12Accepted
ADR-007FFI Over WASM for Language Workers2025-12Accepted
ADR-008Handler Composition Pattern2025-12Accepted

Root Cause Analyses

DocumentTitleDate
RCAParallel Execution Timing Bugs2025-12

ADR Template

When creating a new ADR, use this template:

# ADR: [Title]

**Status**: [Proposed | Accepted | Deprecated | Superseded]
**Date**: YYYY-MM-DD
**Ticket**: TAS-XXX

## Context

What is the issue that we're seeing that is motivating this decision or change?

## Decision

What is the change that we're proposing and/or doing?

## Consequences

What becomes easier or more difficult to do because of this change?

### Positive

- Benefit 1
- Benefit 2

### Negative

- Trade-off 1
- Trade-off 2

### Neutral

- Side effect that is neither positive nor negative

## Alternatives Considered

What other options were considered and why were they rejected?

### Alternative 1: [Name]

Description and why it was rejected.

### Alternative 2: [Name]

Description and why it was rejected.

## References

- Related documents
- External references

When to Create an ADR

Create an ADR when:

  1. Making a significant architectural change that affects multiple components
  2. Choosing between alternatives with meaningful trade-offs
  3. Establishing a pattern that should be followed consistently
  4. Removing or deprecating an existing pattern or approach
  5. Learning from an incident (RCA format)

Don’t create an ADR for:

  • Minor implementation details
  • Bug fixes without architectural impact
  • Documentation updates
  • Routine refactoring