How to search, apply, and create lessons in the .compass/ vault — catalog structure, search algorithm, creation criteria, and catalog update protocol
Lessons capture hard-won knowledge that prevents the same mistake from being made twice.
Per Reinertsen (The Principles of Product Development Flow), product development generates two distinct types of knowledge:
category: process): Knowledge about how to build — methods, tools, techniques, workflow. Example: "Mocking the DB in integration tests hides migration bugs."category: domain): Knowledge about what to build — the product, users, requirements, the problem space. Example: "Users need batch export, not single-file export."Both types are equally valuable but serve different purposes. Process lessons improve how agents work. Domain lessons improve what agents build.
The lessons catalog lives at .compass/meta/lessons-catalog.yaml. It provides O(1) tag lookup instead of O(n) grep across all lesson files.
# meta/lessons-catalog.yaml