Урок 10

Совет — зная это, вы уже можете командовать

Код структурирован (урок 8), система структурирована (урок 9). Осталось — данные. Данные — самое опасное. Ошибки в коде ловят тесты, ошибки системы — /health. Ошибки данных — никто не замечает. Обнаруживают через 3 месяца в квартальном отчёте.

Агенту: “Не JSONB — создай схему с явными столбцами и ограничениями. amount > 0, status — только допустимые значения.”

Агенту: “Импортируй этот Excel в БД. Ограничения DDL должны соблюдаться. Строки с нарушениями — в отдельный файл с отчётом.”

Агенту: “Измени DDL и пройди yongol validate. Создай миграцию, при провале — откат.”

Вам как человеку без навыков БД достаточно решить “что хранить”. “Телефон должен начинаться с 010”, “email уникален” — эти решения на естественном языке агент переведёт в DDL.


Почему нужно командовать именно так

Данные портятся раньше кода

Ошибка в коде → тест ловит. Ошибка в системе → мониторинг ловит. Ошибка в данных → никто не замечает. Обнаруживают через 3 месяца: “почему выручка отрицательная?”

4 условия Agent Operable Data

1. Схема объявлена — DDL как контракт данных. Типы, ограничения, связи явны. CHECK (amount > 0), status IN (‘pending’,‘confirmed’,‘shipped’) — ИИ не нужно угадывать.

2. Преобразования проверяемы. Правила маппинга декларативны, инварианты до/после проверены.

3. Источник и время отслеживаются. source, created_at, created_by в каждой записи.

4. К изменениям данных применяется храповик. DDL → validate → миграция (up + down) → staging → production (одобрение).

Схема — это закон, который я устанавливаю

Принцип урока 5 “ограничение = контракт” прямо проявляется в данных. БД имеет схему. Схема определяет что валидно. NOT NULL, FOREIGN KEY, CHECK — ограничения, которые невозможно обойти.

Закон — не 正義 (справедливость), а 定義 (определение).

Схема без данных — закон без общества. Данные без схемы — общество без закона.

Один паттерн, разные домены

Урок 8: КодУрок 9: СистемаУрок 10: Данные
Читаемо?filefunc/healthDDL
Проверяемо?go test + tsmaCI/CD + хелсчекОграничения БД + Rego
Обратимо?git revertоткат образаmigration down
Прогресс сохраняется?session.jsonTerraform stateистория миграций

Всё — одна структура: объяви, проверь, зафиксируй, сохрани.


Видение: от “сделай приложение задач” до “сделай SaaS управления заказами”

УрокЧто изучилиРезультат
1Вайб-кодинг“Скажи — получишь код”
2Почему ломаетсяДрифт, потеря контекста, лесть
3Как предотвратитьHurl, Git, CI/CD
4Барьер 200 эндпоинтовyongol — декларативный SSOT
5ИИ на поводьяхReins Engineering: 3 столпа
6Зафиксировать и дальшеRatchet Pattern
7Обратить лестьIFEval — обратная связь → сходимость
8Структурировать кодfilefunc + tsma
9Структурировать систему4 условия Agent Operable System
10Структурировать данныеСхема = закон

Код → Система → Данные. Один принцип во всех трёх доменах.

Объяви, проверь, зафиксируй, сохрани. Решения — человек, реализация и проверка — машина. Не власть человека, а власть закона.

Скажи — получишь. Не только код, но и систему, и данные. Для этого нужны поводья, рельсы и закон. Проектирование этих поводьев, рельсов и закона — это Reins Engineering.


Связанные статьи


Полный курс Reins Engineering

УрокНазвание
Урок 1Как командовать ИИ
Урок 2Как не доверять ИИ
Урок 3Нерушимое приложение
Урок 4Решения — за пределы кода
Урок 5ИИ на поводьях
Урок 6Прошёл — зафиксировал
Урок 7Как обратить лесть
Урок 8Фабрика агентов
Урок 9Автоматизация за пределами кода
Урок 10Закон данных

Источники

  • E.F. Codd, “A Relational Model of Data for Large Shared Data Banks” (1970)
  • OPA / Rego — декларативная валидация бизнес-правил
  • yongol DDL → sqlc — перекрёстная проверка от схемы до типобезопасного кода
  • Принцип верховенства закона (Rule of Law) — проверяемость, определённость нарушения, принудительность