PR #292 · pramaan-io/pramaan-app · merged 2026-06-10
Fresh KB screenshots + copy edits arrived — but CI blocked the merge.
Why a 'chore' carried a generated contract sync
A stale contract can stop a content PR at customs.
The fix — Ship content and contract together — CI gates the cargo.
sequenceDiagram autonumber participant kb as KB content participant contract as API contract participant ci as CI guard kb->>kb: Swap PNGs, edit MDX copy contract->>contract: Pull fresh openapi from pramaan-functions contract->>kb: Regenerate client, hooks, Zod schemas kb->>ci: Push PR with manifest in sync ci-->>kb: Build green, ship