Repository navigation
v0.3.0 — Task Management + Notion Replacement
sqlite-memory-mcp now includes full task management — replacing Notion as Single Source of Truth for tasks.
What's new
Task Management Tools (13-18)
Six new tools for structured task CRUD, queries, and automation:
| Tool | Description |
|---|---|
create_task(title, description?, ...) |
Create task with UUID, unlimited description, priority/section/due_date |
update_task(task_id, **fields) |
Partial update — only provided fields change |
query_tasks(section?, status?, ...) |
Filtered SQL queries with markdown table output |
task_digest(sections?, ...) |
Formatted session-start digest grouped by section + overdue |
archive_done_tasks(older_than_days=7) |
Bulk archive completed tasks by age |
bump_overdue_priority(target="high") |
Auto-escalate overdue task priority |
Tasks Schema
CREATE TABLE tasks (
id TEXT PRIMARY KEY, -- UUID
title TEXT NOT NULL,
description TEXT, -- unlimited length
status TEXT DEFAULT 'not_started',
priority TEXT DEFAULT 'medium',
section TEXT DEFAULT 'inbox', -- inbox|today|next|someday|waiting
due_date TEXT, -- YYYY-MM-DD
project TEXT,
parent_id TEXT REFERENCES tasks(id),
notes TEXT,
recurring TEXT, -- JSON config
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
-- 5 B-tree indexes for fast queriesBridge v2 — Task Sync
shared.jsonpayload version bumped 1 → 2bridge_push()now exports all non-archived tasksbridge_pull()imports tasks with last-write-wins (updated_at comparison)- Backward compatible: v1 payloads without
taskskey → empty list
Kanban Board (GitHub Pages)
New task_report.py generates a self-contained index.html Kanban board:
- Columns by section (Today, Inbox, Next, Waiting, Someday)
- Priority color-coding (critical/high/medium/low)
- Overdue highlighting with red badges
- Business professional style — dark navy/charcoal/white palette
- Responsive design, zero JS dependencies
Auto-Migration
Existing databases get new columns automatically via _MIGRATIONS list in _init_db(). No manual SQL needed — just update and restart.
Design decisions
- UUID task IDs — guarantees uniqueness across machines without coordination (vs auto-increment which would collide during bridge sync)
- Last-write-wins sync — tasks have mutable state (status, priority), so bridge uses
updated_atcomparison instead ofINSERT OR IGNORE - Unlimited description — TEXT in SQLite has no practical length limit, supports full task specs
- Section-based workflow — inbox/today/next/someday/waiting maps naturally to GTD methodology
- Markdown table output —
query_tasksreturns both JSON and pre-formatted markdown for direct display
Migration from Notion
Companion scripts rewritten from Notion API to SQLite (in notion_automations/):
| Script | Before | After |
|---|---|---|
daily_digest.py |
220 lines + Notion API | 105 lines, pure SQL |
auto_archive.py |
103 lines + Notion API | 42 lines, pure SQL |
overdue_bump.py |
107 lines + Notion API | 34 lines, pure SQL |
recurring_tasks.py |
187 lines + Notion API | 152 lines, pure SQL |
Task Scheduler Automation (Phase 7)
Daily task management is now fully automated via a single master orchestrator batch file
registered with Windows Task Scheduler.
Approach: 1 scheduler entry → 1 batch file → 5 scripts in order.
This avoids drift between separate scheduled tasks and ensures correct execution sequence.
Execution Order
| # | Script | Action |
|---|---|---|
| 1 | recurring_tasks.py |
Creates new recurring tasks from JSON config |
| 2 | overdue_bump.py |
Escalates overdue tasks to priority high |
| 3 | auto_archive.py --days 7 |
Archives completed tasks older than 7 days |
| 4 | daily_digest.py |
Prints daily task summary to log |
| 5 | task_report.py |
Regenerates Kanban HTML board |
Scheduler Configuration
- Task name:
\Claude\DailyTaskAutomation - Schedule: Daily at 08:00,
StartWhenAvailable=True(catches missed runs on wake) - Timeout: 5 minutes (total runtime < 3 seconds in practice)
- Privileges: User-level (no elevation required)
- Log:
~/.claude/memory/logs/task_automation.log(append-only, ~1 KB/day)
All 5 scripts use pure stdlib Python — zero external dependencies beyond fastmcp.
Full changelog
- feat:
create_task()— UUID-based task creation with validation - feat:
update_task()— partial field updates with explicit MCP parameters - feat:
query_tasks()— filtered SQL queries + markdown table output - feat:
task_digest()— session-start formatted digest - feat:
archive_done_tasks()— bulk archive by age - feat:
bump_overdue_priority()— auto-escalate overdue tasks - feat: tasks table schema with 5 indexes + description column
- feat: bridge v2 payload with task sync (last-write-wins)
- feat:
task_report.py— Kanban HTML generator for GitHub Pages - feat: auto-migration system (
_MIGRATIONSlist) - chore: version bump 0.2.0 → 0.3.0
- chore:
run_daily_tasks.bat— Windows Task Scheduler orchestrator - docs: README updated for v0.3.0 (21 tools, task management, kanban)
Total tools: 21 (9 drop-in compatible + 12 extended)
Python 3.10+, MIT license.