📝 docs(adr): close 5 partial ADRs with code-confirmed status updates
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/<domain>/` 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user