Each standalone focus item now auto-creates a linked note and checklist.
Clicking a focus item opens a detail page with side-by-side note editor
(left) and checklist (right) with drag-to-reorder. Save & Return writes
the note and goes back to the focus list. Added focus_id FK to notes and
lists tables, made domain optional when creating from focus context.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add standalone text line items to focus (quick-add with optional domain)
- Edit page for standalone items (title, domain, project)
- Convert standalone items to task, note, link, or list item
- Focus tab on project detail page showing assigned focus items
- Sort domain groups: General first, then by domain sort_order
- Add domain_id and title to nullable_fields in BaseRepository
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add list_item_id column to daily_focus (task_id now nullable, CHECK constraint ensures exactly one)
- Remove LIMIT 50 + [:15] slice — show up to 200 items with "show more" at 25
- Add text search (ILIKE) for filtering available items
- Add tab strip to switch between Tasks and List Items sources
- Toggle syncs list_item completed status alongside task status
- Graceful [Deleted] fallback for removed source items
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add generic move_in_order() to BaseRepository for reorder support
- Add reusable reorder_arrows.html partial with grip dot handles
- Add reorder routes to all 9 list routers (tasks, notes, links, contacts, meetings, decisions, appointments, lists, focus)
- Compact row padding (6px 12px, gap 8px) on .list-row and .focus-item
- Reduce font size to 0.80rem on row titles, sidebar nav, domain tree
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix seed data to match actual DB schemas (capture.processed, daily_focus.completed, weblinks junction table)
- Add date/datetime coercion in BaseRepository for asyncpg compatibility
- Add UUID validation in BaseRepository.get() to prevent DataError on invalid UUIDs
- Fix focus.py and time_tracking.py date string handling for asyncpg
- Fix test ordering (action before delete) and skip destructive admin actions
- Fix form_factory FK resolution for flat UUID strings
- Fix route_report.py to use get_route_registry(app)
- Add asyncio_default_test_loop_scope=session to pytest.ini
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>