File size: 1,722 Bytes
9e64e71 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Learnings
This directory is the system-of-record for durable learnings extracted from completed work.
## Policy
- Prefer merging/deduping into existing bullets over adding new near-duplicates.
- Keep each category within the configured bullet budget (default: 30 per category).
- Each learning bullet should end with a source suffix: `*(F024)*` for internally-derived learnings, or `*(Author, Source Year)*` for externally-sourced insights.
- Archive overflow in `docs/learnings/archived/` rather than growing unbounded.
- Use one-line bullets only, starting with `- `.
## Categories
| Category | File | Scope |
|----------|------|-------|
| Architecture | [architecture.md](architecture.md) | System structure, patterns, boundaries |
| Conventions | [conventions.md](conventions.md) | Naming, file organization, code style |
| Workflow | [workflow.md](workflow.md) | Process, automation, verification |
| Integrations | [integrations.md](integrations.md) | APIs, libraries, external systems |
| Gotchas | [gotchas.md](gotchas.md) | Non-obvious behaviors, edge cases |
| Security | [security.md](security.md) | Threats, hardening, secrets |
| Testing | [testing.md](testing.md) | Test patterns, fixtures, mocking |
## Archive
Learnings that are stale or superseded move to [archived/README.md](archived/README.md).
## Adding Learnings
The `compound-engineer` agent updates these files after completed features. To add learnings manually:
1. Find the appropriate category file
2. Add a one-line bullet starting with `- `
3. End with a source: `*(F001)*` for feature-derived learnings, or `*(Author, Source Year)*` for external insights
4. If category is at budget, merge related learnings or archive stale ones
|