fpf · v1.0.0 · 2026-09-29 · sha256 cffe4bf910d7b8ec
fpf v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/cffe4bf910d7b8ec.
--- name: fpf description: Загрузка применимых принципов для задачи из иерархии Pack → SPF → FPF. Используй когда нужно найти релевантные принципы перед принятием решения. argument-hint: "<запрос или тема>" version: 1.0.0 layer: L1 status: active browser_safe: true triggers: slash: [/fpf] phrases: [] routing: executor: haiku deterministic: false agents: single interaction: multi-step gates_required: [] gates_enforced: [] gates_rationale: "операционный скилл; WP Gate применим только при создании нового РП, не для операционных вызовов" --- # Загрузка принципов Запрос: $ARGUMENTS ## When to use Загрузка применимых принципов для задачи из иерархии Pack → SPF → FPF. Используй когда нужно найти релевантные принципы перед принятием решения. ## Fallback Chain ``` Pack (предметное) → SPF (корректность) → FPF (первые принципы) ``` ## Режимы (определи по контексту запроса) | Режим | Триггер | Что делать | |-------|---------|-----------| | **lookup** | Запрос содержит код паттерна (A.7, B.5, F.18) или конкретный термин | Grep по FPF → точная секция. Объясни в engineering-языке (см. `memory/fpf-reference.md` § Трансляция) | | **review** | «Проверь», «сверь с FPF», артефакт для проверки | Загрузи артефакт + релевантные принципы → сверка пункт за пунктом → findings | | **design** | «Спроектируй», «как сделать по FPF», задача проектирования | Подбери применимые паттерны (A.1 границы, A.6 состав, A.7 различения, B.5 ADI) → конкретные рекомендации | | **characterize** | «Сравни», «оцени варианты», «как выбрать» | A.17-A.19 (Lawful Comparison): критерии → индикаторы → оценка вариантов по одинаковой шкале | | **teach** | «объясни FPF», «что такое FPF», «с нуля», «введение» | Дай обзор FPF: что это, зачем, ключевые блоки (различения, паттерны, первые принципы) → объясни в engineering-языке без жаргона | | **diagnose** | «какие принципы нарушаю», «что не так», «найди проблему», «проверь мою работу» | Получи описание работы/решения → найди расхождения с принципами FPF/Pack → назови конкретные нарушения с указанием принципа и где именно | | **prioritize** | «наиболее важны», «для роли», «в роли», «для меня как» | Определи роль из аргумента → найди принципы FPF/Pack, релевантные этой роли → ранжируй по применимости → объясни почему каждый важен именно для этой роли | **БЛОКИРУЮЩЕЕ — No-Jargon:** Каждый FPF-термин в output → engineering-эквивалент в скобках или вместо. Без исключений. - Известные: `memory/fpf-reference.md` § Трансляция (Holon, F-G-R, Alpha, Mereology, Affordance, ADI...) - Неизвестные (TransformerRole, senseFamily, Γ_*, ReferencePlane и т.п.): перевести по контексту, добавить `(FPF: <оригинал>)`. Не оставлять FPF-термин без перевода. - **Тест перед выводом:** пробежать output — есть ли термин, непонятный инженеру без FPF? Если да — перевести. ## Algorithm ### 0. Проверь, что читаешь полный текст, а не ссылку Ссылка на FPF, список имён файлов или обрезанный фрагмент — это ещё не доступ к тексту (правило автора, `FPF/USING-FPF.md`). Шаг относится к локальной копии `FPF/` в рабочей области; пути ниже даны от её корня (`$IWE_WORKSPACE`), пути с пробелами (`Engineering DPF Suite/...`) бери в кавычки. В браузерной версии, где копии нет, или когда поиск идёт через MCP: читай документ целиком (`knowledge_get_document`) и называй источник. - Убедись, что есть `FPF/USING-FPF.md`, и прочитай его, если не читал в этой сессии: это общая инструкция автора по поиску и чтению паттернов. - Назови версию копии: `git -C FPF log -1 --format='%h %ad' --date=short`. Дата коммита копии старше 30 дней или файла `USING-FPF.md` нет → скажи об этом пользователю: копия устарела, обновит `update.sh` (или вручную `git -C FPF pull --ff-only`, если в копии нет своих правок). - Нет папки `FPF/` или нужного паттерна нет в полном тексте → прямо скажи «доступа к полному тексту нет» и оставь зависимый вывод открытым. Не пересказывай паттерн по памяти. - Поиск: `rg -n -i -C 2 --no-ignore -g '*.md' -- '<термин по-английски и по-русски>' FPF`. Совпадение в оглавлении или справочнике — не тело паттерна. - Чтение паттерна целиком по номеру (точку в номере экранируй `\.`): `rg -U --no-heading --no-line-number --no-filename --color never '(?ms)^## <ID> [^\r\n]*\r?\n.*?^### <ID>:End[ \t]*\r?$' -- <файл>`. Вывод обрезан → читай тот же файл по диапазонам строк. - Нет `rg` (ripgrep) → те же шаги через `grep -rn -i` по файлам `FPF/**/*.md` и чтение диапазонами строк (`sed -n 'A,Bp'`): начало — строка `## <ID> `, конец — `### <ID>:End`. ### 1. Определи режим По таблице выше. Если неясно — режим lookup. ### 2. Классифицируй источник - Предметное знание (архитектура, домен, сервис) → source_type=pack - Форма, процесс, корректность → source=SPF - Базовые различения, первые принципы → source=FPF ### 3. Ищи через iwe-knowledge - `iwe-knowledge search(query="<запрос>", source_type="pack")` -- по всем Pack - `iwe-knowledge search(query="<запрос>", source="SPF")` -- по SPF - `iwe-knowledge search(query="<запрос>", source="FPF")` -- по FPF - Если первый уровень не дал результатов -- спускайся по fallback chain ### 4. Если iwe-knowledge недоступен (нет в `/mcp`): - Pack: читай файлы `PACK-*/pack/` через Glob + Read - SPF: читай `SPF/docs/` через Glob + Read - FPF: читай `FPF/Readme.md` (обзор) или ищи через Grep по `FPF/` - Наборы DPF: рядом со спецификацией автор FPF публикует `FPF/Engineering DPF Suite/` (справочник `ENGINEERING-DPF-SUITE-REFERENCE.md`) и `FPF/Foundational Thinking DPF Suite/` (справочник `FOUNDATIONAL-THINKING-DPF-SUITE-REFERENCE.md`); в `FPF-Spec.md` они не входят. Правила входа — `FPF/USING-FPF.md`: начинай с реальной ситуации, набор выбирай через `FPF/Readme.md` и справочник набора; приём ищется по заголовку `## <ID> - …`, его конец — `### <ID>:End`. Если этих папок нет в локальной копии `FPF/`, копия устарела — обнови её ### 5. Покажи результат Релевантные принципы с пояснением, как они применимы к задаче. Включай ссылку на источник (github_url из результата поиска или путь к файлу). **Переводи FPF-термины** в engineering-язык. **Источник в конце ответа.** Укажи: какая публикация и версия копии (commit), номера паттернов и разделы, что предполагаешь и чего не хватает для вывода. Дословная цитата нужна только когда проверяется толкование, а не в каждом ответе. <!-- USER-SPACE --> <!-- /USER-SPACE -->