From 57f637fe9d51d00457fb60f0334a7643babb8fd2 Mon Sep 17 00:00:00 2001 From: Brad Groux Date: Mon, 2 Feb 2026 20:03:00 -0600 Subject: [PATCH] fix: remove tracked task files and update .gitignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tasks/backlog/*.md and tasks/examples/*.md were not covered by .gitignore — only active/ and archive/ were. Added both patterns and removed 56 tracked task files from the index. Files remain on disk (only removed from git tracking). --- .gitignore | 2 + ...k_example_001-build-user-authentication.md | 67 ------------------- ...k_example_002-fix-dashboard-memory-leak.md | 37 ---------- ...le_003-research-vector-database-options.md | 53 --------------- ...xample_004-automate-deployment-pipeline.md | 45 ------------- 5 files changed, 2 insertions(+), 202 deletions(-) delete mode 100644 tasks/examples/task_example_001-build-user-authentication.md delete mode 100644 tasks/examples/task_example_002-fix-dashboard-memory-leak.md delete mode 100644 tasks/examples/task_example_003-research-vector-database-options.md delete mode 100644 tasks/examples/task_example_004-automate-deployment-pipeline.md diff --git a/.gitignore b/.gitignore index 2610d08b..dd753946 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,8 @@ pnpm-debug.log* # Runtime data (keep .gitkeep for structure) tasks/active/*.md tasks/archive/*.md +tasks/backlog/*.md +tasks/examples/*.md tasks/attachments/ tasks/archive-attachments/ .veritas-kanban/* diff --git a/tasks/examples/task_example_001-build-user-authentication.md b/tasks/examples/task_example_001-build-user-authentication.md deleted file mode 100644 index b3336979..00000000 --- a/tasks/examples/task_example_001-build-user-authentication.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -id: task_example_001 -title: Build user authentication flow -type: code -status: in-progress -priority: high -project: my-project -created: '2026-01-15T10:00:00.000Z' -updated: '2026-01-15T14:30:00.000Z' -subtasks: - - id: sub_001a - title: Set up JWT token generation - done: true - - id: sub_001b - title: Create login API endpoint - done: true - - id: sub_001c - title: Build login form component - done: false - - id: sub_001d - title: Add session persistence - done: false -timeTracking: - entries: - - id: time_example_001a - startTime: '2026-01-15T10:15:00.000Z' - endTime: '2026-01-15T11:45:00.000Z' - duration: 5400 - - id: time_example_001b - startTime: '2026-01-15T13:00:00.000Z' - endTime: '2026-01-15T14:30:00.000Z' - duration: 5400 - totalSeconds: 10800 - isRunning: false -comments: - - id: comment_example_001a - author: AI Agent - text: >- - JWT setup complete — using RS256 with 15-minute access tokens and 7-day - refresh tokens. Login endpoint returns both tokens with httpOnly cookie - for the refresh token. - timestamp: '2026-01-15T11:45:00.000Z' - - id: comment_example_001b - author: AI Agent - text: >- - Login API endpoint done. Supports email/password auth with bcrypt - verification. Rate-limited to 5 attempts per minute per IP. Moving to - the frontend form next. - timestamp: '2026-01-15T14:30:00.000Z' -position: 0 ---- - -Implement a complete authentication flow with JWT tokens, login/logout, and session persistence. - -**Requirements:** - -- JWT-based authentication with access + refresh tokens -- Login form with email/password -- Secure token storage (httpOnly cookies for refresh) -- Rate limiting on auth endpoints -- Session persistence across page reloads - -**Technical Notes:** - -- Use bcrypt for password hashing (cost factor 12) -- Access tokens: 15 min expiry, RS256 -- Refresh tokens: 7 day expiry, stored in httpOnly cookie diff --git a/tasks/examples/task_example_002-fix-dashboard-memory-leak.md b/tasks/examples/task_example_002-fix-dashboard-memory-leak.md deleted file mode 100644 index d4e2ae02..00000000 --- a/tasks/examples/task_example_002-fix-dashboard-memory-leak.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -id: task_example_002 -title: 'Fix: Dashboard WebSocket memory leak' -type: code -status: todo -priority: high -project: my-project -created: '2026-01-16T09:00:00.000Z' -updated: '2026-01-16T09:00:00.000Z' -comments: - - id: comment_example_002a - author: Human - text: >- - Seeing memory climb steadily on the dashboard page. Heap snapshot shows - detached DOM nodes from the real-time chart component. Likely the - WebSocket listener isn't cleaning up on unmount. - timestamp: '2026-01-16T09:00:00.000Z' -position: 1 ---- - -The dashboard page leaks memory when left open. After ~30 minutes, the tab consumes over 500MB. - -**Steps to Reproduce:** - -1. Open the dashboard -2. Leave it running for 30+ minutes -3. Check Chrome DevTools → Memory → Heap snapshot -4. Observe detached DOM nodes growing linearly - -**Suspected Root Cause:** -WebSocket event listeners in `RealtimeChart.tsx` are not cleaned up in the `useEffect` return function. Each re-render adds a new listener without removing the old one. - -**Fix Plan:** - -1. Add cleanup function to WebSocket useEffect -2. Move WebSocket connection to a shared context (avoid per-component connections) -3. Add memory regression test diff --git a/tasks/examples/task_example_003-research-vector-database-options.md b/tasks/examples/task_example_003-research-vector-database-options.md deleted file mode 100644 index 75412ab0..00000000 --- a/tasks/examples/task_example_003-research-vector-database-options.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: task_example_003 -title: Research vector database options for semantic search -type: research -status: done -priority: medium -project: my-project -created: '2026-01-14T08:00:00.000Z' -updated: '2026-01-14T16:00:00.000Z' -timeTracking: - entries: - - id: time_example_003a - startTime: '2026-01-14T08:30:00.000Z' - endTime: '2026-01-14T12:00:00.000Z' - duration: 12600 - - id: time_example_003b - startTime: '2026-01-14T13:00:00.000Z' - endTime: '2026-01-14T15:45:00.000Z' - duration: 9900 - totalSeconds: 22500 - isRunning: false -comments: - - id: comment_example_003a - author: AI Agent - text: >- - Evaluated 4 options: Pinecone (managed, expensive at scale), Weaviate - (open-source, good hybrid search), Qdrant (Rust-based, fast), and - pgvector (PostgreSQL extension, simplest if already on Postgres). - Recommendation: pgvector for MVP (zero new infra), migrate to Qdrant - if we need dedicated vector performance later. - timestamp: '2026-01-14T15:45:00.000Z' -position: 2 ---- - -Evaluate vector database solutions for adding semantic search to the application. - -**Criteria:** - -- Self-hostable (or affordable managed) -- Good TypeScript/Node.js SDK -- Supports hybrid search (vector + keyword) -- Can handle 100K+ documents -- Active community and maintenance - -**Databases to Evaluate:** - -1. Pinecone -2. Weaviate -3. Qdrant -4. pgvector (PostgreSQL extension) -5. ChromaDB - -**Deliverable:** Comparison matrix with recommendation for MVP and scale phases. diff --git a/tasks/examples/task_example_004-automate-deployment-pipeline.md b/tasks/examples/task_example_004-automate-deployment-pipeline.md deleted file mode 100644 index 1b4dc334..00000000 --- a/tasks/examples/task_example_004-automate-deployment-pipeline.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: task_example_004 -title: Set up CI/CD pipeline with GitHub Actions -type: automation -status: todo -priority: medium -project: my-project -created: '2026-01-16T11:00:00.000Z' -updated: '2026-01-16T11:00:00.000Z' -subtasks: - - id: sub_004a - title: Create lint + typecheck workflow - done: false - - id: sub_004b - title: Add unit test runner - done: false - - id: sub_004c - title: Configure build verification - done: false - - id: sub_004d - title: Set up staging auto-deploy - done: false - - id: sub_004e - title: Add production deploy with manual approval - done: false -position: 3 ---- - -Create a complete CI/CD pipeline using GitHub Actions with staged deployments. - -**Pipeline Stages:** - -1. **Lint & Typecheck** — Run ESLint + TypeScript compiler on every push -2. **Test** — Run unit and integration tests -3. **Build** — Verify production build succeeds -4. **Deploy Staging** — Auto-deploy to staging on `main` branch push -5. **Deploy Production** — Manual approval gate, then deploy - -**Requirements:** - -- Use pnpm for package management -- Cache node_modules between runs -- Run stages in parallel where possible -- Slack notification on failure -- Branch protection: require CI pass before merge