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

Tasker Core Principles

This directory contains the core principles and design philosophy that guide Tasker Core development. These principles are not arbitrary rules but hard-won lessons extracted from implementation experience, root cause analyses, and architectural decisions.

Core Documents

DocumentDescription
Tasker Core TenetsThe 11 foundational principles that drive all architecture and design decisions
Defense in DepthMulti-layered protection model for idempotency and data integrity
Fail LoudlyWhy errors beat silent defaults, and phantom data breaks trust
Cross-Language ConsistencyThe “one API” philosophy for Rust, Ruby, Python, and TypeScript workers
Composition Over InheritanceMixin-based handler composition pattern
Intentional AI PartnershipCollaborative approach to AI integration

Influences

DocumentDescription
Twelve-Factor App AlignmentHow the 12-factor methodology shapes our architecture, with codebase examples and honest gap assessment
Zen of Python (PEP-20)Tim Peters’ guiding principles — referenced as inspiration

How These Principles Were Derived

These principles emerged from:

  1. Root Cause Analyses: Ownership removal revealed that “redundant protection with harmful side effects” is worse than minimal, well-understood protection
  2. Cross-Language Development: Handler harmonization established patterns for consistent APIs across four languages
  3. Architectural Migrations: Actor pattern refactoring proved the pattern’s effectiveness
  4. Production Incidents: Real bugs in parallel execution (Heisenbugs becoming Bohrbugs) shaped defensive design
  5. Protocol Trust Analysis: gRPC client refactoring exposed how silent defaults create phantom data that breaks consumer trust

When to Consult These Documents

  • Architecture Decisions: docs/decisions/ for specific ADRs
  • Historical Context: docs/CHRONOLOGY.md for development timeline
  • Implementation Details: docs/ticket-specs/ for original specifications