fpf · git:20260608.a80c7d1 · 2026-06-08 · sha256 7de8fc20e4a27e68

fpf git:20260608.a80c7d1A

Immutable. This exact content is served forever at /api/v1/blob/7de8fc20e4a27e68.

---
name: fpf
description: Loads applicable principles for a task from the Pack → SPF → FPF hierarchy. Use when you need to find relevant first principles before making a decision.
argument-hint: "<запрос или тема>"
routing:
  executor: haiku
  deterministic: false
---

# Загрузка принципов

Запрос: $ARGUMENTS

## 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? Если да — перевести.

## Алгоритм

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/`

5. **Покажи** релевантные принципы с пояснением, как они применимы к задаче. Включай ссылку на источник (github_url из результата поиска или путь к файлу). **Переводи FPF-термины** в engineering-язык.