ADR-0002: Engines vs products¶
- Status: Accepted
- Date: 2026-07-25
- Deciders: El
Context¶
Supporting many industries without forking requires separating the stable core from what varies.
Decision¶
Capture, Progress, Bill, and Remember are shared, industry-neutral engines (machinery). Products are switch-on patterns that activate engines via config. Engines are never built for a single product or client. Each engine exposes capabilities (e.g. Capture: classify, extract) that products activate as needed.
Consequences¶
One codebase serves all industries; new products are config, not new engines; requires discipline to resist minting a new engine per domain.
Alternatives considered¶
- Per-product or per-industry engines — rejected: leads to forking.