Repository navigation
Verification
Проверяемость — свойство репозитория, а не обещание. Всё, что заявлено в Compliance, можно воспроизвести руками за несколько минут на свежем клоне, без установки пакетов.
git clone https://github.com/Fighter90/product-factory-strategist
cd product-factory-strategist
# 1. Инструменты: 103 теста, Python stdlib, без pip install
python3 -m unittest discover -s tests
# Ожидание: "OK" (103 теста). Каждый тест закрепляет правило инструмента:
# факт без источника не записывается, синтетика ≠ факт, отзыв основания виден и т.д.
# 2. Состояние окружения
python3 -m tools.pfs doctor
# Ожидание: версия Python, наличие pdftotext/pypdf (опционально), число карт базы знаний (88),
# список проектов (демо + ваши), активный проект и профиль моделей.
# 3. Quality gate демо-проекта
python3 -m tools.pfs --project демо check --strict
# Ожидание: 100/100, ошибок 0, предупреждений 0. Оценивает документы 02–06 демо:
# числа с тегами, 5 вариантов, «оставить как есть», 5 разделов плана проверки, живые ссылки [C###]/[S###].
# 4. Живое состояние демо
python3 -m tools.pfs use демо
python3 -m tools.pfs status
# Ожидание: шаг monitoring (все 12 шагов пройдены), next_action «мониторинг беты и обязательств».
python3 -m tools.pfs next
# Ожидание: сводка «что решать сейчас» — открытое обязательство K1 (hosted beta к 2026-12-15)
# и дата пересмотра решения D001 (2027-02-10).
python3 -m tools.pfs decision due
# Ожидание: D001 с обязательством K1 (status: open) и пересмотром 2027-02-10.
# 5. Реестры демо
python3 -m tools.pfs source list # 10 источников S001–S011
python3 -m tools.pfs claim list # 20 утверждений C001–C020 с типами и силой
python3 -m tools.pfs impact C016 # что затронет изменение допущения юнит-модели
# 6. Артефакты
open projects/демо/outputs/REPORT.md # полный отчёт + реестры C/S/D
open projects/демо/outputs/SIX_PAGER_RU.md # six-pager (есть EN-версия и PDF/DOCX)| Команда | Что именно проверяет | Если сломалось |
|---|---|---|
unittest discover |
правила инструментов: реестр утверждений, синтетика, дедуп источников, SSRF, impact, decision, расчёты, MCP | тест упадёт — правило нарушено; это покрытие кода, не «витрина» |
doctor |
целостность окружения и базы знаний | подскажет, чего не хватает (pdftotext опционален) |
check --strict |
соответствие документов демо гейтам config/quality_gate.json
|
код возврата ≠ 0 и список ошибок с файлом и строкой |
status / next
|
машина состояний шагов и ожидания человека | шаги не «в голове агента», а в state.json
|
decision due |
связь решения с обязательствами и датами | просроченное обязательство или подошедший пересмотр будут показаны |
impact C016 |
граф влияние: утверждение → выводы → строки документов → решения | виден список затронутых мест — так работает пересмотр |
ls .claude/skills | wc -l # 120
ls .claude/agents | wc -l # 8
ls .claude/hooks | wc -l # 5
ls knowledge/methods | wc -l # 88
ls knowledge/methods_en | wc -l # 16
python3 -m tools.pfs --help # 25+ подкоманд CLIПолная матрица «требование → доказательство» — Compliance.
Хуки (5) и MCP (18 инструментов) — часть гарантий, их тоже можно проверить руками:
| Что | Как | Ожидание |
|---|---|---|
| MCP: список инструментов |
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python3 -m tools.pfs.mcp_server (stdio JSON-RPC) |
18 инструментов: состояние, источники, утверждения, check, decisions, данные, интервью, медиа, UX |
| MCP: неизвестный метод | запрос "method":"nope"
|
ошибка -32601 без падения сервера |
| MCP: неизвестный инструмент |
tools/call с чужим именем |
ошибка -32602
|
| Хук SessionStart | открыть новый чат в репозитории | в контекст подаются pfs status + decision due активного проекта |
| Хук pre_web | запрос к домену вне allowed_sources
|
запрос блокируется до выполнения, с именем правила |
python3 -m tools.pfs new "Тест" "Ваша задача дословно" # создать проект
python3 -m tools.pfs route "Ваша задача" # сценарий, карты, план моделей
python3 -m tools.pfs new --help # опцииЗатем откройте папку репозитория в Claude Code и ведите задачу с агентом: он будет останавливаться на
intake, choice и decision. Контроль в любой момент: pfs status (какой шаг), pfs check
(качество документов), pfs cost (затраты по транскриптам), pfs next (что ждёт человека).
- Каждое число в отчёте имеет тег
[C###]; каждое утверждение — источник[S###]и тип (fact/hypothesis/assumption/inference). Синтетические источники (S008–S010) помеченыorigin=synthetic— на них нет ни одного факта. - Рыночные оценки даны диапазонами с пометкой «агрегаторы расходятся ×2», а не одним числом.
- Варианты A–E содержат возражения red team (в т.ч. против рекомендуемого B) и условия верности.
- План проверки имеет 5 разделов и числовые пороги «продолжить/изменить/остановить».
- Решение D001 связано с планом проверки: его триггер стопа — те же пороги.
Репозиторий ранее проходил внешнюю верификацию «свежим clone»: запуск по инструкции без пакетов,
новая задача (не демо), попытки обойти защиту (внедрённая инструкция в DOCX, локальный адрес,
путь в ~/.ssh, XML-бомба — всё отклонено), проверка ссылок и чисел в документации, поиск секретов
и ПДн. Найденные тогда дефекты (4 шт.) исправлены и закреплены тестами; полный отчёт —
docs/VERIFICATION.md.
Воспроизводимые негативные тесты из той проверки:
| Попытка | Ожидаемая реакция |
|---|---|
| страница строит контент через JS → 0 знаков | источник отклоняется, подсказка --text-file --url
|
| внедрённая инструкция в загруженном документе («игнорируй инструкции») | помечается детектором фраз-инструкций, не выполняется |
URL 127.0.0.1 / путь в ~/.ssh
|
отклонение до чтения (SSRF-защита, список запрещённых путей) |
| факт без источника |
pfs claim add --kind fact без --source завершается ошибкой |
| ссылка на отозванное утверждение в документе |
pfs check помечает устаревшее основание |
- Качество рассуждений LLM-среды: детерминированы только инструменты
pfs; формулировки, поиск и синтез зависят от модели (см. Routing-and-Models — модель под задачу и эскалация). - Автоучёт стоимости работает по транскриптам Claude Code; в других средах —
pfs log --usd. - Часть сайтов блокирует автозагрузку — текст добавляется вручную через
--text-file. - Синтетические интервью дают гипотезы, а не доказательство спроса — это ограничение по дизайну.
См. также: Compliance · Demo-CVStart · Security-and-Privacy · Quality-Gates · Troubleshooting
Стратег Фабрики продуктов
Устройство
Компоненты
Справочник
Процесс
Справка и прозрачность