mirror of
https://github.com/BradGroux/veritas-kanban.git
synced 2026-10-08 12:47:51 +00:00
fix: remove tracked task files and update .gitignore
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).
This commit is contained in:
parent
774673b80a
commit
57f637fe9d
5 changed files with 2 additions and 202 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -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/*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
Loading…
Add table
Reference in a new issue