IDF / Intent-Driven Frontend / манифест v2 / core 0.9
Открытый формат · 2026

Формат описания приложения.

IDF — не фреймворк и не no-code генератор. Это спецификация формы данных, в одном ряду с OpenAPI и JSON-LD. Адаптеры, рендерер, голосовой слой, агентский API и документ — читатели формата. Каждый превращает один артефакт в свою среду.

ontology сущности · роли · правила intents декларативные частицы projection preference · pattern bank Φ · лог confirmed эффекты artifact чистая функция detеrministic · перегенерируем pixels renderer · adapter voice SSML · plain · turns agent API schema · world · exec document HTML · JSON filterWorldForRole(world, viewer, ontology)
Fig. 1 — Один артефакт, четыре материализации. Все читают тот же viewerWorld.
I.Тезис

Всё остальное — производное.

Приложение в IDF полностью описывается четырьмя сущностями. UI, агентская схема, документ, speech-script — функции над этими четырьмя. Ни одна из функций не содержит скрытого состояния и не требует рантайм-интерпретации LLM.

Артефакт — функция от онтологии, намерений и проекции. UI — функция от артефакта. Всё вычислимо, всё воспроизводимо. Никакого рантайм-LLM. — Манифест v2, часть III
II.Объекты формата

Четыре объекта. Больше ничего.

Онтология описывает домен. Намерения — декларативные частицы изменения. Проекции — авторский контракт. Φ — лог confirmed-эффектов, единственный источник истины.

Ontology
§8 манифеста

Типизированные сущности с read/write matrix, роли (5 баз: owner · viewer · agent · observer · admin), инварианты, правила реактивной автоматизации.

Intents
§6

Не функция и не handler — запись формата: ownerRole, requiredFields, conditions, effects. Эмиттятся в Φ через generic effect handler.

Projections
§9

Какие намерения образуют один экран, диалог, страницу. Preference поверх Pattern Bank — вход кристаллизации, не snapshot.

ΦPhi · лог
§4

Упорядоченная последовательность confirmed-эффектов. Мир не хранится — вычисляется как fold(Φ). Audit trail бесплатный.

III.Счёт

Объём референсной реализации.

Один движок, девять наборов определений. 9 доменов × 1 ontology × 0 runtime LLM. Живой implementation status.

9
доменов
585
намерений
1 123
теста
4
материализации
4
UI-адаптера
IV.Четыре читателя

Один артефакт. Четыре среды.

Pixels, voice, agent API, document — архитектурно равноправны. Все читают один viewerWorld = filterWorldForRole(world, viewer, ontology). Безопасность — свойство формата, а не рендера.

МатериализацияКонтрактEndpoint / API
01Pixels

Renderer + adapter + Token Bridge. 4 UI-адаптера: Mantine, shadcn (doodle), Apple visionOS-glass, AntD. Capability surface для graceful fallback.

ProjectionRendererV2
02Voice

Speech-script из turns (system · assistant · prompts). Brevity: top-3 для catalog, money читается «два с половиной миллиона рублей».

/api/voice/:domain/:projection
03Agent API

JSON-schema намерений, viewer-scoped world snapshot, exec endpoint. Preapproval guard с 5 предикатами: active · notExpired · maxAmount · csvInclude · dailySum.

/api/agent/:domain/{schema, world, exec}
04Document

Structured document-граф: sections · tables · fields · badges. HTML для печати и чтения, JSON для индексации и архивов.

/api/document/:domain/:projection
# 1. agent schema — что роль может сделать
curl /api/agent/invest/schema?as=advisor

# 2. speech-script для голосового ассистента
curl /api/voice/reflect/home?format=ssml

# 3. документ-граф для отчёта
curl /api/document/invest/portfolio?format=html
      
V.Алгебра формата

Две формулы. Остальное — следствия.

Мир — свёртка лога. Артефакт — чистая функция от входа. Эти две формулы задают всю алгебру формата: fold, filterWorldForRole, crystallize. Тот же вход — тот же выход, всегда.

// мир — не хранимое состояние, а свёртка эффектов
world       = fold(Φ_confirmed)

// каждый читатель получает свой срез мира по роли
viewerWorld = filterWorldForRole(world, viewer, ontology)

// артефакт — чистая функция, перегенерируем из тех же входов
artifact    = crystallize(intents, ontology, projection, patterns, features)
      

Детерминизм обязателен: два вызова с идентичным входом возвращают идентичный артефакт. Это делает артефакт кешируемым по content hash, сравнимым diff'ом и проверяемым через equality.

VI.LLM в формате

Уместен в авторстве. Исключён из рантайма.

Ни одно решение, влияющее на состояние мира или рендер, не зависит от непредсказуемого провайдера. Детерминизм формата не соседствует с LLM — он его исключает.

Design-time — уместен
  • Вывод онтологии из описания доменаDraft сущностей, полей, ролей, начальных намерений — автор подтверждает или отвергает.
  • Crystallize enrichment — labels, iconHintsWitness с reliability «heuristic»; требует подтверждения.
  • Pattern suggestionCandidate-паттерны из живых приложений; promotion в stable через falsification-fixtures.
Runtime — исключён
  • Рендер артефакта в DOMPure functions. Zero LLM calls.
  • Валидация и применение намеренийИнварианты проверяются декларативно.
  • Voice / document / agent APIЧистые функции над артефактом.
  • Anchoring witness'овПромоция требует доказательства, не LLM-подтверждения.
VII.Зоны силы

Девять доменов валидации.

Каждый домен толкает формат в новую форму задачи: транзакционную, коммуникационную, аналитическую. Все — из одной онтологии через один кристаллизатор.

intentsДоменХарактер
225Sales

Аукционная барахолка. 11 сущностей, 4 роли, полный lifecycle заказа. Чисто-кристаллизационный — без ManualUI.

100Messenger

Real-time чат. WebSocket, WebRTC, threads, реакции.

58Invest

AntD enterprise-fintech. 4 роли, 7 правил Rules Engine, 3 внешних ML-сервиса, все 4 v1.5 extensions в одном домене.

56LifeQuest

Цели + привычки. Shadcn-doodle, mobile-first, 6 custom canvas.

47Reflect

Дневник эмоций по Yale RULER. Apple visionOS-glass, 6 analytical canvas.

45Delivery

Food last-mile. 5 ролей, map-primitive, temporal scheduler, irreversible capture_payment.

22Booking

Service booking. Темпоральные предикаты, первое применение scheduler'а.

17Planning

Коллективные опросы. Кворум, фазы, phase-aware CTA.

15Workflow

Визуальный редактор процессов. React Flow canvas, топологический executor.

VIII.Как начать

Три входа по возрастанию глубины.

Быстрый путь — прочитать 5 слайдов онбординга. Средний — манифест v2 (timeless-документ формата). Глубокий — установить SDK и сгенерировать свой домен через CLI.

15 минОнбординг

Пять слайдов с диаграммами и кодом — базовые идеи формата за один присест. Стрелки / пробел / клик по точкам для навигации.

./onboarding.html →
1 часМанифест v2

26 глав в 8 частях: тезис, объекты формата, алгебра, четыре читателя, авторство, conformance, границы, перспектива.

docs/manifesto-v2.md →
1 деньСвой домен

CLI ведёт 5-шаговый LLM-диалог (Claude haiku/sonnet/opus) и генерирует каталог домена с ontology, intents, projections.

npx @intent-driven/cli init <name>
живоеImpl status

Что реализовано и валидировано на практике. Обновляется вместе с кодом; манифест остаётся timeless.

implementation-status.md →