Skip to content

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.