# 🎯 How Taskr Actually Works

## 3.4 Notes - Your AI's Memory System

### What Notes Really Are

Notes aren't just random text—they're structured memories that help your AI understand what happened before. Think of them like:
- **Sticky notes** on important pages
- **Margin notes** in a textbook
- **Lab notebook** entries for experiments

### The Five Note Types

**FILE_LIST** 📁
- "I changed these 5 files"
- Lists what was modified and why
- Helps track the scope of changes

**PROGRESS** 📈
- "I finished the login system!"
- Major milestones and achievements
- Only for big wins, not every tiny task

**CONTEXT** 📚
- "We're using JWT tokens because..."
- Background info and decisions
- The "why" behind choices

**FINDING** 🔍
- "Found a bug in the validation"
- "The API returns data differently than expected"
- Discoveries, issues, and solutions

**OTHER** 📝
- Everything else
- General observations
- Last resort category

### How Notes Connect to Tasks

Every note can be "attached" to a task using `task_id`. This creates a timeline:

```
Task 1.2: "Create login form"
  └─ NOTE (FILE_LIST): Modified login.tsx, auth.css
  └─ NOTE (FINDING): Form library has built-in validation
  └─ NOTE (PROGRESS): Login form complete and working
```

Future agents can see exactly what happened during each task!

### Note IDs

Each note gets a unique ID like `NT_ABC123XYZ...` (NT = Note). You'll see these in the corner of note cards in the web interface. You can reference them like: "As mentioned in note NT_ABC123..."

### Database Implementation

Notes are stored in the `notes` table with:
- Strong typing via PostgreSQL enum for note types
- Full-text search indexing for the search_notes function
- Soft deletion (deleted_at field) to preserve history
- Task association through foreign key relationship

---
