Операционная система контента: продукт разбирается в деле заказчика и решает, какой материал должен существовать, — а потом производит его так, чтобы под каждым фактом стоял источник. Эта страница собрана для изучения: структура, логика и интерфейс.
Как читать. Числа ниже — замеры, а не оценки. Где свойство не проверено, так и написано. Страница описывает состояние на 24.09.2026.
Чем продукт является и чем не является
Модель и сторонние движки создают содержимое. Content Factory решает, какое содержимое должно существовать: что создавать, для кого, зачем, почему сейчас, в каком формате, в какой канал, на каких доказательствах.
Не фабрика статей. Не генератор SEO-текстов. Не «писатель + фактчек». Не планировщик соцсетей. Не CMS.
Из чего собран
82файла ядра на Python
Конвейер производства, ворота качества, доказательная политика. Работает и без веба — из командной строки.
70файлов службы на TypeScript
NestJS: проекты, знание, темы, прогоны, каналы, права, учёт расхода.
82файла интерфейса
Next.js, 18 экранов. Серверные компоненты, действия формы.
63миграции, 56 таблиц
PostgreSQL с принудительной изоляцией строк по организациям (RLS).
Три слоя и граница между ними
Ядро ничего не знает о вебе, организациях и оплате: оно принимает задание и отдаёт материал с доказательствами. Служба ничего не знает о том, как устроен конвейер: она вызывает ядро как чёрный ящик и отвечает за права, учёт и хранение. Интерфейс не обращается к базе — только к службе.
Знание проекта живёт в пакете проекта, а не в ядре. Поддерживаемые виды дела определяются данными, а не ветвлением в коде: B2C, B2B, SaaS, местные услуги, экспертные бренды.
Логика производства: 14 стадий
Тема проходит стадии по порядку. Каждая пишет свой результат на диск, и прогон можно продолжить с сохранённого места — работа не теряется.
opportunity — стоит ли браться за тему
research_plan — что нужно выяснить
knowledge_gaps — чего не хватает в знании дела
research — сбор источников
claims — реестр утверждений
sufficiency — хватает ли доказательств
value — что нового читателю
brief — задание на текст
draft — черновик
factcheck — проверка фактов
edit — редактура
seo — сборка текста
critic — независимая проверка
architect — архитектурный обзор
Ворота качества: 30
Ворота — это проверки, которые останавливают материал, а не советы. Материал не доходит до читателя, если хоть одни не пройдены.
Главное правило доказательности. Утверждение о самом проекте доказывается его собственными данными; утверждение о мире — внешним источником. Умолчание строгое: не объявив субъекта, утверждение считается сказанным о проекте. Книга по маркетингу никогда не является доказательством факта о деле заказчика.
Что измерено на живых прогонах
Свойство
Замер
Объём материала
2600–4200 знаков, реестр утверждений с источником под каждым фактом
Время одного прогона
15–25 минут
Стоимость удачного прогона
2,8–4,3 $ условного расхода (подписка, отдельного списания за вызов нет)
Доля прогонов без материала
8 из 20 за 22–23.09; крупнейшая причина (реестр утверждений ронял весь прогон) устранена, доля после этого не перемерена
Отбор поводов по совпадению слов
13 поводов из 40 при одном по делу — потолок способа, а не настройки
Отбор поводов по смыслу
те же 40 за 0,246 $, взято 0, каждый отказ объяснён предложением
Автоматические проверки
ядро 1256, служба 469, браузерные 62 — все зелёные
Путь пользователя
Новое дело заводится по адресу сайта или описанию. Сайт читается сразу и бесплатно — модель в этом не участвует, извлекается только то, что сайт объявил о себе сам. Найденное ложится в кандидаты и знанием проекта становится лишь после подтверждения человеком: граница «нашли в сети» и «данные проекта» не двигается.
Подтвердить понимание дела — продукт показывает строки с сайта, человек подтверждает те, под которыми готов подписаться. 2 минуты.
Ответить на обязательные вопросы — их шесть, и они кончаются: аудитории, вопросы клиентов, возражения, случаи, ограничения, доказательства. Остальные 22 раздела знания — улучшение, а не условие.
Получить материал — выбрать тему из предложенных или назвать свою; формат и площадка называются до работы.
Дальше: прочитать, править, утвердить, сделать версию для площадки, забрать файлом.
Интерфейс
Вход и знакомство. Первый экран называет только то, что продукт умеет фактически, и отдельным абзацем — чего он НЕ умеет. Обещаний неработающих возможностей здесь нет намеренно: страница входа — не реклама.Список дел. Плитка проекта отвечает результатом: сколько материалов готово, сколько ждёт решения, либо какой следующий шаг. Прежде здесь стояло название и «без сайта» — чтобы узнать, есть ли результат, приходилось открывать проекты по очереди.Путь до первого материала. Пока у дела нет ни одного материала, экран отвечает одним: что делать сейчас. Три шага, видно положение, у каждого сказано что он даёт и сколько занимает. Шаг, до которого не дошли, не притворяется доступным — продукт, позволяющий запустить материал на пустом деле, обманывает.Обзор проекта. Порядок важности: что уже есть → что требует человека → что сделать дальше. Техническое (знание о деле, настройки) убрано под раскрытие. Было 7000 точек высоты стеной одинаковых карточек, стало 931.Темы. Найденное, проверенное и рекомендованное разделены. Внешняя публикация, прошедшая только совпадение слов, лежит отдельно и названа непроверенной: замер на живой ленте дал 13 поводов из 40 при одном по делу. У карточки — заголовок, аудитория, происхождение, формат; основания раскрываются.Материалы. Всё, что у дела есть: и произведённое, и то, что пока задание. Состояние названо словами о следующем шаге, а не кодом.Материал. Сам текст первым, доказательства рядом. Под текстом: версии для площадок, выгрузка в четырёх форматах, подготовка выпуска. Служебное — чем сделан, во что обошлось, журнал стадий — под раскрытием внизу.Запись для площадки. Пост для ленты пишется заново по материалу, а не обрезается из него: у ленты свой заход и завершение. Числа берутся только из материала.Тот же обзор на 390 точках. Вёрстка проверяется по отрисованной странице в двух ширинах, а не чтением исходника: правило, написанное для контейнера, которым элемент не является, читается исправным и не действует.
Решения оформления и их причины
Каждое правило ниже появилось после замера на отрисованной странице, а не из вкуса.
Результат крупнее решения, решение крупнее настройки. Размер и отступ говорят о важности — это их работа. Прежде готовый материал весил столько же, сколько настройка расписания.
Техническое — под раскрытие, но не удалено. Заголовок раскрытия называет, что внутри: спрятанное без имени для человека не существует.
Код никогда не выходит на экран. У каждого кода состояния есть человеческое название, и это стережёт отдельная проверка, которая краснеет, если название потерялось.
Ширина строки текста — 68 знаков. Дальше глаз теряет начало следующей строки.
Вёрстка судится по отрисованной странице в двух ширинах. Правило, написанное для контейнера, которым элемент не является, читается исправным и не действует.
Границы честности
Чего продукт не делает — и говорит об этом сам:
Не публикует наружу. Отправка в мессенджеры написана и проверена локально, но ни разу не подтверждена настоящей службой. Пока этого нет, выпуск остаётся действием человека.
Не выдумывает. Нет сведений — материал останавливается с объяснением, чего не хватает, вместо правдоподобного текста.
Не выдаёт находки за факты. Найденное на чужом сайте и подтверждённое владельцем лежат в разных полях, а не различаются пометкой: пометку можно забыть.
Не прячет расход. Граница расхода называется до запуска, видна и правится; накопленный расход не обнуляется при продолжении.
Не считает просмотры и не делает видео.
Что остаётся нерешённым
Короткий путь для поста. Запись для площадки делается из готовой статьи; отдельного конвейера под короткий формат нет.
Работает на одной машине. Пока включён компьютер: расписания и обход источников идут только при запущенной службе.
Качество текста как продукта не установлено. Материалы произведены на приёмочных делах и не сравнивались с работой профессионала. Это главный открытый вопрос.
Тарифы и оплата отложены сознательно: цена назначается после измеренной себестоимости, а не до.
Страница собрана 24.09.2026 для изучения структуры, логики и интерфейса. Снимки экранов — настоящие, сделаны в браузере на работающем продукте, а не нарисованы.