## Что это
PR #329 не проходит smoke contract: расхождение в shape экспортируемых артефактов, mismatch named-bin entries, изменение test fixtures. Closed by per-blocker fix + contract update.
## Зачем
Контракты CI smoke — это «spec for tests». Когда они расходятся с реальностью, тесты теряют смысл. Reconcile делает gate действительно gating.
## Источники вдохновения
- [openclaw/clawsweeper](https://github.com/openclaw/clawsweeper) — contract testing
- [hegelai/prompttools](https://github.co
## 🔗 Linear
- [PZD-104](https://linear.app/kuhjie/issue/PZD-104) (match confidence: 0.59)