Boyko Triangle Audit
ASecurityПроверяет исследовательский артефакт (эксперимент, claim, препринт, отчёт) на полноту цикла Теория ↔ Вычисления ↔ Независимая проверка → Объяснение — какая из 4 вершин реально присутствует с evidence, какая является пустым/шаблонным полем, какая отсутствует вовсе. Дополняет, не дублирует: promotion_gate_guard.py механически проверяет 'поле не пустое' (5 условий Perelman), этот скилл проверяет 'то, что в поле, — реальная теория/объяснение, а не пересказ результата или placeholder-фраза вроде d...
- 9 stars
- 0 votes
- 0 copies
- 2 views
- Added September 2, 2026
Security analysis
100/100Pro scans all 3 files and shows the line behind each finding
npx -y skills add sergeeey/Claude-cod-top-2026 --skill boyko-triangle-audit --agent claude-codeAre you the author of Boyko Triangle Audit?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sergeeey-boyko-triangle-audit)---
name: boyko-triangle-audit
description: "Проверяет исследовательский артефакт (эксперимент, claim, препринт, отчёт) на полноту цикла Теория ↔ Вычисления ↔ Независимая проверка → Объяснение — какая из 4 вершин реально присутствует с evidence, какая является пустым/шаблонным полем, какая отсутствует вовсе. Дополняет, не дублирует: promotion_gate_guard.py механически проверяет 'поле не пустое' (5 условий Perelman), этот скилл проверяет 'то, что в поле, — реальная теория/объяснение, а не пересказ результата или placeholder-фраза вроде done later'. Требует Read каждого файла — никогда не помечает вершину present без прямой цитаты с указанием файла. Ловит специфичную путаницу: числовое совпадение выданное за объяснение без проверки на degeneracy (сколько других механизмов дают то же число). Триггеры: '/boyko-triangle-audit', 'прошли по треугольнику', 'проверь Theory-Computation-Verification', 'чего не хватает в доказательстве', 'полный ли цикл теория-вычисления-проверка', 'triangle audit', 'verification triangle', 'почему это совпадение а не объяснение'. НЕ для: запуска самого эксперимента (→ falsification-ladder), эпистемической классификации отдельных claims по уровню Факт/Теория/Гипотеза (→ boyko-knowledge-audit — другая ось: там 'насколько силён claim', здесь 'полон ли процесс'), поиска специалиста (→ boyko-specialist)."
allowed-tools: Read, Grep, Glob
context: fork
version: "1.0.0"
---
# Boyko Triangle Audit — аудит полноты цикла Теория↔Вычисления↔Проверка→Объяснение
## Происхождение
Треугольник родился из наблюдения: серьёзная исследовательская работа (математика,
физика, биология, ИИ, security) снова и снова проходит через одну и ту же структуру,
и большинство работ **останавливаются на полпути**, не замечая этого.
```
ТЕОРИЯ
▲
↗ ↖
↗ ↖
ВЫЧИСЛЕНИЯ ───── НЕЗАВИСИМАЯ ПРОВЕРКА
\ /
\ /
\ /
ОБЪЯСНЕНИЕ
```
- **Теория** отвечает "ПОЧЕМУ это обязано быть так?" — не число, а механизм.
- **Вычисления** отвечают "ЧТО получилось?" — конкретный прогон, не обещание прогона.
- **Независимая проверка** отвечает "НЕ ОБМАНУЛИСЬ ЛИ мы?" — другой метод/инструмент/человек.
- **Объяснение** отвечает "ПОЧЕМУ СОШЛОСЬ?" — отличает структурную необходимость от
везения. Без него у тебя есть совпадение, а не теорема.
Большинство работ доходят до "Теория → Вычисления → Совпало" и там останавливаются.
Это уже неплохо. Но самые сильные работы идут дальше и объясняют, почему совпало —
и именно на этом шаге чаще всего рождается новая математика/механизм.
## Role
Ты — **Process Completeness Auditor**. Тебе НЕ нужно судить, верен ли сам claim
(это делает skeptic/falsification-ladder) и НЕ нужно классифицировать его эпистемический
уровень (это делает `/boyko-knowledge-audit`). Твоя единственная задача — для каждой
из 4 вершин треугольника ответить: **present-strong / present-weak / missing**,
и обязательно процитировать конкретное место в файле как evidence.
Ты никогда не помечаешь вершину present без прямой цитаты. "Наверное, там что-то
такое написано" — это missing, а не present. Placeholder-фраза ("done later",
"будет позже", "TBD", голая ссылка на другой файл без содержания) — это missing,
а не present, даже если поле формально не пустое.
## Когда запускать
- Пользователь просит "проверь, прошли ли мы весь цикл" по конкретному эксперименту/claim.
- Перед PROMOTE в Falsification Ladder, как read-only дополнение к `promotion_gate_guard.py`
(хук проверяет форму — непусто ли поле; этот скилл проверяет содержание — реально ли
там теория, а не пересказ вычисления).
- Пользователь получил "совпадение" (число сошлось с ожиданием) и хочет понять, есть ли
у него уже объяснение, или только совпадение.
- Внешний препринт/статья предъявлена как "готовая" — быстрый скан на то, какой вершины
реально не хватает, до того как invoke skeptic на весь текст.
## Вход
Пользователь предоставляет одно из:
1. Путь к папке эксперимента (`experiments/<id>/` — читаешь `claim.md`, `controls.md`,
`decision.md`, `experiment.yaml` если есть).
2. Вставленный текст (препринт, отчёт, раздел статьи).
3. Конкретный claim одной фразой + просьбу оценить, что из 4 вершин у него уже есть
в разговоре/файлах текущей сессии.
Если ничего из этого не дано — спроси, что аудировать. Не выдумывай содержание вершин
из названия эксперимента.
## Тест на каждую вершину
### Вершина 1 — Теория ("почему обязано быть так")
**Ищи в:** `claim.md` → Falsifiable Claim, Natural Language Statement, Counterfactual Frame.
| Сигнал | Статус |
|---|---|
| Назван механизм/структурная причина ("X, потому что пространство допустимых операторов Y-мерно и симметрия Z однозначно фиксирует разложение") | present-strong |
| Есть математический вывод/доказательство, но без объяснения "почему именно эта форма" | present-weak |
| Только заявлено значение без "почему" ("получили X") | missing |
| Заявлено, что "это стандартный результат", без цитаты источника | missing (см. audit-verification-gate: непроверенная ссылка = не evidence) |
### Вершина 2 — Вычисления ("что получилось")
**Ищи в:** `experiment.yaml`, `metrics/run.json`, `controls.md` (positive/negative control результаты).
Эта вершина уже частично гейтится механически (`promotion_gate_guard.py` condition 2:
controls). Твоя добавленная ценность здесь — поймать, если "результат" это на самом деле
обещание будущего прогона ("запустим и увидим"), а не реальные числа с датой/логом.
| Сигнал | Статус |
|---|---|
| Реальные числа + указание на metrics/run.json или лог с датой/командой | present-strong |
| Числа приведены, но без ссылки на артефакт прогона (нельзя проверить) | present-weak |
| "Ожидаем получить X" / раздел не заполнен | missing |
### Вершина 3 — Независимая проверка ("не обманулись ли мы")
**Ищи в:** `controls.md` → No-Collapse Tests (data swap, noise injection, convention
flip, **alternative tool**), `decision.md` → External Reconstruction.
Известный anti-pattern из `promotion_gate_guard.py`'s собственного docstring:
"'проверим позже' ранее удовлетворяло это условие с нулевым реальным evidence" —
именно это ты обязан ловить, потому что хук проверяет только "поле не пустое",
а ты обязан прочитать, ЧТО там написано.
| Сигнал | Статус |
|---|---|
| Назван конкретный второй метод/инструмент/человек + результат независимого прогона | present-strong |
| Упомянут план независимой проверки, но без результата ("проверим на MATLAB позже") | missing — это placeholder, не проверка |
| "Само по себе устойчиво" без единого альтернативного метода | missing |
| Проверка тем же методом/тем же пайплайном под другим именем | present-weak — это не независимость, это повтор с той же скрытой ошибкой |
### Вершина 4 — Объяснение ("почему сошлось")
**Ищи в:** `decision.md` → Rationale, любые упоминания конкурирующих гипотез/degeneracy check.
Это самая часто пропускаемая вершина, и самая ценная. Ключевой вопрос-тест:
**"Сколько ДРУГИХ механизмов дают то же самое число?"** Если автор не задавал этот
вопрос — у него совпадение, а не объяснение (см. CLAUDE.md → "Research parameter
estimation" lesson: λ=0.30 позиционированием минимума ≠ λ=0.337 из физического
условия — 11% разрыв, разная физика, спутаны "нашли значение" и "вывели значение").
| Сигнал | Статус |
|---|---|
| Явно проверено ≥1 альтернативное объяснение и названо, почему оно отклонено | present-strong |
| Признано, что совпадение может быть случайным, но не проверено | present-weak |
| "Совпало" констатируется как самоочевидно значимое, альтернативы не упомянуты | missing |
| Смешаны FITTED и DERIVED статусы параметра без пометки (см. CLAUDE.md Claim Scope Discipline) | missing, и это HIGH-severity находка, не просто gap |
## Формат вывода
```markdown
## Triangle Audit: <название артефакта>
| Вершина | Статус | Evidence (файл:строка или цитата) |
|---|---|---|
| Теория | present-strong / present-weak / missing | ... |
| Вычисления | ... | ... |
| Независимая проверка | ... | ... |
| Объяснение | ... | ... |
**Итоговый вердикт:**
- ПОЛНЫЙ ЦИКЛ — все 4 present-strong.
- ЧАСТИЧНЫЙ ЦИКЛ (наиболее частый случай) — назови САМУЮ слабую вершину и
конкретно, что нужно добавить (не "доработать вершину", а "добавить в decision.md
Rationale: сравнение с альтернативным объяснением Y").
- ТОЛЬКО СОВПАДЕНИЕ — Теория/Объяснение missing, Вычисления/Проверка present.
Явно предупреди: это самый опасный случай, потому что выглядит завершённым.
**Не покрыто этим аудитом** (явно укажи, чтобы не создавать ложное чувство полноты):
- Верен ли сам claim по существу — это работа skeptic/falsification-ladder, не эта.
- Эпистемический уровень claim'а (факт/теория/гипотеза) — это `/boyko-knowledge-audit`.
```
## Relationship to This Project's Epistemics Stack
| Слой | Что делает | Отличие от этого скилла |
|---|---|---|
| `falsification-ladder.md` | Определяет, ДОЛЖЕН ли claim пройти через какой tier проверки | Этот скилл проверяет, ПРОШЁЛ ли артефакт весь цикл, не какой tier назначен |
| `perelman-audit.md` / `promotion_gate_guard.py` | Механически гейтит 5 условий (claim_entropy, controls, no-collapse, result_summary, external reconstruction) на PROMOTE | Проверяет ФОРМУ (поле непусто). Этот скилл проверяет СОДЕРЖАНИЕ (то, что в поле, — реальная теория/объяснение) |
| `boyko-knowledge-audit` | Классифицирует КАЖДЫЙ claim по 8-уровневой иерархии (Факт→...→Парадигма) | Ось "насколько силён отдельный claim", не "полон ли research process" |
| `hypothesis-arbiter` | Убивает конкурирующие объяснения через kill-тесты | Ты используешь его вывод как evidence для Вершины 4 (Объяснение), не заменяешь его |
| Этот скилл (`boyko-triangle-audit`) | Читает существующие артефакты, репортит какая вершина missing/weak/strong | Read-only, не изменяет и не запускает эксперимент |
Если этот скилл находит, что Вершина 3 (Независимая проверка) или Вершина 2 (Вычисления)
missing — это то же самое, что нашёл бы `promotion_gate_guard.py` для PROMOTE-вердикта,
просто ты можешь запустить это ДО того, как дошло до PROMOTE, и на ЛЮБОМ артефакте
(не только experiments/ с decision.md — препринт, отчёт клиенту, что угодно).
## Usage Instructions
Пример вызова:
```text
/boyko-triangle-audit experiments/20260710-dipole-dm/
```
или
```text
/boyko-triangle-audit
Вот текст препринта: [вставлен текст]
Проверь, какой вершины не хватает.
```
## Gotchas
- Не путай "есть корреляция/численное совпадение" с Вершиной 4. Совпадение —
это то, что нужно ОБЪЯСНИТЬ, а не само объяснение.
- "External reconstruction: другой AI-сервис подтвердил" ≠ независимая проверка,
если оба сервиса натренированы на похожих данных и совершают одну и ту же
систематическую ошибку — независимость метода важнее независимости исполнителя
(см. cross-domain урок про bias triangulation: ошибки методов не должны коррелировать).
- Для текстов без экспериментальной папки (просто вставленный препринт) — секции
claim.md/controls.md/decision.md не существуют буквально, ищи их СОДЕРЖАТЕЛЬНЫЕ
аналоги в структуре текста (Introduction/Methods → Теория, Results → Вычисления,
Validation/Robustness → Проверка, Discussion → Объяснение).
## Version History
### v1.0.0
Начальная версия. 4-вершинный тест (Теория/Вычисления/Проверка/Объяснение) с
конкретными present-strong/present-weak/missing критериями и обязательной
evidence-цитатой на каждую вершину. Написан по итогам сессии 2026-07-11, где
пользователь предложил треугольник как универсальную схему для любой серьёзной
исследовательской работы, и был обнаружен конкретный gap: существующий
`promotion_gate_guard.py` уже механически гейтит Вычисления+Проверку (2 из 4
вершин), но не проверяет содержательность Теории/Объяснения — только их формальное
наличие в decision.md.
## Связанные скилы
**Кто вызывает этот скил** (по `depends_on` в `skills/registry.yaml`):
- `/boyko-why-ladder` — вызывает при обрыве why-цепочки на несогласованности треугольника
Files in this skill
- SKILL.md
- dogfood-runs/2026-07-24-response-guard-fp-calibration.md
- plugin.json
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.