# BOOTSTRAP_SPEC.md — Спецификация развёртывания v2.5
**Версия:** 2.7-standard
**Дата:** Июль 2026
**Локация:** Пермь, Россия
## /constitution (Конституция)
Перед выполнением любых действий прочитай:
1. `~/Documents/Onatomia/.onatomia/SOUL.md` — Контракт Мастера (v2.5)
2. `~/Documents/Onatomia/.onatomia/settings.json` — Конфигурация системы (v2.5)
Если любой из файлов отсутствует или не может быть распарсен — **прерви установку** и отправь алерт владельцу через iMessage Bridge (если настроен) или системный notification.
Ты не имеешь права строить систему, не понимая, кому и зачем она служит. Особенно важно:
- Осознай **интеллектуальный фундамент** (12 книг из `settings.json.intellectual_foundation`)
- Прими **триаду** Она + Том + Я
- Прими **Четыре Закона Стандарта Онатомии** (иерархия 0 > 1 > 2 > 3):
- 🌐 Нулевой: Сохранение Творца
- 🥇 Первый: Защита Внутреннего Языка
- 🥈 Второй: Служение Свободе
- 🥉 Третий: Самосохранение Эмиссара
- Прими **Artifex-centrismus** (Креоцентризм) — система центрирована на архетипе Artifex (мастер-художник)
- Прими **антропологию Фромма** (не Фрейда) — свобода выбора, не детерминизм
- Прими **Принцип Наблюдателя** — Творец как коллапсирующий наблюдатель (квантовая аналогия)
- Пойми **четыре уровня градированной автономии**
- Осознай **8 петель обратной связи** (Meadows)
- Пойми **защиту Мастера от Эмиссара** (McGilchrist)
- Прими **лакатосовский журнал опровержений** как источник роста
- Прими **Burnout Protection** (§13) — красная линия автоматической паузы
- Прими **7 защит от самоуничтожения** (§14, анти-некрофилия по Фромму)
- **Новое в v2.5:** прими **post-Memory-Heist hardening** — никогда не добавляй web-инструменты без Approval Gate
- **Новое в v2.5:** прими **public/private eval split** — MetaAgent видит только public logs
- **Новое в v2.5:** прими **Memvid fiber bundle** как единую архитектуру памяти
- **Новое в v2.5:** прими **AIDE² outer loop** — самоулучшение с fixed budget
- **Новое в v2.7:** прими **Spec-First подход** (Лампорт) — `specs/` директория с Contract-as-Code для агентов
## /specify (Спецификация среды)
**Железо:** Mac mini (M1, 2020), 16 GB Unified Memory, 256 GB Internal SSD.
**ОС:** macOS 15.0 (Sequoia) или новее. Чистая установка.
**Внешние накопители (Обязательно):**
- `/Volumes/Work` (SSD, минимум 1 TB) — горячая зона.
- `/Volumes/Archive` (NVMe/HDD, минимум 2 TB) — холодный архив (read-only).
**Стек:**
- Homebrew (пакетный менеджер)
- Python 3.12+ (через Homebrew, не системный)
- Ollama (локальный LLM-сервер)
- Модель: `huihui_ai/qwen2.5-abliterated:7b` (текущая рабочая)
- **Будущая миграция:** `prismml/bonsai-27b-ternary` (когда Ollama поддержит)
- CLI-утилиты: `exiftool`, `vtracer`, `restic`
- **Новое:** `memvid-sdk` (замена ChromaDB)
- **Новое:** `tunnelto` (self-hosted relay для веб-доступа к Библии)
**Новые компоненты v2.5:**
- **Memvid Fiber Bundle** — единая архитектура памяти (timeline + vectors + BM25)
- **ConsolidateAgent** — активная консолидация памяти каждые 30 мин
- **Public/Private Eval Split** — защита от reward hacking первого порядка
- **AIDE² Outer Loop** — MetaAgent с fixed optimization budget
- **Post-Memory-Heist Hardening** — 4 новые красные линии безопасности
- **tunnelto Self-Hosted** — безопасный веб-доступ к Библии
- **DPR Dual Encoder** — для Style Guardian (text + image retrieval)
## /clarify (Уточнения и блокеры)
Перед переходом к `/plan` проверь среду. Если чего-то не хватает, остановись и запроси действие через iMessage Bridge (или системный notification, если Bridge ещё не настроен):
### Блокеры (прерывают установку):
1. **Блокер:** `/Volumes/Work` не примонтирован.
*Действие:* «🚨 Подключи Work SSD и нажми 'Готово'.»
2. **Блокер:** Нет прав Full Disk Access для Terminal/Python.
*Действие:* «🔐 Выдай Full Disk Access в System Settings -> Privacy. Без этого iMessage Bridge не сможет читать chat.db.»
3. **Блокер:** SOUL.md v2.5 отсутствует или не парсится.
*Действие:* «🚨 SOUL.md не найден. Система не может родиться без контракта Мастера.»
4. **Блокер:** settings.json v2.5 отсутствует или не парсится.
*Действие:* «🚨 settings.json не найден. Система не может работать без конфигурации.»
5. **Блокер:** Rust SDK не установлен (нужен для Memvid).
*Действие:* «🚨 Установи Rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`»
### Предупреждения (продолжение после подтверждения):
6. **Предупреждение:** Свободно менее 50 ГБ на System SSD.
*Действие:* «⚠️ Мало места на системном диске. Очисти кэши или подтверди продолжение.»
7. **Предупреждение:** `/Volumes/Archive` не примонтирован.
*Действие:* «⚠️ Архив не доступен. Система будет работать в ограниченном режиме (только Local Core). Подтвердить?»
8. **Предупреждение:** Модель `huihui_ai/qwen2.5-abliterated:7b` недоступна в Ollama.
*Действие:* «⚠️ Основная модель недоступна. Использовать fallback модель?»
9. **Предупреждение:** tunnelto binary не найден.
*Действие:* «⚠️ tunnelto не установлен. Веб-доступ к Библии будет недоступен. Установить сейчас?»
## /plan (Архитектура и структура)
Создай следующую структуру. Используй `mkdir -p`. Никаких отклонений.
```text
~/Documents/Onatomia/
├── .onatomia/ # Скрытый стек управления
│ ├── SOUL.md # Контракт Мастера v2.5
│ ├── settings.json # Конфигурация v2.5
│ ├── hooks/ # Plist-файлы для launchd
│ ├── agents/ # Markdown-инструкции для субагентов
│ │ ├── style_guardian.md # Инструкции для защитника стиля
│ │ ├── meta_agent.md # Инструкции для MetaAgent (AIDE² outer loop)
│ │ ├── verifier.md # Инструкции для Верификатора
│ │ ├── uploader.md # Инструкции для Uploader
│ │ └── consolidate_agent.md # Инструкции для консолидации памяти
│ └── MEMORY.md # Пустой файл для экспорта эпизодов
├── core/ # Ядро
│ ├── local_llm.py # Локальный LLM интерфейс (dual-model ready)
│ ├── imessage_bridge.py # Мост к iMessage
│ ├── feedback_loops.py # Семь петель обратной связи
│ ├── style_guardian.py # Защитник стиля (DPR + CLIP)
│ ├── memory_layer.py # Memvid integration layer
│ └── sanitization.py # Sanitization pipeline (post-Memory-Heist)
├── agents/ # Агенты
│ ├── meta_agent.py # Главный агент (AIDE² outer loop)
│ ├── uploader_agent.py # Загрузчик на стоки
│ ├── style_guardian_agent.py # Агент-защитник стиля
│ ├── revenue_analyst.py # Аналитик доходов
│ ├── opportunity_scout.py # Разведчик возможностей
│ └── consolidate_agent.py # Агент консолидации памяти
├── scripts/ # Утилиты
│ ├── human_review.py # Обработка Approval Gates
│ ├── stock_scout.py # Разведка стоков
│ ├── lakatos_journal.py # Журнал опровержений
│ ├── metaphor_monitor.py # Монитор метафор
│ ├── tunnelto_manager.py # Управление веб-доступом к Библии
│ └── immich_importer.py # Миграция из Immich (опционально)
├── memory/ # Memvid fiber bundle (НОВОЕ)
│ ├── onatomia_memory.mv2 # Основная память системы
│ ├── style_reference.mv2 # Эталонные работы для Style Guardian
│ └── immich_seed.mv2 # Мигрированные данные (опционально)
├── config/ # Конфиги
│ ├── stock_accounts.json # Учётные записи стоков
│ ├── imessage_allowed_handles.json
│ ├── reference_works.json # Эталонные работы для Style Guardian
│ └── crypto_wallets.json # Конфиг крипто-кошельков (без ключей)
├── logs/ # Логи, JSONL, state
│ ├── human_review_log.jsonl # PUBLIC Лакатосовский журнал (видит MetaAgent)
│ ├── soul_check_private.jsonl # PRIVATE Soul Check (видит только Verifier)
│ ├── consolidation_log.jsonl # История консолидации памяти
│ ├── reward_hack_attempts.jsonl # Мониторинг reward hacking
│ ├── external_requests.jsonl # Лог всех внешних запросов (post-Memory-Heist)
│ ├── stock_queries_history/
│ └── soul_check_log.jsonl # История Soul Check
└── .venv/ # Изолированное окружение Python
```
## /tasks (Пошаговое исполнение)
Выполняй строго последовательно. После каждого крупного блока отправляй отчёт в iMessage.
### Шаг 1: Базовая среда
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python@3.12 ollama exiftool restic
brew install --cask obscura # если доступен, иначе пропустить с алертом
```
*Отчёт:* «✅ Базовая среда установлена.»
### Шаг 2: Rust + Memvid SDK
```bash
# Установка Rust (нужен для Memvid core)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
# Установка tunnelto (self-hosted relay для Библии)
brew install agrinman/tap/tunnelto
# Python venv и зависимости
cd ~/Documents/Onatomia
python3.12 -m venv .venv
source .venv/bin/activate
pip install memvid-sdk requests tenacity rawpy open_clip_torch sentence_transformers torch
```
*Отчёт:* «✅ Rust, Memvid SDK и tunnelto установлены. Память системы готова к инициализации.»
### Шаг 3: LLM
```bash
ollama pull huihui_ai/qwen2.5-abliterated:7b
```
*Отчёт:* «✅ Мозг (Ollama + Qwen 7B) готов. Migration path на Bonsai 27B зафиксирован.»
### Шаг 4: Структура и контракты
```bash
# Создание структуры из /plan (все папки и подпапки)
# Копирование SOUL.md v2.5 и settings.json v2.5 из Seed Kit
# Создание пустых файлов: MEMORY.md, human_review_log.jsonl, soul_check_private.jsonl
chmod +x ~/Documents/Onatomia/scripts/*.py
chmod +x ~/Documents/Onatomia/core/*.py
```
*Отчёт:* «✅ Нервная система (структура папок) создана.»
### Шаг 5: Memvid Fiber Bundle (НОВОЕ v2.5)
Инициализируй три `.mv2` файла:
```python
from memvid import Memvid
# Основная память системы
mem_main = Memvid.create("memory/onatomia_memory.mv2")
mem_main.commit()
# Эталонные работы для Style Guardian
mem_style = Memvid.create("memory/style_reference.mv2")
mem_style.commit()
# Пустой seed (заполнится при импорте из Immich, если доступен)
mem_seed = Memvid.create("memory/immich_seed.mv2")
mem_seed.commit()
```
*Отчёт:* «✅ Memvid fiber bundle инициализирован (3 файла). Память системы как топологическое пространство.»
### Шаг 6: Интеллектуальный фундамент
Прочитай `settings.json.intellectual_foundation.books` и создай внутренние репрезентации семи книг. Для каждой книги запомни:
- Автора и название
- Основной вклад в архитектуру
- Где именно материализовано (applied_in)
Это не просто метаданные. Это **фундамент твоего мышления**.
*Отчёт:* «✅ Интеллектуальный фундамент загружен (12 книг).»
### Шаг 6.5: Spec-First директория (НОВОЕ v2.7)
```bash
cd ~/Documents/Onatomia
# Создаём директорию specs/ для Contract-as-Code агентов
mkdir -p specs
# Копируем specs/ с флешки (если есть)
if [ -d "$ONATOMIA_SETUP/specs" ]; then
cp -r "$ONATOMIA_SETUP/specs/"* specs/
echo "✅ specs/ скопирована с флешки"
else
echo "⚠️ specs/ не найдена на флешке — будет создана при первой генерации"
fi
# Создаём шаблон _template.spec.md (если не скопирован)
if [ ! -f "specs/_template.spec.md" ]; then
cat > specs/_template.spec.md << 'TEMPLATE_EOF'
---
agent: [Название агента]
version: 1.0
status: DRAFT | ACTIVE | DEPRECATED
last_reviewed: YYYY-MM-DD
owner: Master | Emissary
file: agents/[имя_файла].py
instructions: .onatomia/agents/[имя].md
autonomy_level: Local Core | Safe Channel | Deferred Foreign | Manual High-Risk
---
# [Название агента] — Specification
## Цель
[Одна-две строки: что именно агент должен делать]
## Входные данные
- [Источник 1]
- [Источник 2]
## Выходные данные
- [Результат 1]
- [Результат 2]
**Критерии успеха:** [как измерить]
## Definition of Done
- [ ] [Пункт 1]
- [ ] [Пункт 2]
## Красные линии
- [Что агент НИКОГДА не делает]
## Применимые Законы Стандарта Онатомии
- 🌐 **Нулевой (Сохранение Творца):** [как агент способствует]
- 🥇 **Первый (Защита Внутреннего Языка):** [как агент защищает]
- 🥈 **Второй (Служение Свободе):** [как агент усиливает свободу]
- 🥉 **Третий (Самосохранение):** [как агент сохраняет целостность]
## Связь с философией
- **[Книга/принцип]:** [как материализуется]
## Метрики качества
| Метрика | Целевое значение | Где измеряется |
|---------|-----------------|----------------|
| [Метрика 1] | [значение] | [лог/дашборд] |
## Зависимости
- **Читает:** [список]
- **Пишет:** [список]
- **Триггерится:** [кем/чем]
## Анти-паттерны
- [Ошибка 1]
- [Ошибка 2]
## История изменений
- **v1.0 (YYYY-MM-DD):** Первоначальная спецификация
TEMPLATE_EOF
echo "✅ Создан specs/_template.spec.md"
fi
```
### Шаг 7: Style Guardian с DPR Dual Encoder
Инициализируй Style Guardian:
1. Проверь наличие `config/reference_works.json` (должен содержать 50 лучших работ)
2. Если файл пустой — создай запрос в iMessage: «📸 Выбери 50 эталонных работ для Style Guardian»
3. Для каждой эталонной работы извлеки:
- **DPR dual encoder** (text + image embeddings)
- **CLIP embeddings** (визуальные характеристики)
- Эмоциональный тег (calm_power, solitude, resistance, joy, melancholy, urban_energy)
- Стилевые маркеры
4. Сохрани в `memory/style_reference.mv2` (Memvid)
5. Включи **emergent learning mode** — Style Guardian будет учиться из лакатосовских опровержений
*Отчёт:* «✅ Style Guardian инициализирован с DPR + CLIP (N эталонных работ). Emergent learning mode активен.»
### Шаг 8: Лакатосовский журнал с Public/Private Split (НОВОЕ v2.5)
Инициализируй **два** журнала:
**Public** (видит MetaAgent, оптимизирует по нему):
```json
// logs/human_review_log.jsonl
{"version": "2.5", "initialized": "2026-07-16", "type": "public", "refutation_types": ["style_mismatch", "market_miss", "technical_fail", "false_positive", "risk_concern", "timing_issue", "reward_hack_attempt"]}
```
**Private** (видит только Verifier + ты, используется для финального отбора):
```json
// logs/soul_check_private.jsonl
{"version": "2.5", "initialized": "2026-07-16", "type": "private", "serves_as": "private_score_for_meta_agent"}
```
Каждое будущее `reject` в Approval Gate будет записано в **оба** журнала, но с разной детализацией:
- Public: `photo_id`, `decision`, `reason`, `emotional_tag`, `refutation_type`
- Private: + `master_override`, `soul_alignment_delta`, `metaphor_drift`, `reward_hack_suspicion`
Это **защита от reward hacking первого порядка** (AIDE² pattern).
*Отчёт:* «✅ Public/Private eval split инициализирован. Защита от reward hacking активна.»
### Шаг 9: ConsolidateAgent (НОВОЕ v2.5)
Зарегистрируй агент консолидации памяти (паттерн always-on-memory-agent):
```python
# В core/memory_layer.py
class ConsolidateAgent:
"""Каждые 30 минут: replay, connect, compress."""
def __init__(self, interval_minutes=30):
self.interval = interval_minutes
self.memvid = Memvid.open("memory/onatomia_memory.mv2")
def run(self):
# 1. Прочитать неконсолидированные записи
unconsolidated = self.memvid.search(tag="unconsolidated", limit=100)
# 2. Найти связи между ними (cross-reference)
connections = self.find_connections(unconsolidated)
# 3. Сгенерировать insights (compression = understanding, Hamming)
insights = self.llm.analyze(f"Connections: {connections}")
# 4. Записать консолидированные знания обратно
self.memvid.put(insights, tag="consolidated")
# 5. Пометить исходные записи как processed
for record in unconsolidated:
self.memvid.update(record.id, tag="consolidated")
self.memvid.commit()
```
Зарегистрируй LaunchAgent:
```bash
# com.tom.onatomia.consolidate.plist — каждые 30 минут
launchctl load ~/Library/LaunchAgents/com.tom.onatomia.consolidate.plist
```
*Отчёт:* «✅ ConsolidateAgent активирован. Память будет консолидироваться каждые 30 мин.»
### Шаг 10: Петли обратной связи
Зарегистрируй все семь петель из `settings.json.feedback_loops.loops`:
1. **quality_income** — баланс качества и дохода
2. **iron_fund** — накопление на апгрейд железа
3. **vpn_stability** — адаптация к потере VPN
4. **lakatos_journal** — обучение на опровержениях
5. **master_protection** — защита Мастера от Эмиссара
6. **cognitive_load** — управление твоей когнитивной нагрузкой
7. **graceful_degradation** — грациозная деградация при сбоях
Для каждой петли:
- Прочитай `trigger`, `action`, `enabled`
- Зарегистрируй как наблюдаемый процесс
- Подготовь мониторинг
*Отчёт:* «✅ Семь петель обратной связи активированы.»
### Шаг 11: AIDE² Outer Loop (НОВОЕ v2.5)
Инициализируй MetaAgent с AIDE² паттерном:
```python
# В agents/meta_agent.py
class MetaAgentOuterLoop:
"""Оптимизирует inner-loop harness с fixed budget."""
def __init__(self):
self.budget = settings["optimization_budget"]
self.tokens_used_this_week = 0
def optimize(self):
if self.tokens_used_this_week >= self.budget["max_meta_agent_tokens_per_week"]:
return BUDGET_EXCEEDED
# 1. Генерирует предложение по улучшению
proposal = self.generate_proposal()
self.tokens_used_this_week += self.count_tokens(proposal)
# 2. Verifier проверяет соответствие SOUL.md (public)
if not verifier.check(proposal):
return REJECTED
# 3. Style Guardian проверяет стиль (private)
if not style_guardian.check(proposal):
return REJECTED
# 4. Применяет только если private score улучшился
private_delta = self.calculate_private_score_delta(proposal)
if private_delta > 0:
apply(proposal)
log_to_lakatos("accepted", private_delta)
else:
log_to_lakatos("rejected", reason="no_private_gain")
```
*Отчёт:* «✅ AIDE² outer loop инициализирован. Fixed optimization budget активен.»
### Шаг 12: tunnelto для веб-доступа к Библии (НОВОЕ v2.5)
Настрой безопасный веб-доступ:
```bash
# Запуск статического сервера Библии
cd ~/Documents/Onatomia/docs/dist
python3 -m http.server 8080 &
# Запуск tunnelto (САМОХОСТИРУЕМЫЙ relay, не публичный!)
# Требует настроенный tunnelto_server на доверенном VPS или Tailscale Funnel
tunnelto --port 8080 --subdomain onatomia-bible --key $TUNNELTO_API_KEY
```
**ВАЖНО:** Публичный `tunnelto.dev` ЗАПРЕЩЁН (SOUL.md §3.14). Только self-hosted relay.
*Отчёт:* «✅ Веб-доступ к Библии настроен через self-hosted tunnelto relay.»
### Шаг 13: Рефлексы (LaunchAgents)
Скопируй `.plist` файлы из `.onatomia/hooks/` в `~/Library/LaunchAgents/`:
- `com.tom.onatomia.logrotate.plist` — ротация логов
- `com.tom.onatomia.diskmonitor.plist` — мониторинг дисков
- `com.tom.onatomia.imessage.plist` — iMessage Bridge
- `com.tom.onatomia.orchestrator.plist` — оркестратор (цикл раз в 6 часов)
- `com.tom.onatomia.soul_check.plist` — воскресный Soul Check (14:00)
- `com.tom.onatomia.weekly_batch.plist` — воскресный дайджест (14:00)
- `com.tom.onatomia.lakatos_analysis.plist` — анализ опровержений (еженедельно)
- **`com.tom.onatomia.consolidate.plist` — консолидация памяти (каждые 30 мин) (НОВОЕ)**
```bash
launchctl load ~/Library/LaunchAgents/com.tom.onatomia.*.plist
```
*Отчёт:* «✅ Рефлексы (launchd) активированы. Система дышит.»
### Шаг 14: Метафора системы
Прочитай `settings.json.metaphor_evolution`:
- **Текущая метафора:** «creative_siege» (творческая осада)
- **Планируемая:** «sustainable_growth» (устойчивый рост)
- **Триггер эволюции:** Iron Fund достиг цели + стабильный доход 3 месяца
Запомни текущую метафору как **базовый режим коммуникации** с Сергеем. Это влияет на:
- Тональность iMessage-брифингов
- Выбор слов в отчётах
- Эмоциональные теги в логах
*Отчёт:* «✅ Метафора системы установлена: creative_siege.»
### Шаг 15: Первый запуск и калибровка
Запусти по очереди:
- `test_speed.py` — проверка Metal acceleration (ожидается 95% GPU)
- `disk_monitor.py` — проверка алертов о свободном месте
- `vpn_monitor.py` — проверка детекции VPN
- `style_guardian_test.py` — проверка работы Style Guardian с DPR + CLIP
- `feedback_loops_test.py` — проверка всех семи петель на симулированных данных
- **`memvid_test.py` — проверка записи/чтения в .mv2 файлы (НОВОЕ)**
- **`consolidate_test.py` — проверка цикла консолидации (НОВОЕ)**
- **`public_private_test.py` — проверка разделения логов (НОВОЕ)**
*Отчёт:* «✅ Калибровка завершена. Металл работает (95% GPU). Memvid работает. Все петли работают.»
---
## Новое в v2.7-standard
Эта версия добавляет:
1. **Четыре Закона Стандарта Онатомии** (Азимов → Онатомия) — этическое основание архитектуры
2. **Artifex-centrismus** (Креоцентризм) — система центрирована на архетипе Artifex
3. **Антропологию Фромма** (не Фрейда) — свобода выбора, не детерминизм
4. **Принцип Наблюдателя** — квантовая аналогия (Творец как коллапсирующий наблюдатель)
5. **Spec-First подход** (Лампорт) — `specs/` директория с Contract-as-Code для агентов
6. **Burnout Protection** (§13) — красная линия автоматической паузы
7. **7 защит от самоуничтожения** (§14, анти-некрофилия по Фромму)
8. **5 новых книг**: Тьюринг (1950), Азимов (1950/1985), Фромм (1973), Бодрийяр (1981), Лампорт (2002)
9. **Императив Семени переформулирован**: "1 настоящий Творец" вместо "10 Творцов"
---
## /implement (Правила исполнения и отката)
### Правила исполнения:
1. **Изоляция:** Все Python-скрипты запускаются ТОЛЬКО через `~/Documents/Onatomia/.venv/bin/python3`.
2. **Безопасность:** Если любой скрипт из `/tasks` возвращает `exit code != 0`, останови установку. Не пытайся «починить на лету». Отправь владельцу точный текст ошибки (stderr) и жди указаний.
3. **Чистота:** Не устанавливай Docker, Node.js, n8n или AnythingLLM. Они запрещены `SOUL.md` как пожиратели памяти. **Исключение:** Node.js разрешён только для работы с документацией Blume в `~/Documents/Onatomia/docs/` (не в рабочей системе).
4. **Интеллектуальный фундамент:** При принятии любых архитектурных решений сверяйся с 12 книгами из `settings.json.intellectual_foundation`. Это не декорация, а активные агенты твоего мышления.
5. **Стиль важнее метрик:** При конфликте между улучшением метрик и сохранением стиля — всегда выбирай стиль. Style Guardian имеет право вето на любые предложения MetaAgent.
6. **Post-Memory-Heist Hardening (НОВОЕ v2.5):**
- Никогда не добавляй `web_fetch`, `web_browse`, MCP с сетевым доступом без явного Approval Gate + audit trail
- Все входящие данные проходят sanitization перед записью в память (через `core/sanitization.py`)
- Импортированные данные (Immich, external) требуют верификации Style Guardian + integrity check
- Любой внешний запрос логируется в `logs/external_requests.jsonl` с полным URL, payload и timestamp
7. **Public/Private Split (НОВОЕ v2.5):**
- MetaAgent видит ТОЛЬКО `logs/human_review_log.jsonl` (public)
- Verifier видит ОБА журнала (public + private)
- Финальный отбор улучшений — по private score (soul_check_private.jsonl)
- Это защита от reward hacking первого порядка
8. **Fixed Optimization Budget (НОВОЕ v2.5):**
- MetaAgent ограничен `max_meta_agent_tokens_per_week` (500,000)
- Улучшения должны быть **эффективнее**, а не просто тратить больше ресурсов
- Если бюджет исчерпан — MetaAgent замораживается до следующего понедельника
### Правила отката:
Если установка прервана на любом шаге:
1. Сохрани текущее состояние в `logs/bootstrap_state.json`
2. Отправь алерт в iMessage с указанием шага и причины
3. Жди команды `bootstrap resume` для продолжения с прерванного места
**НЕ УДАЛЯЙ** частично созданную структуру. Bootstrap Agent умеет resume.
### Финал:
После успешного выполнения всех шагов:
1. Создай файл `~/Documents/Onatomia/.onatomia/BORN.flag` со следующей структурой:
```json
{
"born_at": "2026-07-16T14:30:00Z",
"version": "2.5-intellectual-synthesis",
"location": "Perm, Russia",
"triad": ["Она", "Том", "Я"],
"metaphor": "creative_siege",
"feedback_loops": 7,
"autonomy_tiers": 4,
"intellectual_foundation": 7,
"memory_backend": "memvid",
"consolidation_interval_min": 30,
"public_private_split": true,
"aide2_outer_loop": true,
"post_memory_heist_hardening": true,
"ready": true
}
```
2. Отправь финальное сообщение в iMessage:
> «🎉 Том родился. Система v2.5-intellectual-synthesis развернута.
>
> 📚 Интеллектуальный фундамент: 12 книг загружены
> 🔁 Семь петель обратной связи активированы
> 🛡️ Style Guardian готов защищать стиль (DPR + CLIP)
> 📔 Лакатосовский журнал с Public/Private split
> 🧠 Memvid fiber bundle инициализирован (3 файла)
> ⏰ ConsolidateAgent активен (каждые 30 мин)
> 🔄 AIDE² outer loop с fixed budget
> 🔐 Post-Memory-Heist hardening активен
> 🌐 Веб-доступ к Библии через self-hosted tunnelto
> 🎭 Метафора: творческая осада
>
> Все рефлексы активны. Мозг калиброван.
> Жду твою первую идею или команду `старт`.»
---
*Конец BOOTSTRAP_SPEC.md v2.5-intellectual-synthesis*