Перейти к основному содержимому

Часть VI. Conformance (набросок)

Этот раздел — карта для будущей нормативной спеки, не сама спека. Полная матрица классов с JSON-Schema приложениями, test fixtures и edge cases появится в docs/spec-v0.1/. Ниже — аксиомы, которых конформная реализация обязана придерживаться на любом уровне.

22. Классы L1–L4

Формат определяет четыре класса конформности, каждый — subset предыдущего. Класс задаёт, что реализация обязана поддерживать, и что она может опустить.

L1 — Minimum. Реализация умеет:

  • парсить онтологию (entities, fields, roles, invariants)
  • парсить namespace намерений (intents с effects)
  • складывать Φ (append-only log)
  • выполнять fold(Φ) → world

L1-реализация может не иметь UI, не иметь кристаллизации, не иметь материализаций. Это — минимальный читатель формата, достаточный для audit-инструментов, миграций, серверной автоматизации без авторских проекций.

L2 — Crystallize. L1 плюс:

  • базовая кристаллизация (crystallize(intents, ontology, projection, [], {}) → artifact)
  • хотя бы один архетип (минимум — detail)
  • assignToSlots без Pattern Bank
  • mergeProjections для авторских override'ов

L2 достаточна для реализаций, которые работают только с machine-interface: agent API, document generation. UI может отсутствовать.

L3 — Four materializations. L2 плюс:

  • Pattern Bank matching (без structure.apply)
  • все четыре материализации (pixel, voice, agent API, document) с единым viewer-scoping
  • минимум два архетипа (обычно catalog и detail)

L3 — достаточный класс для большинства production-реализаций, покрывающий типичные use-case'ы.

L4 — Full. L3 плюс:

  • Pattern Bank с structure.apply (фаза 5 кристаллизации)
  • все шесть видов инвариантов (role-capability, referential, transition, cardinality, aggregate, expression)
  • irreversibility с integrity-правилом в валидаторе
  • темпоральный scheduler (системные намерения schedule_timer/revoke_timer)
  • custom canvas / primitive extension points

L4 — полная референсная реализация. Эталонный класс для экстенсивных доменов (fintech, logistics, ERP), где требуется весь арсенал формата.

Внедрение формата начинается с L1 и может остановиться на L2 или L3 для специфичных задач. Переход L3 → L4 не является обязательным; инструменты, не работающие с темпоральностью или structural patterns, могут оставаться на L3 неограниченно.

23. Инварианты формата

Четыре аксиомы, которые конформная реализация обязана гарантировать:

1. Детерминизм кристаллизации. crystallize(intents, ontology, projection, patternBank, features) — чистая функция. Два вызова с идентичным входом возвращают идентичный артефакт. Никаких скрытых состояний, временны́х зависимостей, LLM-побочных эффектов, обращений к сетевым источникам.

Следствие: артефакт может быть кеширован по content hash входа; регенерация при изменении preference не теряет неизменённые части; тестирование артефактов возможно через equality check.

2. Viewer-scoping — тип данных, не фильтр. viewerWorld = filterWorldForRole(world, viewer, ontology). Это — тип данных для конкретного viewer'а, не постобработочный фильтр render'а. Любая материализация читает viewerWorld, не world. Agent API получает viewerWorld в JSON; pixel-renderer — в memory; voice — в turns; document — в graph-узлах.

Следствие: новая материализация получает безопасность бесплатно. Добавление viewer-сценария не требует пересмотра ACL-политик в каждом читателе.

3. Irreversibility — свойство эффекта, не процесса. Эффект с context.__irr = { point: "high", at: <past ISO> } не может быть отменён через α: "remove" на целевой сущности. α: "replace" (forward correction) разрешён всегда.

Integrity-правило проверяется валидатором при confirm; на нарушении — reject. Это делает irreversibility декларативной: каждый автор намерения решает, какие эффекты irreversible, и формат принуждает движок уважать это решение во всех последующих обращениях.

Прецеденты __irr:"high" в референсной реализации: capture_payment (delivery), confirm_deal (freelance), approve_journal_entry / submit_attestation / amend_attestation / sign_off_cycle_404 / file_amendment (compliance/SOX ICFR — evidence-lock и §302 personal accountability CFO).

4. Audit trail через Φ. Любое изменение мира происходит через confirmed effect в Φ. Мир не редактируется in-place (никаких world[entity][field] = value). Это означает, что история мира полная — каждое изменение имеет свидетеля.

Следствие: rebuild from Φ всегда даёт текущее состояние мира; причинность сохраняется; audit-запросы (кто изменил это поле? когда? каким намерением?) отвечаются запросом к Φ, не требуют отдельной audit-инфраструктуры.

Эти четыре инварианта не обсуждаются. Любая реализация, нарушающая один из них, не является конформной — вне зависимости от класса L1–L4.