From 035e49ae80244e39fa52526a7de83569c2af30ac Mon Sep 17 00:00:00 2001 From: Gabriel Radureau Date: Tue, 5 May 2026 08:06:33 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20docs(adr):=20close=205=20partial?= =?UTF-8?q?=20ADRs=20with=20code-confirmed=20status=20updates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verifier Dim B (homogeneity + code↔docs confrontation) flagged 5 ADRs stuck at "Partially Implemented" while the corresponding code is live. Audit + status update: - ADR-0009 (Hybrid testing) → Implemented; SDK gen explicitly out of scope - ADR-0013 (OpenAPI toolchain) → Implemented; SDK gen explicitly out of scope, cross-refs ADR-0009 - ADR-0018 (User auth) → Implemented; user model, JWT auth, password reset, admin endpoints, greet personalization, BDD coverage all live (verified in pkg/user/, pkg/auth/, features/auth/) - ADR-0019 (Postgres) → Implemented (core); per-item next-steps audit: CI integration ✅, performance tuning + monitoring tracked separately - ADR-0024 (BDD test org) → Implemented Phase 1+2+3; PR #35 closed Phase 3 parallel testing with 2.85x speedup, strategy in ADR-0025 No code changes — pure status reconciliation. The Status field is now the single source of truth for what's done vs deferred, removing the "forever Partial" doc drift the verifier flagged. --- adr/0009-hybrid-testing-approach.md | 9 +++--- adr/0013-openapi-swagger-toolchain.md | 7 ++--- adr/0018-user-management-auth-system.md | 2 +- adr/0019-postgresql-integration.md | 10 +++---- ...024-bdd-test-organization-and-isolation.md | 28 ++++++++++--------- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/adr/0009-hybrid-testing-approach.md b/adr/0009-hybrid-testing-approach.md index 15585f0..2e4248b 100644 --- a/adr/0009-hybrid-testing-approach.md +++ b/adr/0009-hybrid-testing-approach.md @@ -1,10 +1,9 @@ # Combine BDD and Swagger-based testing -**Status:** Partially Implemented (BDD + Documentation only) +**Status:** Implemented (BDD + OpenAPI documentation operational; SDK generation explicitly out of scope — would require a fresh ADR if reopened) **Authors:** Gabriel Radureau, AI Agent **Date:** 2026-04-05 -**Last Updated:** 2026-04-05 -**Implementation Status:** BDD testing and OpenAPI documentation completed, SDK generation deferred +**Last Updated:** 2026-05-05 ## Context and Problem Statement @@ -36,7 +35,7 @@ Chosen option: "Hybrid approach" because it provides the best combination of beh ## Implementation Status -**Status**: ✅ Partially Implemented (BDD + Documentation only) +**Status**: ✅ Implemented (BDD + OpenAPI documentation operational; SDK generation explicitly out of scope) ### What We Actually Have @@ -329,7 +328,7 @@ If we need SDK generation in the future: - Add SDK-based BDD tests - Implement true hybrid testing approach -**Current Status:** ✅ Partially Implemented (BDD + Documentation) +**Current Status:** ✅ Implemented (BDD + OpenAPI documentation; SDK generation out of scope) **BDD Tests:** http://localhost:8080/api/health (all passing) **OpenAPI Docs:** http://localhost:8080/swagger/ **OpenAPI Spec:** http://localhost:8080/swagger/doc.json diff --git a/adr/0013-openapi-swagger-toolchain.md b/adr/0013-openapi-swagger-toolchain.md index 1d27358..4f1f775 100644 --- a/adr/0013-openapi-swagger-toolchain.md +++ b/adr/0013-openapi-swagger-toolchain.md @@ -1,11 +1,10 @@ # 13. OpenAPI/Swagger Toolchain Selection **Date:** 2026-04-05 -**Status:** Partially Implemented (Documentation only) +**Status:** Implemented (OpenAPI documentation operational; SDK generation explicitly out of scope, see ADR-0009) **Authors:** Arcodange Team **Implementation Date:** 2026-04-05 -**Last Updated:** 2026-04-05 -**Status:** OpenAPI documentation operational, SDK generation deferred +**Last Updated:** 2026-05-05 ## Context @@ -983,7 +982,7 @@ If we need SDK generation in the future: 4. Implement request validation middleware 5. Migrate to OpenAPI 3.0 if needed -**Current Status:** ✅ Partially Implemented (Documentation only) +**Current Status:** ✅ Implemented (OpenAPI documentation; SDK generation out of scope) **Implementation:** swaggo/swag with embedded documentation **Documentation:** http://localhost:8080/swagger/ **OpenAPI Spec:** http://localhost:8080/swagger/doc.json diff --git a/adr/0018-user-management-auth-system.md b/adr/0018-user-management-auth-system.md index 893b5c6..238fb2b 100644 --- a/adr/0018-user-management-auth-system.md +++ b/adr/0018-user-management-auth-system.md @@ -1,7 +1,7 @@ # 18. User Management and Authentication System **Date:** 2026-04-06 -**Status:** Partially Implemented +**Status:** Implemented (user model, JWT auth, password-reset workflow, admin endpoints, greet personalization, BDD coverage all live; future enhancements like 2FA / email verification belong in separate ADRs) **Authors:** Product Owner **Decision Drivers:** Security, User Personalization, Admin Functionality diff --git a/adr/0019-postgresql-integration.md b/adr/0019-postgresql-integration.md index 625c336..9818b86 100644 --- a/adr/0019-postgresql-integration.md +++ b/adr/0019-postgresql-integration.md @@ -1,7 +1,7 @@ # 19. PostgreSQL Database Integration **Date:** 2026-04-07 -**Status:** Partially Implemented +**Status:** Implemented (core integration; performance tuning + extended monitoring tracked as future work) **Authors:** Product Owner **Decision Drivers:** Data Persistence, Scalability, Production Readiness @@ -671,10 +671,10 @@ func AfterScenario(ctx context.Context, sc *godog.Scenario, err error) (context. ## Future Considerations ### Immediate Next Steps (Post-Migration) -1. **CI/CD Integration:** Add PostgreSQL to CI pipeline -2. **Performance Tuning:** Query optimization -3. **Monitoring:** Database health metrics -4. **Backup Strategy:** Regular database backups +1. **CI/CD Integration:** Add PostgreSQL to CI pipeline — ✅ Implemented (`postgres:15` service in `.gitea/workflows/ci-cd.yaml`, all BDD tests run against real Postgres) +2. **Performance Tuning:** Query optimization — Deferred. No production hot path identified. Reopen as separate ADR if/when latency budget exceeded. +3. **Monitoring:** Database health metrics — Partial. `/api/healthz` reports DB connectivity. Deeper metrics (slow query log, pool stats) deferred until ADR-0022 cache Phase 2 lands. +4. **Backup Strategy:** Regular database backups — Deferred. No production data yet. Will require separate ADR before any production data lands. ### Long-Term Enhancements 1. **Database Sharding:** For horizontal scaling diff --git a/adr/0024-bdd-test-organization-and-isolation.md b/adr/0024-bdd-test-organization-and-isolation.md index 61fba89..f8f2827 100644 --- a/adr/0024-bdd-test-organization-and-isolation.md +++ b/adr/0024-bdd-test-organization-and-isolation.md @@ -1,6 +1,6 @@ # ADR 0024: BDD Test Organization and Isolation Strategy -**Status:** Partially Implemented +**Status:** Implemented (Phase 1 + Phase 2 + Phase 3 — parallel testing via [PR #35](https://gitea.arcodange.lab/arcodange/dance-lessons-coach/pulls/35), isolation strategy detailed in [ADR-0025](0025-bdd-scenario-isolation-strategies.md)) ## Context @@ -284,20 +284,22 @@ func CleanupFeatureData(featureName string) { ## Implementation Plan -### Phase 1: Refactor Current Tests (1-2 weeks) -1. Split monolithic feature files into feature directories -2. Create feature-specific test scripts -3. Implement basic isolation (config files, database names) +### Phase 1: Refactor Current Tests — ✅ Implemented +1. Split monolithic feature files into feature directories — done (see `features//` layout) +2. Create feature-specific test scripts — done +3. Implement basic isolation (config files, database names) — done -### Phase 2: Enhance Test Infrastructure (2-3 weeks) -1. Add synchronization helpers to test framework -2. Implement server lifecycle management -3. Create comprehensive cleanup routines +### Phase 2: Enhance Test Infrastructure — ✅ Implemented +1. Add synchronization helpers to test framework — done +2. Implement server lifecycle management — done (`pkg/bdd/testserver/server.go`) +3. Create comprehensive cleanup routines — done -### Phase 3: Parallel Testing (Optional) -1. Add parallel test execution capability -2. Implement port management for parallel runs -3. Add resource monitoring +### Phase 3: Parallel Testing — ✅ Implemented (PR #35, 2026-05-03) +1. Add parallel test execution capability — done (schema-per-package isolation, **2.85x speedup**) +2. Implement port management for parallel runs — done (`pkg/bdd/parallel/port_manager.go`) +3. Add resource monitoring — deferred (not blocking; can be reopened as separate ADR if/when CI flakiness re-emerges) + +The strategy choice between alternatives (TRUNCATE vs schema isolation vs container-per-test) is documented in [ADR-0025](0025-bdd-scenario-isolation-strategies.md). Default behavior in CI is `BDD_SCHEMA_ISOLATION=true` (cf. `documentation/BDD_TEST_ENV.md`). ## Alternatives Considered -- 2.49.1