Files
dance-lessons-coach/AGENT_CHANGELOG.md
Gabriel Radureau 737e95f65f 📝 docs: rename agent changelog for clarity
- Rename CHANGELOG.md to AGENT_CHANGELOG.md
- Better reflects purpose as agent contribution tracker
- Distinguishes from software changelog files
- Update all references in ADR and documentation
- Maintain consistency with AGENTS.md naming

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-05 00:50:33 +02:00

175 lines
6.1 KiB
Markdown

# DanceLessonsCoach Agent Improvement Log
This file tracks the agent's contributions and decisions. Kept compact and iterative.
## Current Focus (2026-04-05)
### 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
### Latest Commit (2026-04-05)
**Commit:** `b279a31`
**Message:** `✨ feat: implement OpenAPI/Swagger documentation with swaggo/swag`
**Changes:**
- Added comprehensive API documentation using swaggo/swag
- Embedded OpenAPI spec in binary using go:embed
- Added Swagger UI at /swagger/
- Documented all endpoints, models, and validation rules
- Added go:generate directive for easy regeneration
- Updated README, AGENTS, AGENT_CHANGELOG with documentation
- Finalized ADR 0013 with implementation details
- Gitignored generated docs directory
**Files Changed:** 12 files, 371 insertions(+), 38 deletions(-)
**Status:** ✅ Pushed to main branch
## 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 AGENT_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 AGENT_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 <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](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 -- AGENT_CHANGELOG.md > AGENT_CHANGELOG_archive.md
echo "## Compact History (Last 5 Entries)" > AGENT_CHANGELOG.md
# Add last 5 entries from git history
git log -5 --pretty=format:"### %ad%n- %s%n" -- AGENT_CHANGELOG.md >> AGENT_CHANGELOG.md
```
## 2026-04-05 - OpenAPI Documentation Implementation
### ✅ Completed
- **OpenAPI/Swagger Integration**: Added comprehensive API documentation using swaggo/swag
- **Embedded Documentation**: OpenAPI spec embedded in binary using `//go:embed` directive
- **Interactive Swagger UI**: Available at `/swagger/` with try-it-out functionality
- **Code Generation**: Added `//go:generate` directive for easy documentation regeneration
- **Clean Structure**: Documentation in `pkg/server/docs/` (gitignored)
### 📝 Changes
- `cmd/server/main.go`: Added swagger metadata annotations
- `pkg/greet/api_v1.go`: Documented v1 endpoints and models
- `pkg/greet/api_v2.go`: Documented v2 endpoint
- `pkg/server/server.go`: Added embed directive and swagger routes
- `.gitignore`: Added `pkg/server/docs/`
- `go.mod/go.sum`: Added swaggo dependencies
### 🔧 Workflow
```bash
# Generate documentation
go generate ./pkg/server/
# Access documentation
# Swagger UI: http://localhost:8080/swagger/
# OpenAPI spec: http://localhost:8080/swagger/doc.json
```
### 📚 Documentation
- All API endpoints documented with summaries, descriptions, parameters
- Request/response models with examples
- Validation rules and error responses
- Tags for logical grouping
## 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