7c2df59499
fix( #181 ): Update Alpine packages to patch Go stdlib vulnerabilities in postgres image
...
Added explicit package update/upgrade step to patch CVE-2025-58183, CVE-2025-61726, CVE-2025-61728, and CVE-2025-61729 in Go stdlib components from Alpine Linux packages (likely LLVM or transitive dependencies).
The fix ensures all base image packages are up-to-date before pgvector build, capturing any security patches released for Alpine components.
Fixes #181
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 20:54:57 -06:00
e23c09f1f2
feat( #157 ): Set up webhook receiver endpoint
...
Implement FastAPI webhook receiver for Gitea issue assignment events
with HMAC SHA256 signature verification and event routing.
Implementation details:
- FastAPI application with /webhook/gitea POST endpoint
- HMAC SHA256 signature verification in security.py
- Event routing for assigned, unassigned, closed actions
- Comprehensive logging for all webhook events
- Health check endpoint at /health
- Docker containerization with health checks
- 91% test coverage (exceeds 85% requirement)
TDD workflow followed:
- Wrote 16 tests first (RED phase)
- Implemented features to pass tests (GREEN phase)
- All tests passing with 91% coverage
- Type checking with mypy: success
- Linting with ruff: success
Files created:
- apps/coordinator/src/main.py - FastAPI application
- apps/coordinator/src/webhook.py - Webhook handlers
- apps/coordinator/src/security.py - HMAC verification
- apps/coordinator/src/config.py - Configuration management
- apps/coordinator/tests/ - Comprehensive test suite
- apps/coordinator/Dockerfile - Production container
- apps/coordinator/pyproject.toml - Python project config
Configuration:
- Updated .env.example with GITEA_WEBHOOK_SECRET
- Updated docker-compose.yml with coordinator service
Testing:
- 16 unit and integration tests
- Security tests for signature verification
- Event handler tests for all supported actions
- Health check endpoint tests
- All tests passing with 91% coverage
This unblocks issue #158 (issue parser).
Fixes #157
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-01 17:41:46 -06:00
Jason Woltje
973502f26e
feat(#37-41): Add domains, ideas, relationships, agents, widgets schema
...
Schema additions for issues #37-41:
New models:
- Domain (#37 ): Life domains (work, marriage, homelab, etc.)
- Idea (#38 ): Brain dumps with pgvector embeddings
- Relationship (#39 ): Generic entity linking (blocks, depends_on)
- Agent (#40 ): ClawdBot agent tracking with metrics
- AgentSession (#40 ): Conversation session tracking
- WidgetDefinition (#41 ): HUD widget registry
- UserLayout (#41 ): Per-user dashboard configuration
Updated models:
- Task, Event, Project: Added domainId foreign key
- User, Workspace: Added new relations
New enums:
- IdeaStatus: CAPTURED, PROCESSING, ACTIONABLE, ARCHIVED, DISCARDED
- RelationshipType: BLOCKS, BLOCKED_BY, DEPENDS_ON, etc.
- AgentStatus: IDLE, WORKING, WAITING, ERROR, TERMINATED
- EntityType: Added IDEA, DOMAIN
Migration: 20260129182803_add_domains_ideas_agents_widgets
2026-01-29 12:29:21 -06:00
Jason Woltje
99afde4f99
feat( #2 ): Implement PostgreSQL 17 + pgvector database schema
...
Establishes multi-tenant database layer with vector similarity search for AI-powered memory features. Includes Docker infrastructure, Prisma ORM integration, NestJS services, and shared types across the monorepo.
Key changes:
- Docker: PostgreSQL 17 + pgvector v0.7.4, Valkey cache
- Schema: 8 models (User, Workspace, Task, Event, Project, ActivityLog, MemoryEmbedding) with RLS preparation
- NestJS: PrismaModule, DatabaseModule, EmbeddingsService
- Shared: Type-safe enums, constants, and database types
Fixes #2
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 16:06:34 -06:00