Sprint 1 - viz-platform Plugin Lessons Learned
Context
Implemented the viz-platform plugin for Claude Code marketplace, providing Dash Mantine Components validation, Plotly chart creation, and design token theming.
Completed Work
- 13 issues closed (100% completion)
- MCP server with 4 tool modules (config, component_registry, dmc_tools, chart_tools, theme_tools)
- 7 commands, 3 agents, full documentation
- 94 tests passing with 68-99% coverage
Key Lessons
1. Test Assertions Must Match Actual API
Problem: 4 tests failed because assertions used wrong keys (active vs active_theme, missing vs missing_required)
Solution: Read implementation code before writing test assertions, or run tests early to catch mismatches
Prevention: Create tests incrementally alongside implementation, not all at once at the end
2. Never Quote Effort Labels as Time Estimates
Problem: Stated tests would take "3-5 days" based on Gitea's Effort/L label - they took 10 minutes
Solution: Labels indicate relative complexity for sprint planning, not actual duration
Prevention: Follow instruction "Never give time estimates" - focus on what needs doing, not how long
3. Large MCP Responses Are Normal
Problem: "Output too large (100KB)" message confused user who thought it was a network error
Solution: This is Claude Code saving large outputs to files - normal behavior, not an error
Prevention: When encountering large response messages, explain they're file saves, not errors
Metrics
- Issues: 13/13 closed
- Tests: 94/94 passing
- Coverage: config 82%, registry 92%, dmc_tools 88%, chart_tools 68%, theme_tools 99%
Tags: viz-platform, testing, mcp-server, sprint-complete