# DanceLessonsCoach Agent Improvement Log This file tracks the agent's contributions and decisions. Kept compact and iterative. ## Current Focus (2026-04-04) ### Active Configuration - **Agent**: DanceLessonsCoachProgrammer - **Location**: `/Users/gabrielradureau/Work/Vibe/.mistral/dancelessonscoachprogrammer-agent.toml` - **Status**: Fully operational with workflow constraints ### Recent Decisions - ✅ Use existing `cli` system prompt with custom overrides - ✅ Enable web tools for research (web_search, web_fetch) - ✅ Restrict git commands (no add/commit/push/merge/rebase) - ✅ Require ADR documentation for all architectural decisions ## Workflow Constraints ### Always Ask Before - Adding libraries/frameworks - Major architectural changes - Breaking changes ### Always Check - `adr/` folder for existing decisions - Roadmap alignment - BDD scenario coverage ### Always Document - New ADRs in `adr/` folder - Feature changes in CHANGELOG.md - Test scenarios in `features/` ## Agent Session Guide ### Starting a Session ```bash cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach vibe start --agent dancelessonscoachprogrammer ``` ### Example Workflow ``` 🤖 "Need to add library X. Approve?" 👤 "Yes, document in ADR first" 🤖 Creates adr/00XX-library-x.md 🤖 Implements with BDD tests 🤖 Updates CHANGELOG.md ``` ## Implementation History ### 2026-04-04 - API v2 Implementation - ✅ Added `/api/v2/greet` POST endpoint with JSON request/response - ✅ Implemented `ServiceV2` with "Hello my friend !" 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](adr/0010-api-v2-feature-flag.md) - ✅ Updated configuration system to support API versioning - ✅ Added comprehensive test coverage for both enabled and disabled states ### 2026-04-04 - Input Validation Implementation - ✅ Selected go-playground/validator for input validation - ✅ Created ADR [0011-validation-library-selection.md](adr/0011-validation-library-selection.md) - ✅ Added `pkg/validation/` package with custom validator wrapper - ✅ Implemented request validation for v2 API endpoints - ✅ Added structured validation error responses - ✅ Extended BDD tests to cover validation scenarios - ✅ Added validation for name field (max length: 100 characters) - ✅ Maintained graceful degradation when validator fails to initialize - ⚠️ **REMINDER**: Use `./scripts/build.sh` instead of `go build` directly for consistent builds ## Compact History (Last 5 Entries) ### 2026-04-04 - Configured agent with workflow constraints - Enabled web research tools - Restricted git operations - Documented in adr/0010-agent-configuration-relationship.md ### 2026-04-04 - Added bdd_testing skill (updated to match validated implementation) - Added commit_message skill (Gitmoji validation) - Added skill_creator skill (framework) ### 2026-04-04 - Implemented BDD testing with Godog - Created features/greet.feature and features/health.feature - Added pkg/bdd/ with test server and steps ### 2026-04-04 - Added comprehensive ADR documentation - Created adr/0001-0009 covering all major decisions - Enhanced AGENTS.md with complete project documentation ### 2026-04-04 - Established project structure - Implemented core Greet service - Added Chi router and Zerolog logging - Created CLI and web server interfaces ## Maintenance **Compaction Rule**: Keep only last 5 entries. Older history archived in git. **Archiving**: When compaction needed: ```bash git log --oneline -- CHANGELOG.md > CHANGELOG_archive.md echo "## Compact History (Last 5 Entries)" > CHANGELOG.md # Add last 5 entries from git history git log -5 --pretty=format:"### %ad%n- %s%n" -- CHANGELOG.md >> CHANGELOG.md ``` ## References - **Agent Config**: `/Users/gabrielradureau/Work/Vibe/.mistral/dancelessonscoachprogrammer-agent.toml` - **ADR Pattern**: `/adr/README.md` - **BDD Guide**: `/pkg/bdd/README.md` - **Project Docs**: `/AGENTS.md` - **Mistral Vibe Docs**: https://docs.mistral.ai/mistral-vibe/introduction - **Mistral Vibe GitHub**: https://github.com/mistralai/mistral-vibe