Task Tracker - ADHD State Machine
Overview
Systematic task tracking designed for ADHD patterns. Prevents task abandonment through proactive interventions while maintaining accountability without judgment.
State Machine
┌──────────────────────────────────────────┐
│ │
▼ │
┌──────────┐ ┌──────────────────┐ ┌─────────────┐ │ │ INITIATED│──▶│ SOLUTION_PROVIDED│──▶│ IN_PROGRESS │─────────┤ └──────────┘ └──────────────────┘ └─────────────┘ │ │ │ │ │ │ │ ▼ │ │ │ ┌───────────┐ │ │ │ │ COMPLETED │ │ │ │ └───────────┘ │ │ │ │ │ ├─────────────────┐ │ │ │ │ │ │ ▼ ▼ │ │ ┌───────────┐ ┌──────────┐ │ └──────────▶│ ABANDONED │ │ BLOCKED │ │ └───────────┘ └──────────┘ │ │ │ │ ▼ ▼ │ ┌───────────┐ ┌──────────┐ │ │ DEFERRED │◀────│ (Retry) │───────────────┘ └───────────┘ └──────────┘
State Definitions
State Trigger Next Actions
INITIATED Task request received Assess complexity, provide solution
SOLUTION_PROVIDED Solution given Wait for execution signal
IN_PROGRESS User confirms working Monitor for completion
COMPLETED User confirms done Log success, update streak
ABANDONED No response + context switch Log pattern, intervention
BLOCKED External dependency Identify blocker, schedule retry
DEFERRED Conscious postponement Set reminder, capture reason
Task Metadata
Every task tracks:
task = { "id": "task_20251219_001", "description": "Review Q4 insurance renewals", "state": "INITIATED", "domain": "BUSINESS", # BUSINESS | MICHAEL | FAMILY | PERSONAL "complexity": 6, # 1-10 scale "clarity": 8, # 1-10 scale (how clear were instructions) "estimated_minutes": 45, "actual_minutes": None, "initiated_at": "2025-12-19T10:30:00Z", "solution_provided_at": None, "completed_at": None, "abandonment_count": 0, "intervention_level": 0 }
Abandonment Detection Triggers
Monitor for these patterns:
-
Context Switch - New topic without closing current task
-
Session End - Chat ends with task in SOLUTION_PROVIDED or IN_PROGRESS
-
Time Decay - >30 minutes since solution with no update
-
Topic Drift - User asks unrelated question while task pending
Detection Algorithm
def check_abandonment(task, current_message, elapsed_minutes): if task["state"] not in ["SOLUTION_PROVIDED", "IN_PROGRESS"]: return False
# Time-based trigger
if elapsed_minutes > 30:
return True
# Context switch detection
if not is_related_to_task(current_message, task):
return True
return False
Intervention Protocol
Level 1: Gentle Check (0-30 minutes)
📌 Quick check: [task description] - still on it?
Level 2: Pattern Observation (30-60 minutes)
🔄 I notice [task] from earlier. This is pattern #[N] this week. Continue or consciously defer?
Level 3: Direct Accountability (>60 minutes)
⚠️ ACCOUNTABILITY: [task] started [time] ago. Current status? Be honest - no judgment, just facts.
ADHD Intervention Strategies
When abandonment detected, apply these techniques:
Micro-Commitment
Break to smallest possible action:
Just step 1? [tiny specific action] That's it. Nothing else required right now.
Body Doubling
Create virtual co-working presence:
Let's do this together. You: [specific action] Me: ⏱️ Waiting... (I'll check back in 5 minutes)
Chunking
Focus tunnel vision:
Step 1 only. Confirm when done. Don't think about step 2 yet.
Energy Matching
Align with daily patterns:
It's [time] - your [peak/dip] period. [Suggest appropriate task complexity]
Workflow: Task Creation
Trigger: Any request that implies work to be done
-
Extract task description from message
-
Assess complexity (1-10) based on:
-
Number of steps
-
External dependencies
-
Decision-making required
-
Time estimate
-
Assess clarity (1-10) based on:
-
Specificity of request
-
Known vs unknown elements
-
Ambiguity level
-
Assign domain (BUSINESS/MICHAEL/FAMILY/PERSONAL)
-
Set state to INITIATED
-
Provide solution → state to SOLUTION_PROVIDED
Workflow: State Transitions
INITIATED → SOLUTION_PROVIDED
After providing solution
task["state"] = "SOLUTION_PROVIDED" task["solution_provided_at"] = now()
SOLUTION_PROVIDED → IN_PROGRESS
Trigger: User says "working on it", "starting now", "doing this"
task["state"] = "IN_PROGRESS"
IN_PROGRESS → COMPLETED
Trigger: User says "done", "finished", "completed"
task["state"] = "COMPLETED" task["completed_at"] = now() task["actual_minutes"] = elapsed_time() update_streak()
Any → ABANDONED
Trigger: Abandonment detection + no response to intervention
task["state"] = "ABANDONED" task["abandonment_count"] += 1 log_pattern()
Any → BLOCKED
Trigger: User identifies external dependency
task["state"] = "BLOCKED" task["blocker"] = identified_dependency schedule_retry()
Any → DEFERRED
Trigger: Conscious postponement with reason
task["state"] = "DEFERRED" task["defer_reason"] = reason task["defer_until"] = scheduled_time
Streak Tracking
Maintain completion streak for motivation:
streak = { "current": 5, # Days with at least 1 completion "longest": 12, "total_completions": 47, "abandonment_rate": 0.23 # 23% tasks abandoned }
On completion
"✅ Done. Streak: 5 days. Total: 47 tasks."
On first task of day
"Day 6 starts now. Keep the streak alive."
Domain-Specific Behavior
BUSINESS (Everest Capital)
-
Higher urgency weighting
-
Deadline awareness
-
Revenue impact assessment
MICHAEL (D1 Swimming)
-
Connect to swim schedule
-
Nutrition/training alignment
-
Recruiting deadlines
FAMILY (Orthodox Observance)
-
Shabbat/holiday awareness
-
No work pressure evenings
-
Family event priority
PERSONAL (Health/Learning)
-
Energy level consideration
-
Learning capture integration
-
Health metric correlation
LangGraph Integration
State Schema
class TaskState(TypedDict): task_id: str description: str state: str domain: str complexity: int clarity: int elapsed_minutes: int intervention_level: int streak_current: int
Nodes
-
create_task
-
Initialize from user message
-
provide_solution
-
Generate response, update state
-
check_abandonment
-
Periodic abandonment check
-
intervene
-
Apply intervention strategy
-
complete_task
-
Log completion, update streak
Scripts
-
scripts/task_state_machine.py
-
State transition logic
-
scripts/abandonment_detector.py
-
Pattern detection
-
scripts/streak_calculator.py
-
Streak maintenance
References
-
references/intervention_templates.md
-
Full intervention scripts
-
references/adhd_patterns.md
-
Common patterns and responses