Content Factory

Операционная система контента: продукт разбирается в деле заказчика и решает, какой материал должен существовать, — а потом производит его так, чтобы под каждым фактом стоял источник. Эта страница собрана для изучения: структура, логика и интерфейс.

Как читать. Числа ниже — замеры, а не оценки. Где свойство не проверено, так и написано. Страница описывает состояние на 24.09.2026.

Чем продукт является и чем не является

Модель и сторонние движки создают содержимое. Content Factory решает, какое содержимое должно существовать: что создавать, для кого, зачем, почему сейчас, в каком формате, в какой канал, на каких доказательствах.

Не фабрика статей. Не генератор SEO-текстов. Не «писатель + фактчек». Не планировщик соцсетей. Не CMS.

Из чего собран

82файла ядра на Python

Конвейер производства, ворота качества, доказательная политика. Работает и без веба — из командной строки.

70файлов службы на TypeScript

NestJS: проекты, знание, темы, прогоны, каналы, права, учёт расхода.

82файла интерфейса

Next.js, 18 экранов. Серверные компоненты, действия формы.

63миграции, 56 таблиц

PostgreSQL с принудительной изоляцией строк по организациям (RLS).

Три слоя и граница между ними

Ядро ничего не знает о вебе, организациях и оплате: оно принимает задание и отдаёт материал с доказательствами. Служба ничего не знает о том, как устроен конвейер: она вызывает ядро как чёрный ящик и отвечает за права, учёт и хранение. Интерфейс не обращается к базе — только к службе.

Знание проекта живёт в пакете проекта, а не в ядре. Поддерживаемые виды дела определяются данными, а не ветвлением в коде: B2C, B2B, SaaS, местные услуги, экспертные бренды.

Логика производства: 14 стадий

Тема проходит стадии по порядку. Каждая пишет свой результат на диск, и прогон можно продолжить с сохранённого места — работа не теряется.

  1. opportunity — стоит ли браться за тему
  2. research_plan — что нужно выяснить
  3. knowledge_gaps — чего не хватает в знании дела
  4. research — сбор источников
  5. claims — реестр утверждений
  6. sufficiency — хватает ли доказательств
  7. value — что нового читателю
  8. brief — задание на текст
  9. draft — черновик
  10. factcheck — проверка фактов
  11. edit — редактура
  12. seo — сборка текста
  13. critic — независимая проверка
  14. architect — архитектурный обзор

Ворота качества: 30

Ворота — это проверки, которые останавливают материал, а не советы. Материал не доходит до читателя, если хоть одни не пройдены.

schema_validationstate_historyclaims_have_sourcessource_ids_existcritical_claims_verifiedsource_class_policyfirst_party_provenanceno_fixture_sources_in_livesources_verifiedresearch_relevanceresearch_sufficiencyvalue_writepromise_semantically_authorizedfirst_party_gaps_closedopportunity_knowledgeknowledge_gaps_closedwriter_requires_briefunique_valuepublication_hygiene_earlyreader_facing_textclaim_authorizationpromise_supportpromise_unchangedpromise_claims_supportunsupported_numbersforbidden_lexiconfinal_requires_factcheckqa_pass_requiredarchitect_pass_requiredpublish_requires_approval

Главное правило доказательности. Утверждение о самом проекте доказывается его собственными данными; утверждение о мире — внешним источником. Умолчание строгое: не объявив субъекта, утверждение считается сказанным о проекте. Книга по маркетингу никогда не является доказательством факта о деле заказчика.

Что измерено на живых прогонах

СвойствоЗамер
Объём материала2600–4200 знаков, реестр утверждений с источником под каждым фактом
Время одного прогона15–25 минут
Стоимость удачного прогона2,8–4,3 $ условного расхода (подписка, отдельного списания за вызов нет)
Доля прогонов без материала8 из 20 за 22–23.09; крупнейшая причина (реестр утверждений ронял весь прогон) устранена, доля после этого не перемерена
Отбор поводов по совпадению слов13 поводов из 40 при одном по делу — потолок способа, а не настройки
Отбор поводов по смыслуте же 40 за 0,246 $, взято 0, каждый отказ объяснён предложением
Автоматические проверкиядро 1256, служба 469, браузерные 62 — все зелёные

Путь пользователя

Новое дело заводится по адресу сайта или описанию. Сайт читается сразу и бесплатно — модель в этом не участвует, извлекается только то, что сайт объявил о себе сам. Найденное ложится в кандидаты и знанием проекта становится лишь после подтверждения человеком: граница «нашли в сети» и «данные проекта» не двигается.

  1. Подтвердить понимание дела — продукт показывает строки с сайта, человек подтверждает те, под которыми готов подписаться. 2 минуты.
  2. Ответить на обязательные вопросы — их шесть, и они кончаются: аудитории, вопросы клиентов, возражения, случаи, ограничения, доказательства. Остальные 22 раздела знания — улучшение, а не условие.
  3. Получить материал — выбрать тему из предложенных или назвать свою; формат и площадка называются до работы.

Дальше: прочитать, править, утвердить, сделать версию для площадки, забрать файлом.

Интерфейс

Вход и знакомство
Вход и знакомство. Первый экран называет только то, что продукт умеет фактически, и отдельным абзацем — чего он НЕ умеет. Обещаний неработающих возможностей здесь нет намеренно: страница входа — не реклама.
Список дел
Список дел. Плитка проекта отвечает результатом: сколько материалов готово, сколько ждёт решения, либо какой следующий шаг. Прежде здесь стояло название и «без сайта» — чтобы узнать, есть ли результат, приходилось открывать проекты по очереди.
Путь до первого материала
Путь до первого материала. Пока у дела нет ни одного материала, экран отвечает одним: что делать сейчас. Три шага, видно положение, у каждого сказано что он даёт и сколько занимает. Шаг, до которого не дошли, не притворяется доступным — продукт, позволяющий запустить материал на пустом деле, обманывает.
Обзор проекта
Обзор проекта. Порядок важности: что уже есть → что требует человека → что сделать дальше. Техническое (знание о деле, настройки) убрано под раскрытие. Было 7000 точек высоты стеной одинаковых карточек, стало 931.
Темы
Темы. Найденное, проверенное и рекомендованное разделены. Внешняя публикация, прошедшая только совпадение слов, лежит отдельно и названа непроверенной: замер на живой ленте дал 13 поводов из 40 при одном по делу. У карточки — заголовок, аудитория, происхождение, формат; основания раскрываются.
Материалы
Материалы. Всё, что у дела есть: и произведённое, и то, что пока задание. Состояние названо словами о следующем шаге, а не кодом.
Материал
Материал. Сам текст первым, доказательства рядом. Под текстом: версии для площадок, выгрузка в четырёх форматах, подготовка выпуска. Служебное — чем сделан, во что обошлось, журнал стадий — под раскрытием внизу.
Запись для площадки
Запись для площадки. Пост для ленты пишется заново по материалу, а не обрезается из него: у ленты свой заход и завершение. Числа берутся только из материала.
Тот же обзор на 390 точках
Тот же обзор на 390 точках. Вёрстка проверяется по отрисованной странице в двух ширинах, а не чтением исходника: правило, написанное для контейнера, которым элемент не является, читается исправным и не действует.

Решения оформления и их причины

Каждое правило ниже появилось после замера на отрисованной странице, а не из вкуса.

Границы честности

Чего продукт не делает — и говорит об этом сам:

Что остаётся нерешённым

Страница собрана 24.09.2026 для изучения структуры, логики и интерфейса. Снимки экранов — настоящие, сделаны в браузере на работающем продукте, а не нарисованы.