rdev/internal/service
jordan f20fc6c51c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
feat(saga): implement enterprise-grade resilience architecture
Fixes issues from code review of resilience implementation:

- Wire saga system in main.go (SagaRepository, SagaExecutor, SagaHandler)
- Fix CompletedSteps() to include skipped steps for dependency resolution
- Fix reverse loop bug in saga compensation (use standard swap pattern)
- Add circuit breaker state change callbacks for Prometheus metrics

Phase 1 (Build Resilience):
- Add failure:retry to all component Kaniko build steps
- Add preflight registry health check before builds
- Add services-deployed sync point to decouple docs from critical path

Phase 2 (API Resilience):
- Add pipeline retry endpoint (POST /projects/{id}/pipelines/{number}/retry)
- Wire circuit breakers with metrics callbacks
- Add /health/circuits endpoint for circuit breaker status

Phase 3 (Saga Engine):
- Full domain model (Saga, SagaStep, RetryPolicy, BackoffType)
- PostgreSQL saga repository with CRUD and step management
- Saga executor with retry, compensation, skip step support
- Saga API handlers with CRUD and control operations

Phase 4 (Observability):
- Add saga metrics (total, step_duration, retry, circuit_breaker_state)
- Add logging fields (saga_id, saga_name, step_name)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 01:58:02 -07:00
..
apikey_service_test.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
apikey_service.go fix: go.work race condition with batch components and idempotent provisioning 2026-02-05 12:31:40 -07:00
build_progress_test.go chore: prepare for composable monorepo template implementation 2026-01-31 11:39:28 -07:00
build_progress.go chore: prepare for composable monorepo template implementation 2026-01-31 11:39:28 -07:00
build_service_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
build_service.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
component_batch.go fix: go.work race condition with batch components and idempotent provisioning 2026-02-05 12:31:40 -07:00
component_deploy.go feat: inject provisioned credentials into component deployments 2026-02-05 00:09:15 -07:00
component_infra.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
component_listing.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
component_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
component_updates.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
component.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
diagnostics_service_test.go feat(saga): implement enterprise-grade resilience architecture 2026-02-08 01:58:02 -07:00
diagnostics_service.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
mock_test.go fix: wire workService to WorkersHandler and add /work/tasks endpoint 2026-02-06 10:35:39 -07:00
operation_service.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
project_infra_crud.go fix: skip root deployment for empty template (defaults to skeleton) 2026-02-07 19:32:19 -07:00
project_infra_domains.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
project_infra.go feat: add Slate documentation templates to skeleton 2026-02-07 16:06:36 -07:00
project_service_agent.go fix: go.work race condition with batch components and idempotent provisioning 2026-02-05 12:31:40 -07:00
project_service_commands.go fix: go.work race condition with batch components and idempotent provisioning 2026-02-05 12:31:40 -07:00
project_service_queue.go feat: Add multi-provider code agent interface with Claude Code and OpenCode adapters 2026-01-27 09:25:51 -07:00
project_service_test.go feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
project_service.go fix: go.work race condition with batch components and idempotent provisioning 2026-02-05 12:31:40 -07:00
saga_executor.go feat(saga): implement enterprise-grade resilience architecture 2026-02-08 01:58:02 -07:00
sdlc_callback_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_callback.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_generate_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_generate.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_orchestrator_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_orchestrator.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_service_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
sdlc_service.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
verify_service.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
work_service_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
work_service.go fix: wire workService to WorkersHandler and add /work/tasks endpoint 2026-02-06 10:35:39 -07:00
worker_service_test.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
worker_service.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00