Some checks failed
CI / lint-and-test (push) Has been cancelled
- Enable contact form fields with component IDs - Add callback for Formspree POST with JSON/AJAX - Include honeypot spam protection (_gotcha field) - Handle validation, loading, success/error states - Clear form on successful submission - Add lessons learned documentation Closes #92, #93, #94 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
Project Lessons Learned
This folder contains lessons learned from sprints and development work. These lessons help prevent repeating mistakes and capture valuable insights.
Note: This is a temporary local backup while Wiki.js integration is being configured. Once Wiki.js is ready, lessons will be migrated there for better searchability.
Lessons Index
| Date | Sprint/Phase | Title | Tags |
|---|---|---|---|
| 2026-02-01 | Sprint 10 | Formspree Integration with Dash Callbacks | formspree, dash, callbacks, forms, spam-protection, honeypot, ajax |
| 2026-01-17 | Sprint 9 | Gitea Labels API Requires Org Context | gitea, mcp, api, labels, projman, configuration |
| 2026-01-17 | Sprint 9 | Always Read CLAUDE.md Before Asking Questions | projman, claude-code, context, documentation, workflow |
| 2026-01-17 | Sprint 9-10 | Graceful Error Handling in Service Layers | python, postgresql, error-handling, dash, graceful-degradation, arm64 |
| 2026-01-17 | Sprint 9-10 | Modular Callback Structure | dash, callbacks, architecture, python, code-organization |
| 2026-01-17 | Sprint 9-10 | Figure Factory Pattern | plotly, dash, design-patterns, python, visualization |
| 2026-01-16 | Phase 4 | dbt Test Syntax Deprecation | dbt, testing, yaml, deprecation |
How to Use
When Starting a Sprint
- Review relevant lessons in this folder before implementation
- Search by tags or keywords to find applicable insights
- Apply prevention strategies from past lessons
When Closing a Sprint
- Document any significant lessons learned
- Use the template below
- Add entry to the index table above
Lesson Template
# [Sprint/Phase] - [Lesson Title]
## Context
[What were you trying to do?]
## Problem
[What went wrong or what insight emerged?]
## Solution
[How did you solve it?]
## Prevention
[How can this be avoided in future sprints?]
## Tags
[Comma-separated tags for search]