invalid_orders = 5
Показывает масштаб и динамику, оставляя состав пяти объектов за пределами сигнала.
Business invariants · production data
Исполняемый контракт между кодом продукта и его реальным состоянием в production.
Разработчик поставляет функцию вместе с правилом, которое доказывает: после релиза данные остаются непротиворечивыми.
Контракт продукта
AI ускоряет написание кода и делает ошибку на этапе разработки дешевле. Но дефект, который дошел до production data, остается дорогим. Consistique переносит проверочный код туда, где проявляется реальное бизнес-состояние.
Код изменяет бизнес-процесс, данные или интеграционный контракт.
Разработчик формулирует состояние, которое после изменения невозможно.
Read-only правило проверяет текущее состояние реальных данных.
Движок сравнивает конкретные нарушения с предыдущим успешным запуском.
Другая единица наблюдения
Метрика агрегирует поток. Инвариант возвращает конкретные бизнес-объекты, нарушающие правило, и сохраняет историю каждого нарушения.
invalid_orders = 5
Показывает масштаб и динамику, оставляя состав пяти объектов за пределами сигнала.
{order-17, order-42, order-91, order-108, order-205}
Показывает состав, первое появление, возврат и устранение каждого нарушения.
State Reconciliation Engine
Результат SQL нормализуется в fingerprints. Каждый успешный запуск согласует наблюдаемое множество с сохраненным состоянием.
I1–I3 становятся исходным наблюдаемым множеством без массового NEW.
Они видны только внутри выбранного Activity window.
Новые нарушения после accept начинают собственный lifecycle.
Нарушение найдено, но находится внутри grace period.
Противоречие пережило grace и требует внимания.
Текущий backlog принят вручную и остается наблюдаемым.
Fingerprint отсутствует в успешном результате.
История сохранена после retention period.
candidate · active · accepted · resolved · archived
OK · SUSPECTED · BROKEN · ACCEPTED · ERROR
BROKEN · SUSPECTED · ACCEPTED · ERROR · STALE по выбранному environment.
first_seen_at — момент обнаружения. Доменное время показывается как evidence, только если его достоверно вернуло само правило.
Timeout, сеть или ошибка SQL означают отсутствие нового достоверного наблюдения.
Invariant as code
Definition source связывает проверку с репозиторием разработки. Изменение можно проверить, отрецензировать и продвинуть по окружениям.
/* consistique
title = "Оплаченный заказ не может оставаться pending"
domain = "Orders"
source = "OrdersDb"
publishing = "manual"
grace_period = "10m"
evaluation_scope = "full"
batch_size = 1000
*/
-- @count
select count(*)::bigint as violation_count
from orders
where payment_state = 'paid'
and fulfillment_state = 'pending';
-- @items
select
id::text as fingerprint,
id as order_id,
paid_at,
fulfillment_state
from orders
where payment_state = 'paid'
and fulfillment_state = 'pending'
order by id;
Скользящие временные окна не подменяют текущее observed set.
Расхождение count.sql и items.sql завершает run со статусом ERROR.
ORDER BY сохраняется при batch extraction и формировании evidence samples.
Lifecycle меняется только после успешного чтения всего результата.
Accepted переносится только для совпавших fingerprints предыдущей generation. Новые identities проходят обычный lifecycle.
Technical architecture
Решение о нарушении принимает SQL или rule-код. Модель создает, проверяет и исследует правило. Детерминированный runner фиксирует результат.
Read-only connections, связанные с logical source.
Count, batched items, timeout и retry policy.
Runs, snapshots, fingerprints и lifecycle events.
Доказательства и управление catalog.
Каждый deployment запускает конкретный snapshot определения.
Одно definition работает через собственный source binding каждого окружения.
Accept, promote, publish и disable остаются явными действиями.
MCP возвращает модели ограниченные данные без credentials.
Readonly environment Self-consistency сверяет deployments, run pointers, leases, accepted backlog и проекцию lifecycle state.
Product boundaries
Он доказывает непротиворечивость бизнес-данных и ведет историю конкретных нарушений.
Модель формулирует и исследует. Детерминированный движок проверяет и фиксирует.
prompt → draft → validate → dry run → review → publish
Where it matters
Локально корректные данные могут противоречить бизнес-смыслу процесса в целом.
Оплата подтверждена, а исполнение не продвинулось.
Право выдано без основания или осталось после его окончания.
Исполнитель не принадлежит допустимой бизнес-группе.
Локальная модель расходится с фактом в системе-владельце.
Источник завершил операцию, а downstream остался незавершенным.
Короткая формула