Phase 09: CI Pipeline Hardening - 4 plan(s) in 3 wave(s) - Wave 1: Infrastructure setup (09-01) - Wave 2: Tests in parallel (09-02, 09-03) - Wave 3: CI integration (09-04) - Ready for execution Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.0 KiB
Roadmap: TaskPlanner
Milestones
- ✅ v1.0 MVP - Phases 1-6 (shipped 2026-02-01)
- 🚧 v2.0 Production Operations - Phases 7-9 (in progress)
Overview
TaskPlanner delivers personal task and notes management with image attachments, accessible from any device via web browser. v1.0 established core functionality. v2.0 adds production-grade operations: GitOps deployment automation via ArgoCD, comprehensive observability via Prometheus/Grafana/Loki, and CI pipeline hardening with automated testing.
Phases
Phase Numbering:
- Integer phases (1, 2, 3): Planned milestone work
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
Decimal phases appear between their surrounding integers in numeric order.
v1.0 MVP (Phases 1-6) - SHIPPED 2026-02-01
- Phase 1: Foundation - Data model, repository layer, and project structure
- Phase 2: Core CRUD - Entry management, quick capture, and responsive UI
- Phase 3: Images - Image attachments with mobile camera support
- Phase 4: Tags & Organization - Tagging system with pinning and due dates
- Phase 5: Search - Full-text search and filtering
- Phase 6: Deployment - Docker containerization and production configuration
Phase 1: Foundation
Goal: Data persistence and project structure are ready for feature development Plans: 2/2 complete
Phase 2: Core CRUD
Goal: Users can create, manage, and view entries with a responsive, accessible UI Plans: 4/4 complete
Phase 3: Images
Goal: Users can attach, view, and manage images on entries from any device Plans: 4/4 complete
Phase 4: Tags & Organization
Goal: Users can organize entries with tags and quick access features Plans: 3/3 complete
Phase 5: Search
Goal: Users can find entries through search and filtering Plans: 3/3 complete
Phase 6: Deployment
Goal: Application runs in Docker with persistent data and easy configuration Plans: 2/2 complete
🚧 v2.0 Production Operations (In Progress)
Milestone Goal: Production-grade operations with GitOps deployment, observability stack, and CI test pipeline
- Phase 7: GitOps Foundation - ArgoCD deployment automation with Git as source of truth ✓
- Phase 8: Observability Stack - Metrics, dashboards, logs, and alerting
- Phase 9: CI Pipeline Hardening - Automated testing before build
Phase Details
Phase 7: GitOps Foundation
Goal: Deployments are fully automated via Git - push triggers deploy, manual changes self-heal Depends on: Phase 6 (running deployment) Requirements: GITOPS-01, GITOPS-02, GITOPS-03, GITOPS-04 Success Criteria (what must be TRUE):
- ArgoCD server is running and accessible at argocd.tricnet.be
- TaskPlanner Application shows "Synced" status in ArgoCD UI
- Pushing a change to helm/taskplaner/values.yaml triggers automatic deployment within 3 minutes
- Manually deleting a pod results in ArgoCD restoring it to match Git state
- ArgoCD UI shows deployment history with sync status for each revision Plans: 2 plans
Plans:
- 07-01-PLAN.md — Register TaskPlanner Application with ArgoCD
- 07-02-PLAN.md — Verify auto-sync and self-heal behavior
Phase 8: Observability Stack
Goal: Full visibility into cluster and application health via metrics, logs, and dashboards Depends on: Phase 7 (ArgoCD can deploy observability stack) Requirements: OBS-01, OBS-02, OBS-03, OBS-04, OBS-05, OBS-06, OBS-07, OBS-08 Success Criteria (what must be TRUE):
- Grafana is accessible at grafana.tricnet.be with pre-built Kubernetes dashboards
- Prometheus scrapes metrics from TaskPlanner, Traefik, and k3s nodes
- Logs from all pods are queryable in Grafana Explore via Loki
- Alert fires when a pod crashes or restarts repeatedly (KubePodCrashLooping)
- TaskPlanner /metrics endpoint returns Prometheus-format metrics Plans: 3 plans
Plans:
- 08-01-PLAN.md — TaskPlanner /metrics endpoint and ServiceMonitor
- 08-02-PLAN.md — Promtail to Alloy migration for log collection
- 08-03-PLAN.md — End-to-end observability verification
Phase 9: CI Pipeline Hardening
Goal: Tests run before build - type errors and test failures block deployment Depends on: Phase 8 (observability shows test/build failures) Requirements: CI-01, CI-02, CI-03, CI-04, CI-05 Success Criteria (what must be TRUE):
npm run test:unitruns Vitest and reports pass/failnpm run checkruns svelte-check and catches type errors- Pipeline fails before Docker build when unit tests fail
- Pipeline fails before Docker build when type checking fails
- E2E tests run in pipeline using Playwright Docker image Plans: 4 plans
Plans:
- 09-01-PLAN.md — Test infrastructure setup (Vitest + browser mode)
- 09-02-PLAN.md — Unit and component test suite with coverage
- 09-03-PLAN.md — E2E test suite with database fixtures
- 09-04-PLAN.md — CI pipeline integration with fail-fast behavior
Progress
Execution Order: Phases execute in numeric order: 7 -> 8 -> 9
| Phase | Milestone | Plans Complete | Status | Completed |
|---|---|---|---|---|
| 1. Foundation | v1.0 | 2/2 | Complete | 2026-01-29 |
| 2. Core CRUD | v1.0 | 4/4 | Complete | 2026-01-29 |
| 3. Images | v1.0 | 4/4 | Complete | 2026-01-31 |
| 4. Tags & Organization | v1.0 | 3/3 | Complete | 2026-01-31 |
| 5. Search | v1.0 | 3/3 | Complete | 2026-01-31 |
| 6. Deployment | v1.0 | 2/2 | Complete | 2026-02-01 |
| 7. GitOps Foundation | v2.0 | 2/2 | Complete ✓ | 2026-02-03 |
| 8. Observability Stack | v2.0 | 0/3 | Planned | - |
| 9. CI Pipeline Hardening | v2.0 | 0/4 | Planned | - |
Roadmap created: 2026-01-29 v2.0 phases added: 2026-02-03 Phase 7 planned: 2026-02-03 Phase 8 planned: 2026-02-03 Phase 9 planned: 2026-02-03 Depth: standard v1.0 Coverage: 31/31 requirements mapped v2.0 Coverage: 17/17 requirements mapped