---
{
  "n": 18,
  "title": "Provider-specific code belongs in providers, never features",
  "abstract": "",
  "refs": [],
  "seen": [
    "agent",
    "user"
  ],
  "data": {},
  "created": 1789827678.317157,
  "updated": 1790167450.316409,
  "deleted": 0.0,
  "completed": 0.0,
  "outcome": "",
  "type": "rule"
}
---
Provider transcript schemas, hook payload quirks, CLI protocol details and provider-specific extraction belong behind the Provider interface in providers/. Features may consume provider-neutral results and decide journal behavior, but must not branch on Claude or Codex or parse their native records. This prevents duplicated parsers, such as the Codex parser that once lived in the usage feature.
