- New skills: clawddocs, claude-code-usage, summarize, homeassistant, humanizer, self-improving-agent - Add .learnings/ for self-improvement tracking - Document proaktive cron config (LRN-20260126-001) - Update USER.md: Löchgau as former residence - Update TOOLS.md: Peekaboo workaround - Memory files for 2026-01-25 and 2026-01-26
375 lines
8.1 KiB
Markdown
375 lines
8.1 KiB
Markdown
# Entry Examples
|
|
|
|
Concrete examples of well-formatted entries with all fields.
|
|
|
|
## Learning: Correction
|
|
|
|
```markdown
|
|
## [LRN-20250115-001] correction
|
|
|
|
**Logged**: 2025-01-15T10:30:00Z
|
|
**Priority**: high
|
|
**Status**: pending
|
|
**Area**: tests
|
|
|
|
### Summary
|
|
Incorrectly assumed pytest fixtures are scoped to function by default
|
|
|
|
### Details
|
|
When writing test fixtures, I assumed all fixtures were function-scoped.
|
|
User corrected that while function scope is the default, the codebase
|
|
convention uses module-scoped fixtures for database connections to
|
|
improve test performance.
|
|
|
|
### Suggested Action
|
|
When creating fixtures that involve expensive setup (DB, network),
|
|
check existing fixtures for scope patterns before defaulting to function scope.
|
|
|
|
### Metadata
|
|
- Source: user_feedback
|
|
- Related Files: tests/conftest.py
|
|
- Tags: pytest, testing, fixtures
|
|
|
|
---
|
|
```
|
|
|
|
## Learning: Knowledge Gap (Resolved)
|
|
|
|
```markdown
|
|
## [LRN-20250115-002] knowledge_gap
|
|
|
|
**Logged**: 2025-01-15T14:22:00Z
|
|
**Priority**: medium
|
|
**Status**: resolved
|
|
**Area**: config
|
|
|
|
### Summary
|
|
Project uses pnpm not npm for package management
|
|
|
|
### Details
|
|
Attempted to run `npm install` but project uses pnpm workspaces.
|
|
Lock file is `pnpm-lock.yaml`, not `package-lock.json`.
|
|
|
|
### Suggested Action
|
|
Check for `pnpm-lock.yaml` or `pnpm-workspace.yaml` before assuming npm.
|
|
Use `pnpm install` for this project.
|
|
|
|
### Metadata
|
|
- Source: error
|
|
- Related Files: pnpm-lock.yaml, pnpm-workspace.yaml
|
|
- Tags: package-manager, pnpm, setup
|
|
|
|
### Resolution
|
|
- **Resolved**: 2025-01-15T14:30:00Z
|
|
- **Commit/PR**: N/A - knowledge update
|
|
- **Notes**: Added to CLAUDE.md for future reference
|
|
|
|
---
|
|
```
|
|
|
|
## Learning: Promoted to CLAUDE.md
|
|
|
|
```markdown
|
|
## [LRN-20250115-003] best_practice
|
|
|
|
**Logged**: 2025-01-15T16:00:00Z
|
|
**Priority**: high
|
|
**Status**: promoted
|
|
**Promoted**: CLAUDE.md
|
|
**Area**: backend
|
|
|
|
### Summary
|
|
API responses must include correlation ID from request headers
|
|
|
|
### Details
|
|
All API responses should echo back the X-Correlation-ID header from
|
|
the request. This is required for distributed tracing. Responses
|
|
without this header break the observability pipeline.
|
|
|
|
### Suggested Action
|
|
Always include correlation ID passthrough in API handlers.
|
|
|
|
### Metadata
|
|
- Source: user_feedback
|
|
- Related Files: src/middleware/correlation.ts
|
|
- Tags: api, observability, tracing
|
|
|
|
---
|
|
```
|
|
|
|
## Learning: Promoted to AGENTS.md
|
|
|
|
```markdown
|
|
## [LRN-20250116-001] best_practice
|
|
|
|
**Logged**: 2025-01-16T09:00:00Z
|
|
**Priority**: high
|
|
**Status**: promoted
|
|
**Promoted**: AGENTS.md
|
|
**Area**: backend
|
|
|
|
### Summary
|
|
Must regenerate API client after OpenAPI spec changes
|
|
|
|
### Details
|
|
When modifying API endpoints, the TypeScript client must be regenerated.
|
|
Forgetting this causes type mismatches that only appear at runtime.
|
|
The generate script also runs validation.
|
|
|
|
### Suggested Action
|
|
Add to agent workflow: after any API changes, run `pnpm run generate:api`.
|
|
|
|
### Metadata
|
|
- Source: error
|
|
- Related Files: openapi.yaml, src/client/api.ts
|
|
- Tags: api, codegen, typescript
|
|
|
|
---
|
|
```
|
|
|
|
## Error Entry
|
|
|
|
```markdown
|
|
## [ERR-20250115-A3F] docker_build
|
|
|
|
**Logged**: 2025-01-15T09:15:00Z
|
|
**Priority**: high
|
|
**Status**: pending
|
|
**Area**: infra
|
|
|
|
### Summary
|
|
Docker build fails on M1 Mac due to platform mismatch
|
|
|
|
### Error
|
|
```
|
|
error: failed to solve: python:3.11-slim: no match for platform linux/arm64
|
|
```
|
|
|
|
### Context
|
|
- Command: `docker build -t myapp .`
|
|
- Dockerfile uses `FROM python:3.11-slim`
|
|
- Running on Apple Silicon (M1/M2)
|
|
|
|
### Suggested Fix
|
|
Add platform flag: `docker build --platform linux/amd64 -t myapp .`
|
|
Or update Dockerfile: `FROM --platform=linux/amd64 python:3.11-slim`
|
|
|
|
### Metadata
|
|
- Reproducible: yes
|
|
- Related Files: Dockerfile
|
|
|
|
---
|
|
```
|
|
|
|
## Error Entry: Recurring Issue
|
|
|
|
```markdown
|
|
## [ERR-20250120-B2C] api_timeout
|
|
|
|
**Logged**: 2025-01-20T11:30:00Z
|
|
**Priority**: critical
|
|
**Status**: pending
|
|
**Area**: backend
|
|
|
|
### Summary
|
|
Third-party payment API timeout during checkout
|
|
|
|
### Error
|
|
```
|
|
TimeoutError: Request to payments.example.com timed out after 30000ms
|
|
```
|
|
|
|
### Context
|
|
- Command: POST /api/checkout
|
|
- Timeout set to 30s
|
|
- Occurs during peak hours (lunch, evening)
|
|
|
|
### Suggested Fix
|
|
Implement retry with exponential backoff. Consider circuit breaker pattern.
|
|
|
|
### Metadata
|
|
- Reproducible: yes (during peak hours)
|
|
- Related Files: src/services/payment.ts
|
|
- See Also: ERR-20250115-X1Y, ERR-20250118-Z3W
|
|
|
|
---
|
|
```
|
|
|
|
## Feature Request
|
|
|
|
```markdown
|
|
## [FEAT-20250115-001] export_to_csv
|
|
|
|
**Logged**: 2025-01-15T16:45:00Z
|
|
**Priority**: medium
|
|
**Status**: pending
|
|
**Area**: backend
|
|
|
|
### Requested Capability
|
|
Export analysis results to CSV format
|
|
|
|
### User Context
|
|
User runs weekly reports and needs to share results with non-technical
|
|
stakeholders in Excel. Currently copies output manually.
|
|
|
|
### Complexity Estimate
|
|
simple
|
|
|
|
### Suggested Implementation
|
|
Add `--output csv` flag to the analyze command. Use standard csv module.
|
|
Could extend existing `--output json` pattern.
|
|
|
|
### Metadata
|
|
- Frequency: recurring
|
|
- Related Features: analyze command, json output
|
|
|
|
---
|
|
```
|
|
|
|
## Feature Request: Resolved
|
|
|
|
```markdown
|
|
## [FEAT-20250110-002] dark_mode
|
|
|
|
**Logged**: 2025-01-10T14:00:00Z
|
|
**Priority**: low
|
|
**Status**: resolved
|
|
**Area**: frontend
|
|
|
|
### Requested Capability
|
|
Dark mode support for the dashboard
|
|
|
|
### User Context
|
|
User works late hours and finds the bright interface straining.
|
|
Several other users have mentioned this informally.
|
|
|
|
### Complexity Estimate
|
|
medium
|
|
|
|
### Suggested Implementation
|
|
Use CSS variables for colors. Add toggle in user settings.
|
|
Consider system preference detection.
|
|
|
|
### Metadata
|
|
- Frequency: recurring
|
|
- Related Features: user settings, theme system
|
|
|
|
### Resolution
|
|
- **Resolved**: 2025-01-18T16:00:00Z
|
|
- **Commit/PR**: #142
|
|
- **Notes**: Implemented with system preference detection and manual toggle
|
|
|
|
---
|
|
```
|
|
|
|
## Learning: Promoted to Skill
|
|
|
|
```markdown
|
|
## [LRN-20250118-001] best_practice
|
|
|
|
**Logged**: 2025-01-18T11:00:00Z
|
|
**Priority**: high
|
|
**Status**: promoted_to_skill
|
|
**Skill-Path**: skills/docker-m1-fixes
|
|
**Area**: infra
|
|
|
|
### Summary
|
|
Docker build fails on Apple Silicon due to platform mismatch
|
|
|
|
### Details
|
|
When building Docker images on M1/M2 Macs, the build fails because
|
|
the base image doesn't have an ARM64 variant. This is a common issue
|
|
that affects many developers.
|
|
|
|
### Suggested Action
|
|
Add `--platform linux/amd64` to docker build command, or use
|
|
`FROM --platform=linux/amd64` in Dockerfile.
|
|
|
|
### Metadata
|
|
- Source: error
|
|
- Related Files: Dockerfile
|
|
- Tags: docker, arm64, m1, apple-silicon
|
|
- See Also: ERR-20250115-A3F, ERR-20250117-B2D
|
|
|
|
---
|
|
```
|
|
|
|
## Extracted Skill Example
|
|
|
|
When the above learning is extracted as a skill, it becomes:
|
|
|
|
**File**: `skills/docker-m1-fixes/SKILL.md`
|
|
|
|
```markdown
|
|
---
|
|
name: docker-m1-fixes
|
|
description: "Fixes Docker build failures on Apple Silicon (M1/M2). Use when docker build fails with platform mismatch errors."
|
|
---
|
|
|
|
# Docker M1 Fixes
|
|
|
|
Solutions for Docker build issues on Apple Silicon Macs.
|
|
|
|
## Quick Reference
|
|
|
|
| Error | Fix |
|
|
|-------|-----|
|
|
| `no match for platform linux/arm64` | Add `--platform linux/amd64` to build |
|
|
| Image runs but crashes | Use emulation or find ARM-compatible base |
|
|
|
|
## The Problem
|
|
|
|
Many Docker base images don't have ARM64 variants. When building on
|
|
Apple Silicon (M1/M2/M3), Docker attempts to pull ARM64 images by
|
|
default, causing platform mismatch errors.
|
|
|
|
## Solutions
|
|
|
|
### Option 1: Build Flag (Recommended)
|
|
|
|
Add platform flag to your build command:
|
|
|
|
\`\`\`bash
|
|
docker build --platform linux/amd64 -t myapp .
|
|
\`\`\`
|
|
|
|
### Option 2: Dockerfile Modification
|
|
|
|
Specify platform in the FROM instruction:
|
|
|
|
\`\`\`dockerfile
|
|
FROM --platform=linux/amd64 python:3.11-slim
|
|
\`\`\`
|
|
|
|
### Option 3: Docker Compose
|
|
|
|
Add platform to your service:
|
|
|
|
\`\`\`yaml
|
|
services:
|
|
app:
|
|
platform: linux/amd64
|
|
build: .
|
|
\`\`\`
|
|
|
|
## Trade-offs
|
|
|
|
| Approach | Pros | Cons |
|
|
|----------|------|------|
|
|
| Build flag | No file changes | Must remember flag |
|
|
| Dockerfile | Explicit, versioned | Affects all builds |
|
|
| Compose | Convenient for dev | Requires compose |
|
|
|
|
## Performance Note
|
|
|
|
Running AMD64 images on ARM64 uses Rosetta 2 emulation. This works
|
|
for development but may be slower. For production, find ARM-native
|
|
alternatives when possible.
|
|
|
|
## Source
|
|
|
|
- Learning ID: LRN-20250118-001
|
|
- Category: best_practice
|
|
- Extraction Date: 2025-01-18
|
|
```
|