- Implement Audit Service (2.5) - gRPC server with Record and Query operations - Database persistence with audit schema - Service registry integration - Entry point: cmd/audit-service - Implement Identity Service (2.2) - User CRUD operations - Password hashing with argon2id - Email verification and password reset flows - Entry point: cmd/identity-service - Fix package naming conflicts in user_service.go - Implement Auth Service (2.1) - JWT token generation and validation - Login, RefreshToken, ValidateToken, Logout RPCs - Integration with Identity Service - Entry point: cmd/auth-service - Note: RefreshToken entity needs Ent generation - Implement Authz Service (2.3, 2.4) - Permission checking and authorization - User roles and permissions retrieval - RBAC-based authorization - Entry point: cmd/authz-service - Implement gRPC clients for all services - Auth, Identity, Authz, and Audit clients - Service discovery integration - Full gRPC communication - Add service configurations to config/default.yaml - Create SUMMARY.md with implementation details and testing instructions - Fix compilation errors in Identity Service (password package conflicts) - All services build successfully and tests pass
Implementation Tasks
This directory contains detailed task definitions for each epic of the Go Platform implementation.
Task Organization
Tasks are organized by epic, with each major task section having its own detailed file:
Epic 0: Project Setup & Foundation
- Epic 0 Tasks - All Epic 0 tasks
Epic 1: Core Kernel & Infrastructure
- Epic 1 Tasks - All Epic 1 tasks
Epic 2: Core Services (Authentication & Authorization)
- Epic 2 Tasks - Auth, Identity, Authz, Audit as independent services
Epic 3: Module Framework (Feature Services)
- Epic 3 Tasks - Module framework for feature services
Epic 4: Sample Feature Service (Blog Service)
- Epic 4 Tasks - Blog Service as reference implementation
Epic 5: Infrastructure Adapters
- Epic 5 Tasks - All Epic 5 tasks
Epic 6: Observability & Production Readiness
- Epic 6 Tasks - All Epic 6 tasks
Epic 7: Testing, Documentation & CI/CD
- Epic 7 Tasks - All Epic 7 tasks
Epic 8: Advanced Features & Polish (Optional)
- Epic 8 Tasks - All Epic 8 tasks
Task Status
Each task file includes:
- Task ID: Unique identifier (e.g.,
0.1.1) - Title: Descriptive task name
- Epic: Implementation epic
- Status: Pending | In Progress | Completed | Blocked
- Priority: High | Medium | Low
- Dependencies: Tasks that must complete first
- Description: Detailed requirements
- Acceptance Criteria: How to verify completion
- Implementation Notes: Technical details and references
- Related ADRs: Links to relevant architecture decisions
Task Tracking
Tasks can be tracked using:
- GitHub Issues (linked from tasks)
- Project boards
- Task management tools
- Direct commit messages referencing task IDs
Task Naming Convention
Tasks follow the format: {epic}.{section}.{subtask}
Example: 0.1.1 = Epic 0, Section 1 (Repository Bootstrap), Subtask 1