Files
dance-lessons-coach/adr
Gabriel Radureau 70c2eb554e
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 10s
CI/CD Pipeline / CI Pipeline (push) Failing after 4m8s
🧪 test: implement per-scenario state isolation and enhance validate-test-suite.sh
- Add pkg/bdd/steps/scenario_state.go with thread-safe per-scenario state manager
- Update auth_steps.go, jwt_retention_steps.go to use per-scenario state accessors
- Add LastSecret and LastError fields to ScenarioState for JWT retention testing
- Update steps.go with SetScenarioKeyForAllSteps function
- Update suite.go to generate scenario keys and clear state properly
- Mark config hot-reload scenarios as @flaky (timing-sensitive)
- Fix validate-test-suite.sh: add -p 1 flag for sequential execution, filter JSON logs, add --count flag
- Add CONFIG_SCHEMA.md documenting configuration architecture
- Split greet tests into v1/v2 sub-tests with explicit v2 enable/disable

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-11 13:34:51 +02:00
..

Architecture Decision Records (ADRs)

This directory contains Architecture Decision Records (ADRs) for the dance-lessons-coach project.

Index of ADRs

Number Title Status
0001 Go 1.26.1 Standard Accepted
0002 Chi Router Accepted
0003 Zerolog Logging Accepted
0004 Interface-Based Design Accepted
0005 Graceful Shutdown Accepted
0006 Configuration Management Accepted
0007 OpenTelemetry Integration Accepted
0008 BDD Testing Accepted
0009 Hybrid Testing Approach Accepted
0010 CI/CD Pipeline Design Accepted
0011 Trunk-Based Development Accepted
0012 Commit Message Conventions Accepted
0013 Version Management Lifecycle Accepted
0014 Swagger Documentation Accepted
0015 Rate Limiting Strategy Accepted
0016 Cache Invalidation Strategy Accepted
0017 JWT Secret Rotation Accepted
0018 Configuration Hot Reloading Accepted
0019 BDD Feature Structure Accepted
0020 Database Migration Strategy Accepted
0021 API Versioning Strategy Accepted
0022 Rate Limiting and Cache Strategy Accepted
0023 Config Hot Reloading 🟡 Proposed
0024 BDD Test Organization and Isolation 🟡 Proposed
0025 BDD Scenario Isolation Strategies 🟡 Proposed

What is an ADR?

An ADR is a document that captures an important architectural decision made along with its context and consequences.

Format

Each ADR follows this structure:

# [Short title is a few words]

* Status: [Proposed | Accepted | Deprecated | Superseded]
* Deciders: [List of decision makers]
* Date: [YYYY-MM-DD]

## Context and Problem Statement

[Describe the context and problem statement]

## Decision Drivers

* [Driver 1]
* [Driver 2]
* [Driver 3]

## Considered Options

* [Option 1]
* [Option 2]
* [Option 3]

## Decision Outcome

Chosen option: "[Option 1]" because [justification]

## Pros and Cons of the Options

### [Option 1]

* Good, because [argument a]
* Good, because [argument b]
* Bad, because [argument c]

### [Option 2]

* Good, because [argument a]
* Good, because [argument b]
* Bad, because [argument c]

## Links

* [Link type] [Link to ADR]
* [Link type] [Link to ADR]

ADR List

How to Add a New ADR

  1. Create a new file with the next available number (e.g., 0010-new-decision.md)
  2. Follow the template format
  3. Update this README.md with the new ADR
  4. Commit the changes

Status Legend

  • Proposed: Decision is being discussed
  • Accepted: Decision has been made and implemented
  • Deprecated: Decision is no longer relevant
  • Superseded: Decision has been replaced by another ADR