- Fixed path resolution in test setup to handle both feature-specific and multi-feature execution
- Standardized stopOnFailure=false for all feature tests to ensure consistent behavior
- Removed @todo tag from implemented Configuration validation scenario
- Ensured GODOG_TAGS=todo go test ./features/X/... and FEATURE=X go test ./features/ run identical tests
All feature suites (jwt, auth, greet, health, config) now behave consistently regardless of execution method.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Create pkg/bdd/testsetup package with shared test configuration functions
- Refactor all feature test files to use shared setup (70+ lines reduced)
- Implement dynamic feature path detection by scanning filesystem for directories
- Add getProjectRoot() function to find project root via go.mod
- Maintain all existing functionality (tags, stop on failure, etc.)
- Add fallback to hardcoded paths if filesystem access fails
- Sort feature paths for consistent test execution order
Before: ~35 lines per test file with duplicated setup code
After: ~5 lines per test file using shared functions
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Add GODOG_STOP_ON_FAILURE environment variable to all test suites
- Maintain feature-specific defaults for stop on failure behavior
- JWT, Greet, Auth, Health: stop on failure by default (true)
- Config, All Features: continue after failures by default (false)
- Allow runtime override via environment variable
- Update BDD_TAGS.md with usage examples and defaults
- Support boolean values: true, false, 1, 0
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Remove @wip from default tag filters in all test suites
- Update features/bdd_test.go to support GODOG_TAGS override
- Move @wip tag from passing scenario to @todo scenario
- Maintain tag override functionality via GODOG_TAGS environment variable
- Update documentation to reflect new default behavior
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Modify all feature test suites to accept GODOG_TAGS environment variable
- Allow runtime tag filtering override for focused testing
- Update BDD_TAGS.md with usage examples
- Maintain default behavior when GODOG_TAGS not set
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Add @wip tag documentation to BDD_TAGS.md
- Modify all feature test suites to include @wip in tag filters
- Update test scripts to handle @wip tag inclusion
- @wip overrides exclusion tags (@todo, @skip, @flaky) for active development
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Add @flaky, @todo, @skip tags to BDD_TAGS.md
- Modify all feature test suites to exclude these tags
- Update test scripts to exclude tagged scenarios
- Mark all JWT scenarios with pending steps as @todo
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Moved BDD_TAGS.md from root to features/ directory
- Updated documentation to reflect new location
- Maintains comprehensive tag documentation
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Added port management system with PortManager for parallel execution
- Implemented resource monitoring with ResourceMonitor and ParallelTestRunner
- Created test-all-features-parallel.sh for parallel feature test execution
- Added comprehensive BDD_TAGS.md documentation for tag usage
- Implemented port allocation, conflict detection, and resource tracking
- Added timeout detection and controlled parallelism
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
Adds features/test-config.yaml and test-config.yaml to .gitignore
to prevent temporary BDD test configuration files from being
accidentally committed to the repository.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
Adds comprehensive BDD test scenarios for configuration hot reloading functionality:
- 10 scenarios covering hot reloading of logging level, feature flags, telemetry settings, JWT TTL
- Scenarios for handling invalid configurations, file deletion/recreation, rapid changes
- Audit logging scenarios for configuration changes
- All scenarios follow black box testing principles using actual HTTP endpoints
The scenarios are marked as pending since the hot reloading feature is not yet implemented.
They will serve as executable specifications for the future implementation.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
Adds Architecture Decision Record 0023 proposing selective hot reloading
for configuration changes. The ADR analyzes different approaches and
recommends implementing hot reloading only for safe parameters like
logging level, feature flags, and telemetry settings while requiring
restart for critical parameters like server settings and credentials.
The ADR includes:
- Problem statement and decision drivers
- Analysis of 4 different approaches
- Detailed implementation strategy
- Safety considerations and error handling
- Migration plan and future enhancements
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
Added critical documentation about using separate 'Closes' lines for PR merge commits:
- Explains why single-line multiple issue references fail
- Provides correct multi-line format examples
- Prevents common issue where only first issue gets closed
- Updates usage examples with proper multi-issue syntax
This fixes the issue we encountered where 'Closes #4, #5, #6' only closed#4.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
Added ADR-0018 for User Management and Authentication System with:
- Non-persisted admin user with master password authentication
- JWT-based authentication with bcrypt password hashing
- PostgreSQL database schema and GORM integration
- Admin-assisted password reset workflow
- Comprehensive security considerations
Added ADR-0019 for BDD Feature Structure:
- Epic/User Story organization pattern
- Unified development workflow
- Source of truth hierarchy
Added ADR-0020 for Docker Build Strategy:
- Multi-stage build approach
- Cache optimization strategy
- Production vs development build differences
Added technical documentation:
- Complete user management system specification
- API endpoints and integration details
- Security architecture and best practices
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Created comprehensive Gitmoji cheatsheet in documentation/
- Added quick reference to README for common Gitmoji
- Links to full cheatsheet for all Gitmoji options
- Helps team use consistent commit message format
This provides:
- Quick visual reference for common Gitmoji
- Examples of good/bad commit messages
- Best practices for commit formatting
- Easy access to full reference when needed
No more guessing which Gitmoji to use!
Refs: #documentation, #gitmoji, #conventions
- Created comprehensive agent usage guide in documentation/
- Added quick launch commands to README
- Provides clear guidance on when to use each agent
- Includes workflow examples and best practices
- Links to full documentation for details
This makes it easier for new users to:
- Launch the correct agent for their task
- Follow established workflows
- Understand agent capabilities
- Find troubleshooting help
Refs: #documentation, #onboarding, #usability
- Created changelog-manager skill to help agents properly maintain AGENT_CHANGELOG.md
- Provides guidance on when and how to update changelog
- Includes validation checks for format, content, and references
- Offers best practices for compact, outcome-focused entries
- Integrates with agent workflow for consistent documentation
This skill helps maintain the discipline of:
- Updating after each significant session
- Following consistent What/Why/How structure
- Linking to references (issues, ADRs, commits)
- Keeping entries compact and outcome-focused
Refs: #documentation, #changelog, #discipline
- Moved all documentation files from doc/ to documentation/
- Removed empty doc/ directory
- Single unified location for all project documentation
- Includes BDD guide, CI/CD testing guide, version management guide
Refs: #documentation, #organization, #cleanup
- Removed product owner agent documentation from AGENT_CHANGELOG.md
- Kept changelog focused on agent contributions and decisions
- Product owner system documentation belongs in separate files
- Maintains compact, iterative format as intended
Refs: #documentation, #cleanup, #changelog
- Changed GITEA_REPO from 'DanceLessonsCoach' to 'dance-lessons-coach'
- Updated workflow comment to use kebab-case
- Aligns with module name changes from previous commits
This ensures the CI/CD workflow correctly references the repository
using the new kebab-case naming convention.
Refs: #ci-cd, #kebab-case, #repository-naming
- Added path validation to prevent .vibe/.vibe nested directory creation
- Enhanced BEST_PRACTICES.md with path handling patterns
- Added troubleshooting section to ADVANCED_FEATURES.md
- Shows actual creation path for transparency
Fixes: Issue with skills being created in incorrect nested paths
Refs: #skill-creation, #path-validation
- Add swag fmt to git pre-commit hook and CI/CD pipeline
- Create comprehensive CONTRIBUTING.md guide with AI section
- Update ADR-0013 with swag fmt documentation
- Fix swagger generation to include all endpoints
- Improve local testing scripts and workflows
- Update Dockerfile for better swagger handling
- Fix CI/CD workflow file references
Remove redundant workflow-validation job:
- Local validation script is sufficient
- Simplifies CI workflow
- Reduces CI execution time
- Removes potential failure point
Workflow validation now handled locally
before pushing to repository.
Enhance documentation with real-world examples:
- Add PR commenting workflow use case
- Include actual examples from this project
- Show automated feedback patterns
- Document CI integration examples
Makes the skill more practical and valuable
for both humans and AI agents.
Fix three critical CI issues:
1. SWAG TOOL: Install swag before go generate
- Adds 'Install swag' step to build-test job
- Prevents 'command not found' errors
- Ensures swagger docs can be generated
2. GO VET REDUNDANCY: Remove duplicate go vet
- Removes go vet from lint-format job
- Keeps go vet only in build-test job
- Reduces CI execution time
3. WORKFLOW VALIDATION: Fix yamllint path
- Updates validate-workflow.sh to use absolute paths
- Fixes .yamllint.yaml file not found error
- Makes path resolution more robust
These fixes address the root causes of:
- Job 350 failure (missing swag)
- Redundant validation (duplicate go vet)
- Workflow validation failures (wrong paths)
Tested locally and ready for CI.
Add web UI link documentation and examples:
- Document html_url field usage in responses
- Add examples for opening jobs in browser
- Include common URL patterns
- Enhance job-status and list-workflow-jobs docs
Makes it easier to navigate between CLI and web UI
for better CI/CD monitoring and debugging.
Fix CI/CD workflow failure by adding swagger documentation generation
step before building packages.
The workflow was failing with:
pkg/server/server.go:30:12: pattern docs/swagger.json: no matching files found
Root cause: The //go:embed directive requires generated swagger docs
but the workflow didn't generate them before building.
Solution: Added 'Generate Swagger Docs' step:
- name: Generate Swagger Docs
run: cd pkg/server && go generate
Also generated the missing docs locally to fix immediate issue:
cd pkg/server && go generate
This ensures swagger.json, swagger.yaml, and docs.go are created
before the build step, preventing the embed directive from failing.
Add comprehensive Gitea client skill with capabilities to:
- Monitor CI/CD job status and workflows
- Fetch detailed job logs and action logs
- List workflow jobs to identify failures
- Comment on pull requests
- Save logs to files for analysis
Includes:
- Main client script with authentication support
- Complete documentation and usage examples
- Support for both GITEA_API_TOKEN and GITEA_API_TOKEN_FILE
- Comprehensive error handling and workflows
Enables AI agents to monitor, diagnose, and interact with
Gitea Actions workflows and pull requests.
- Rename ci-cd.yaml to go-ci-cd.yaml for clarity
- Add dockerimage.yaml workflow for Docker builds
- Create Dockerfile for production deployment
- Add comprehensive CI/CD documentation
- Create contributor-quickstart.sh for easy validation
- Update all scripts to handle both workflow files
- Fix event triggers to run on all relevant pushes
- Remove redundant YAML syntax validation
- Improve workflow validation for Arcodange conventions
BREAKING CHANGE: ci-cd.yaml renamed to go-ci-cd.yaml
See scripts/cicd/README.md for complete documentation.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Update ADR 0009 to reflect actual hybrid testing status (BDD + docs only)
- Update ADR 0013 to clarify swaggo/swag choice over oapi-codegen
- Add implementation status sections showing ✅ completed vs ❌ deferred
- Explain pragmatic reasons for current approach
- Provide future migration path for SDK generation
- Maintain transparency about framework compatibility decisions
See updated ADRs for complete details on current testing architecture
and when/if we might need full hybrid approach with SDK generation.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Designed trunk-based development workflow with branch protection
- Added workflow validation job to prevent main branch breaks
- Integrated act (GitHub Actions runner) for local Gitea workflow testing
- Created unified CI/CD script interface (scripts/cicd.sh)
- Added YAML lint configuration with practical limits (400 chars)
- Organized all CI/CD scripts under scripts/cicd/ directory
- Confirmed Gitea/GitHub Actions compatibility via local testing
- Updated ADR 0017 with implementation details and test results
- Enhanced documentation with local development workflow
See ADR-0017 for complete trunk-based development workflow documentation.
See ADR-0016 for CI/CD pipeline design.
- Add Version field to telemetry.Setup struct
- Include service.version attribute in OpenTelemetry resource
- Pass version.Short() from server to telemetry initialization
- Follows OpenTelemetry semantic conventions for better observability
- Enables version tracking in production traces
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Add detailed trade-offs analysis section
- Explicitly state what we gain and give up
- Define critical vs nice-to-have requirements
- Add cost-benefit analysis
- Document decision justification
- Provide migration path forward
- Include final trade-off summary table
- Update revision history with requirements analysis
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Add ADR-0012 documenting the decision to format only staged Go files
- Update ADR README.md with new entry
- Document rationale, alternatives, and verification results
- Include future considerations for monitoring and CI/CD integration
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Added /api/v2/greet POST endpoint with JSON request/response
- Implemented ServiceV2 with Hello my friend <name>! greeting format
- Added api.v2_enabled feature flag (default: false)
- Extended BDD tests to cover v2 scenarios
- Maintained full backward compatibility with v1 API
- Added DLC_API_V2_ENABLED environment variable support
- Created ADR 0010-api-v2-feature-flag.md
- Updated configuration system to support API versioning
Finalize BDD testing framework with:
- Unified step definitions using StepContext struct
- Proper server verification in theServerIsRunning step
- Robust JSON response handling with escaping and newline trimming
- Updated documentation reflecting current implementation
- Test validation script to ensure test quality
- All tests passing with proper black box testing
Key files updated:
- pkg/bdd/steps/steps.go: Unified step definitions
- pkg/bdd/testserver/client.go: Robust response validation
- pkg/bdd/README.md: Godog pattern guide
- doc/BDD_GUIDE.md: Updated usage guide
- adr/0008-bdd-testing.md: Updated ADR with current approach
- scripts/run-bdd-tests.sh: Test validation script
The BDD framework is now production-ready with comprehensive
documentation and proper testing practices.