Дмитрий
e506a836e7
docs(router-mentor): phase-8 state snapshot + M6 FIX-5 design/plan
...
- docs/superpowers/2026-06-10-phase8-state-snapshot.md — снимок состояния
эпика «роутер-наставник» (что готово / owner-шаги / отложенное).
- M6 FIX-5 (подпись escape-гранта, key-gated, defense-in-depth): спека
(одобрена, 2 адверсар. прохода + self-review) + bite-sized TDD-план.
Реализация НЕ начата — design-only артефакты.
Кодовая фраза эпика: «роутер-наставник».
2026-06-10 05:04:52 +03:00
Дмитрий
ec73a5c2d0
docs(gate1+se2): design spec + TDD plan (М7 Фаза 8, 2 хвоста до флипа)
...
Спека docs/superpowers/specs/2026-06-09-gate1-and-se2-design.md (одобрена; 2 адверсариальных
прохода: SD-1 High «trim→артефакт не печатается» + VA-a/SE-a «fail-open→whitelist» закрыты)
+ план docs/superpowers/plans/2026-06-09-gate1-and-se2.md (4 задачи, bite-sized TDD).
2026-06-09 19:05:23 +03:00
Дмитрий
8718e2a965
docs(seal): sealed-plan production design spec + TDD implementation plan
...
Спека (ОДОБРЕНА владельцем, 2 адверсариальных разбора, 18 находок закрыты)
+ bite-sized TDD-план (7 задач) для код-предусловия флипа Фазы 8
(производство двух печатей: артефакт-решение + план-шаги).
design-only — прод-код и стена не затронуты. Эпик «роутер-наставник» М7.
2026-06-09 16:51:46 +03:00
Дмитрий
cfca7ecfaa
docs(router-mentor): A1 pre-code chain amendments (Write-only, judge-unavailable degraded-allow)
2026-06-09 08:30:43 +03:00
Дмитрий
44c194bc0f
docs(router-mentor): A1 judge gate2 wiring design spec
2026-06-09 08:11:13 +03:00
Дмитрий
45905432f8
docs(router-mentor): stage 3 replay spec data-source fix
2026-06-09 06:07:55 +03:00
Дмитрий
987feb2e40
docs(router-mentor): stage 3 replay spec
2026-06-09 06:00:15 +03:00
Дмитрий
4a0c3a98d9
docs(router-mentor): R-08 spec hardened by adversarial pass (7 SE + 2 flat variants)
2026-06-09 04:59:10 +03:00
Дмитрий
93fcb5e141
docs(router-mentor): R-08 hierarchical waves design spec
2026-06-09 04:51:39 +03:00
Дмитрий
a85d7f9d5f
docs(router-mentor): DOC-1 escape-awareness callout pered aktivaciey M6 (P6 E/G)
2026-06-09 03:24:22 +03:00
Дмитрий
f801593987
docs(router-mentor): план E/G warm-up batch (7 тасков, bite-sized TDD)
...
Инлайн-исполнение (субагенты запрещены). Порядок простое-первым P3/P2/P1/P4/P5/P6 + закрытие реестра. Точный код тестов и правок, 4 правки безопасности учтены. Также факт-правка примеров P3 в спеке (first-match порядок classifyTask).
2026-06-08 19:47:30 +03:00
Дмитрий
0774a41f13
docs(router-mentor): E/G spec — 4 правки безопасности после adversarial-анализа
...
Цепочка audit-context-building/sharp-edges/variant-analysis. P1 узкий stripPastedContext (fenced+blockquote only, не reuse stripQuotedContext — сохранить FP-смещение гейта). P2 counting-replacers по конвейеру sanitize (count==редакции). P4 escapeCell anti-injection в STATUS.md. P5 пиннинг документируемого инварианта. Жёсткие стены М2/М5/М4/М6 не затронуты.
2026-06-08 19:40:34 +03:00
Дмитрий
62d3352d3e
docs(router-mentor): spec для E/G warm-up batch (6 пунктов)
...
Дизайн утверждён владельцем. Точность наблюдателя (4-й FP-класс quoted /node, PII double-count, release-class commit) + детальный рендер доски обороны + косметика node-graph/reviewer + DOC-1 escape-awareness. Всё инлайн, TDD, commit-not-push, регрессия tools-only не ниже baseline 3174. Live-вшивка источников доски — граница B-блока.
2026-06-08 19:26:31 +03:00
Дмитрий
1aacb2fe66
docs(router-mentor): H-design — вложены находки аудита достаточности (G-A/B/E/G/H)
...
Аудит «достаточно ли паспорта для роутера и судьи» (audit-context →
variant-analysis → sharp-edges → verification). Вердикт: схема достаточна,
новое поле не нужно. Вложены 5 находок: G-E (страж дрейфа инертен при
path=="" — точечная мех-правка), G-A (разделитель близнецов в capabilities),
G-B (инвариант «минимум содержания»), G-G (норма вход/выход), G-H (инвариант
резолв+симметрия). G-F/G-C/G-D отложены. commit-not-push.
coverage: direct:brainstorming-author
2026-06-08 18:03:17 +03:00
Дмитрий
e2f5ba0406
docs(router-mentor): H-block design — node cards (R-11) + conflict edges (R-12)
...
Дизайн блока H реестра хвостов эпика «роутер-наставник»: наполнение графа
скилов данными — 86 карточек-контрактов (per-node, skill=slug) + явные
конфликт-рёбра (Tooling §9 + ADR, двусторонние) + инвариант покрытия (TDD).
Механику 3-A/3-B/3-C/3-D не трогаем. commit-not-push.
coverage: skill:brainstorming
2026-06-08 17:43:03 +03:00
Дмитрий
475d381e0c
docs(m7): fold plan-critique findings P-1..P-8 into plan + spec
...
Independent critical review of the implementation plan (audit-context ->
sharp-edges -> variant-analysis -> systematic-debugging, grounded against
real M1-M6 code). 8 findings, all code-grounded, no ghosts:
- P-1 (CRIT): content-floor "full port" was a SUBSET of BASH_HARD_BLACKLIST
(lost #21 env-prefix / #22 --watch / #34 echo-inj / C16 2>file /
cp-mv-chmod-chown-chgrp; cp X ~/.claude/runtime = escape-grant forge)
-> single source matchBashHardBlacklist relocated to shell-content-rules
(Task 1.0.5) + §12 content-floor invariant proves completeness.
- P-2 (CRIT): canonicalAction has no PowerShell branch -> every PS command
collapses to 'write:' -> one escape unlocks ALL PS commands; Task 1.5 test
was spuriously green (both sides equally broken) -> Task 1.2b + specificity.
- P-3 (HIGH): PS floor branch returned block:false skipping runtime/secret
guard (command field not parsed) -> Set-Content ~/.claude/runtime forge
-> psProtectedWrite guard (Task 1.4).
- P-4 (MED): content-block whole-string only -> bashIsContentBlock whole+per
-segment parity with bashIsFloor (Task 1.3).
- P-5 (MED): suspicious blind to content-danger -> suspicious |= contentBlock.
- P-6 (MED): §12 CI-invariants ownerless -> assigned per phase (phase rule).
- P-7 (LOW): Phase 0 fail-CLOSE "subset" unlisted -> explicit hook list.
- P-8 (LOW): plan = detailed Phase 1 + scoped skeleton -> honest framing.
Plan: Tasks 1.0.5/1.1/1.2b/1.3/1.4/1.5/1.6 + phase-transition rule + self-review.
Spec: §5 PowerShell row, §12 M5 line, §13 addendum.
No code built. commit-not-push.
2026-06-08 08:20:40 +03:00
Дмитрий
b98b18850a
docs(m7): критический разбор спеки — поправки V1/V1-PS/SE-I/SE-C/SE-K/SE-D/SE-A/SE-B
...
Независимый критический разбор дизайна М7 (цепочка audit-context-building →
sharp-edges → variant-analysis → systematic-debugging). Фактология §2
подтверждена реальным кодом 8/8; sweep Класса 1 полон. Закрытия:
- V1/V1-PS (КРИТИЧНО): полный port BASH_HARD_BLACKLIST + PowerShell-набор в
content-floor М5 (правило 8), блок независимо от плана. Иначе in-plan
node -e / curl-exfil / npm install проскальзывали как шаг плана; node -e
мог подделать escape-грант и подорвать машины изнутри.
- SE-I/L6: escape-survivability (правило 7) — тотальные canonicalAction/
normalize, panic-ветка до per-tool-логики, чтение escape всеми остающимися
fail-CLOSE-стражами (read-path-deny/mcp-classification/normative-content-rules).
- SE-C/SE-K: журнал-K2 честно ограничен skill:-каналом; +PostToolUse
skill-журналер + seed-allow реактивных навыков (иначе seed/ad-hoc навыки
в журнал не попадают).
- SE-D: граница КАРТА/ЗАКОН для .mjs через "покрыт ли правкой план-шаг"
(build-loop не клинит, ad-hoc самомодификация требует escape).
- SE-A: §4.2 метки [Pre]/[Stop]. SE-B: манифест до полного набора М1-М6.
- §1 промис снабжён предпосылками П1/П2/П3 + 4-е структурное условие; §13 changelog.
Verify-item прошлого handoff закрыт фактом: enforce-parallel-session-lock = no-op.
Только спека (.md), код не трогался.
2026-06-08 07:48:13 +03:00
Дмитрий
9e7ca7ef19
docs(m7): дизайн Машины 7 — растворение зоопарка + непробиваемая дисциплина + полный переезд М1–М6
...
Design-doc (12 секций + само-аудит) + DONE-handoff дизайн-фазы.
Цепочка: audit-context-building + sharp-edges + variant-analysis + brainstorming.
Карта обходов дисциплины (6 классов + корень enforce-hook-helpers:7) → поглощение
в М1–М6 по 6 правилам (fail-CLOSE / PreToolUse / журнал-факт / escape-only / манифест / громко).
3 куска М7: зоопарк+дисциплина / normative-канал (карта свободно, закон — escape) / доска «кто на посту».
Реализация НЕ начата — ждёт ревью владельца → writing-plans. commit-not-push.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 07:06:00 +03:00
Дмитрий
20c85ede09
docs(router-mentor): M6 аудит плана — G-1 α (escape сквозь стену М2) + G-2/G-5/G-6/G-8
...
Аудит плана реализации (writing-plans self-review + audit-context-building сквозь
М1–М5 + sharp-edges). Главная находка G-1: верховная стена М2 (enforce-supreme-gate
Δ7 + разговорный режим) блокирует разрушительное/мутаторы независимо от пола → floor_escape
(только пол) был no-op сквозь стену. Вариант α (решение владельца): escape — сквозной
override, чтимый стеной (allow без продвижения указателя), полом, egress.
Спек: §3 +enforce-supreme-gate, §4 блок G-1 (сквозной escape) + G-5/G-6/G-8, §9 +патч,
§11 аудит-таблица. План: новый Пакет 4b (стена М2, TDD), Пакет 4 +G-2 (переписать блок
двери) +G-5 (точный токен) +G-6 (запрет override), активация +supreme-gate, self-review.
Проверено ОК: экспорты совпадают, М1/М3/М4 не ломаются, общий канал askuser-decisions
фильтр по type. Только дизайн-артефакты, кода нет. Без push (commit-not-push).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 18:18:59 +03:00
Дмитрий
3fb7a0517f
docs(router-mentor): M6 spec — синк floor-escape-consume из плана (one-shot PostToolUse)
...
При написании плана выяснилось: строгая одноразовость «погашение после реального
исполнения» (§4 F-S1) требует отдельного PostToolUse-консьюмера. Добавлены модули
floor-escape-consume.mjs (ядро) + enforce-floor-escape-consume.mjs (обёртка) в §3/§9,
уточнён §4 (погашение после исполнения → сбой снимка пропуск не тратит), §9 активация
+ PostToolUse, §11 поправка план→спек. Спек и план теперь совпадают.
Только дизайн-артефакт, кода нет. Без push (commit-not-push).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 18:01:05 +03:00
Дмитрий
47de8447dd
docs(router-mentor): M6 design — факт-аудит кода, правки F1-F4/F-S1/F-S2/I1-I4
...
Аудит спека М6 тремя линзами (audit-context-building сверка с реальным кодом М5 +
sharp-edges; agentic-actions-auditor неприменим — CI-scope). Внесены правки:
F1 настоящий §4.5-парсер = askuser-answer-parser + enforce-askuser-answer-parser
(не enforce-branch-switch).
F2 floor-набор разнесён на 3 локуса (Bash / Write-ветка / egress); escape на все три (B).
F3 binding = точное совпадение канонической строки (normalizeCommand / tool:pathNormalize
/ egress), не хеш над classifyDestructive (тот даёт булевы).
F4 toApprovalRecord git-only → migrate:fresh/db:wipe/.env были не одобряемы; floor_escape
закрывает.
F-S1 escape = отдельный kind floor_escape + отдельный reader + one-shot консум
(не переиспользование 5-мин approve_git_operation).
F-S2 снимок: чистое дерево → ref=HEAD (успех); fail-close только на реальную ошибку git.
I1-I4 переиспользование helper'ов / честный scope снимка / ясность runtime-записи хуком /
фиксация неприменимости agentic-actions-auditor.
§11 — карта находка→правка. Только дизайн-артефакт, кода нет. Без push (commit-not-push).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:40:32 +03:00
Дмитрий
d02932b053
docs(router-mentor): M6 design — escape + auto-snapshot (brainstorming)
...
Машина 6 (новая фаза дизайна эпика «роутер-наставник»): аварийный выход (escape)
+ авто-снимок (git-точка возврата). Достраивает безопасность пола М5.
Решения с владельцем: Р-М6-1 scope = escape + снимок (М7 = normative-канал /
растворение зоопарка / доска); Р-М6-2 escape = всплывающий вопрос (side-channel,
отпечаток-binding); Р-М6-3 escape на весь floor-список (B); Р-М6-4 снимок = git-
состояние (A); Р-М6-5 подход A (escape в floor-decide + отдельный enforce-snapshot).
Spec: docs/superpowers/specs/2026-06-07-router-mentor-machine-6-design.md.
Только дизайн-артефакт, кода нет. Без push (commit-not-push).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:15:20 +03:00
Дмитрий
89f4d1a011
docs(m5): self-review — явная пометка о замене §3 Блок 2
...
Δ4 опровергает фразу §3 Блок 2 «нельзя прочесть ключ в своём
процессе» (читается через node tools/X.mjs) — добавлен явный
маркер замены, чтобы спек не противоречил сам себе.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 10:30:48 +03:00
Дмитрий
930630955e
docs(m5): амендмент 2026-06-07 — фаза 4 brainstorming + факт-аудит
...
3 развилки (дверь владельца в М5 / отпечаток «по делу»+мутация /
честный двухтакт reconcile) + переписаны призраки: Δ4 (подписант =
анти-казуальная утечка + шов под HSM, НЕ защита ключа от контроллера)
и Δ6 (используем существующую runGateLadder, не новую функцию) +
N1 (classifyDestructive двухуровневый — голый migrate не блокировать,
иначе пол ломает деплой) + N5 (тест-инвариант строгой проверки пола).
Каждый claim проверен по реальному коду M1-M5 (audit-context-building).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 10:29:46 +03:00
Дмитрий
5dc6785940
docs(router-mentor): Machine 5 floor — design spec (audit-driven)
...
М5 «укрепление защиты-пола» — дизайн после корреляционного аудита
М5 ↔ М1/М2/М3/М4 (Фазы 1-2: построчный контекст audit-context-building
+ 3 адверсариальные линзы — грабли/корректность/атака — по всему периметру).
Главная находка: стена М2 = соответствие плану, НЕ пол → легитимно
запечатанный необратимый шаг (force-push/migrate:fresh/секрет/runtime)
проходит, пол не вызывается. 5 блоков: вето-до-плана / изоляция ключа
(отдельный процесс-подписант) / критерий-носитель / 7 усилений /
сквозные fail-close инварианты. Карта закрытия W1/C1-C5/H1/H3/F-серия.
Решения: полный объём; отдельный процесс-подписант; граница М5↔М6 =
только шов. Design-only — не построено.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 09:53:43 +03:00
Дмитрий
afb01219cb
docs(router-mentor): Машина 4 (судья) — полный дизайн + само-аудит F1-F10 + проверка 26 хуков
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 17:53:22 +03:00
Дмитрий
0ee7874c88
docs(router-mentor): conversational-phase router design (M3) + K7 pre-mortem contract (M4) + P16-e revision
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 10:39:24 +03:00
Дмитрий
77d2b9be16
docs(router-mentor): sync 26-point coverage map with M2 build + M3 canon
...
Сверка 2026-06-04: все 26 назначений «пункт → машина» актуальны и
непротиворечивы (собранное в M2 подтверждено по коду). Внесены 6 пометок
дельты, назначения по машинам не менялись:
- п.15: default-deny уточнён зелёным проходом (finding 9) + узкое Write-
исключение K4 (Вариант А, реализуется в 3-D)
- п.23: D29 как отдельный сверщик растворён → роль у артефакта + закрытой
двери (C-7); якорь «сырая просьба» сохранён в P16-e (M3)
- п.24: добавлен контракт K5 (судья судит план как будущее, «проверено» за
факт не берёт; реальное проверено = рантайм-сентинел M5)
- п.26: routing-tag ещё живой, редизайн escape отложен в M6
- мастер-карта: K5 добавлен в аварийный блок Машины 4 (рядом с K1/K2)
- чертёж M2: условие В синхронизировано с каноном K4 (читаемый .md через
узкое исключение; печать seal — только каналом одобрения)
2026-06-04 18:59:52 +03:00
Дмитрий
8e342be430
docs(router-mentor-m3): M3 shape + K4 resolution (Variant A) + router discipline (§6) + K5 judge-rule-2 contract
...
Brainstorm 2026-06-04: K4 artifact-write narrow exemption; 5 sub-plans (3-A..3-E); router-discipline levers A-G; 3-layer=triage+delegate-to-real-nodes; skill-imitation closure (234/236); criterion-not-verified judge rule (K5, loud block for Machine 4). All 6 review findings closed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 18:43:43 +03:00
Дмитрий
8a790e6f14
docs(router-mentor-m2): actualize blueprint with C/L + fresh-eyes revision + cross-machine contracts
...
- Машина 2 чертёж: вшита C/L-надстройка (два плана, две печати, закрытая дверь, контракт скила), решения A-K
- Fresh-eyes ревизия 2026-06-04: findings 1-5 (закрытая дверь починена: ref+artifact_id+версия+persist+who-seals), 6-7 (D29 поглощена слоем, D33 → два режима), 8 (растворён призмой нет-болтовни), 9 (зелёный проход = нет долговременного/исходящего эффекта + условия А/Б/В), мелочи 10-12
- Аварийный блок межмашинных контрактов K1-K4 (М4/М5/М3) — без них зелёный проход и снятие D29 = дыры
- Мастер-карта: НАДСТРОЙКА C/L, Машина 1 собрана, красные маркеры K1-K4 в разделах М3/М4/М5
- Дизайн-спека: D33 ревизия (нет болтовни → два режима) + баннер секции
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 15:37:26 +03:00
Дмитрий
de530a130d
docs(router-mentor): M2 review 2026-06-04 — C-1..C-14, L-series, M1 confirmed no-rework
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 12:27:12 +03:00
Дмитрий
1cc5431b23
docs(router-mentor): handoff для новой сессии — решения Машины 2 A/B/заморозка + остаток C-G
2026-06-04 06:02:32 +03:00
Дмитрий
6a8c8494a6
docs(router-mentor): 3.4/3.5 закрыты — обучение роутера только по одобрению владельца
2026-06-03 17:10:20 +03:00
Дмитрий
940070685a
docs(router-mentor): аудит хуков, 26-пунктная карта, два прохода усилений, чистовой список
2026-06-03 17:02:39 +03:00
Дмитрий
3b2ffecab4
docs(router-mentor): судья пройден полностью A-I + полный граф узлов + риск-фильтр роутера
...
Дизайн «роутер-наставник» (brainstorm-стадия, не канон):
- Полный граф+каталог узлов 100% роутеру и судье (отменено код-сужение; кэш, обновление на добавление узла в 4 местах)
- Риск-фильтр у роутера (бывш. W1+W2): тройка где-сломается/больно/откатимо, чинит сам, без блока
- Судья B (вход) / C (граница по обратимости) / D (Sonnet на воротах + код-сверка на исполнении)
- Качество плана и скилов = мерило + совет; дисциплина судьи; H (реакция владельца)
- Дыры I-1..I-4 + 3 призрака разобраны (I-2 закрыт, остальное аут/остаток)
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
2026-06-02 12:56:11 +03:00
Дмитрий
97a0490be1
docs(router-discipline): critical review - 7 holes + pre-spec discipline question
...
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
2026-06-01 19:20:11 +03:00
Дмитрий
9c82cb0218
docs(router-discipline): D29-D36 + router equipment catalog (6 groups)
...
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
2026-06-01 16:28:09 +03:00
Дмитрий
9689a6e5b8
feat(router): max_tokens 1500->15000 + task_type rasinhron fix + design notes (router-mentor)
...
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
2026-06-01 11:50:17 +03:00
Дмитрий
84dcf4aab3
docs(router-gate-v4): safe-baseline spec v4 + plan + handoff (item 1b)
2026-05-31 05:58:13 +03:00
Дмитрий
c86fdfc9eb
docs(router-gate-v4): safe-baseline spec v3 — fold 2nd adversarial review (V2-1/V2-2/V2-4) (item 1b)
2026-05-30 20:44:26 +03:00
Дмитрий
9f84d9ef09
docs(router-gate-v4): safe-baseline spec v2 — close C1/C2/C3/H1 from adversarial review (item 1b)
2026-05-30 20:31:23 +03:00
Дмитрий
6d512f5cf3
docs(router-gate-v4): safe-baseline live-wiring design spec (item 1b)
2026-05-30 20:12:39 +03:00
Дмитрий
4686b36571
docs(region): lead-region-resolution spec v0.5 + 6-session plan
2026-05-30 15:38:54 +03:00
Дмитрий
0e768f9aa0
docs(spec): router-gate v4.0+v4.1+v4.2 design (behavioral + max-judges + VM sandbox)
...
Three-spec package for router-gate next-generation:
- v4.0 base (2249 lines) — поведенческий разворот: removes 16 защит-призраков
v3.9, adds Round 8 closures, adds 5 Directions (safe-baseline metering,
skill scope verifier, decomposition detector, TodoWrite verifier,
brain-retro Table 16). Target aggregate bypass ~15-25%.
- v4.1 max-closure amendment (1051 lines) — Layer 1-4: 8 Round 8 GAPs +
behavioral hard-blocks + universal vocab removal + 3-judge consensus
(Sonnet+Haiku+Opus) + per-tool LLM-judge + response scan. Target ~2-5%.
Cost +$300-1500/month ongoing.
- v4.2 VM-sandbox amendment (411 lines) — Layer 5 phased for solo developer:
Phase 1 VirtualBox isolation сейчас (~$0, 10-12h), Phase 2 biometric +
Phase 3 HSM via single YubiKey ($50-150) когда захотите. Two-person rule
removed (solo dev). Target ~0.5-0.8%.
Combined v4.0+v4.1+v4.2 full: ~0.5-0.8% aggregate bypass (close to
theoretical floor ~0.5% per §1.1 7 fundamental limits).
Implementation: ~49-65h sequential / 30-40h parallel through
subagent-driven-development. User wants parallel multi-session execution
for speed; writing-plans skill next.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-29 18:13:08 +03:00
Дмитрий
a6bde2125a
spec(router-gate): concentrate v3.9 — убрать audit-trail и version-history overhead
...
Заказчик: «перепиши спек, убери все лишние оставь только то что необходимо для
создания плана, но сам план не делай. Только помни нельзя потерять в качестве и
объеме ни в коем случае!»
После 10 раундов adversarial audit спек вырос до 2964 строк / 288KB. Большая часть
объёма — audit-trail и история эволюции через раунды:
- 8 «Changes vX → vY» overview-таблиц в начале (~245 lines)
- 11 версионных entries в §11 v3.9-v1 (~380 lines)
- inline traceability markers «v3.6 R5-audit H1 fix:» / «v3.7 R-NEW-4 closure:»
Эта информация дублируется (mechanism описан и в TL;DR overview, и в §11 entry,
и in-place в §3-§5) и НЕ нужна для составления implementation плана.
Что убрано (НИ ОДНОГО технического механизма не потеряно):
- Edit 1: «Changes v3.8 → v3.9» giant overview (13-row table + adversarial pre-check
+ implementation breakdown + Главный урок + Generalisable formula + Methodology +
Связано) → 1 reference paragraph
- Edit 2: «Changes v3.7 → v3.8», «Changes v3.6 → v3.7», ... «Changes v1 → v2»
(9 overview blocks + 4 FATAL table + Доп v3.8 closures C5-E30 list + adversarial
pre-check v3.8 table) → один Timeline эволюции v1→v3.9 paragraph
- Edit 4: §11 v3.8/v3.7/v3.6/v3.5/v3.4/v3.3/v3.2/v3.1/v3/v2/v1 entries → один
условный compaction-summary («### v1 – v3.8 — 9 раундов, 105 holes»). v3.9
entry полностью сохранён — план будет ссылаться на R7 closure details.
Что сохранено verbatim (100% technical content):
- §1 Цель и контекст / §2 Принципы дизайна
- §3 Архитектура: §3.0 PowerShell hook / §3.0.1 OS-keychain / §3.1 protected paths
(~80 paths + path normalization NFC/8.3/inode) / §3.2 subagent inheritance +
parent_random_id sentinel / §3.2.0 10 smokes / §3.2.1 automated bootstrap /
§3.3 failure modes / §3.4 subagent constraints + tool_result scanner / §3.5
atomic writes / §3.6 gate budget + state cache / §3.6.1 dep-checksums /
§3.6.2 normative-content second-layer
- §4 Decision Flow (Поведения 1-4 + §4.5 AskUser parser + §4.6 partial unlock +
§4.7 question quality detector 3-layer LLM-judge)
- §5 Безопасная база + MCP classification / §5.1 Bash rules (whitelist +
hard-blacklist + conditional + path-deny + SKILL_BASH_ALLOW + sub-shell sweep) /
§5.1.2 PowerShell mirror / §5.2 multi-language static scan (PHP/Ruby/Go/Java)
- §6 Recovery: 3 levels + §6.1 cheatsheet + §6.2 PII guard + §6.3 redacted reason
- §7 Logging + §7.1 coverage-hint coordination
- §8 Этапы реализации (implementation order matrix + риски миграции)
- §9 Open questions + acceptable residuals R-NEW-7..R-NEW-19
- §10 Cross-refs + §10.1 functions/registry + §10.2 ALL state schemas verbatim
(router-state, chain-state, askuser-decisions, router-gate-decisions, subagent-
inheritance, subagent-block, parent-sentinel, restricted/journal-access-log,
edited-files, coverage-hint, gate-errors, gate-config v3.9 fields, session-counters)
+ §10.3 test strategy + §10.4 success metrics + §10.5 rollback + §10.6 parallelism
- §11 v3.9 entry полный (R7 closure mechanism + generalisable formula + 13-row table)
Verification:
- Spec: 2964 → 2404 строк (-560 lines / -19%); технический объём ≥99%
- Mechanism keyword counts: fs.lstatSync 4 / parent_random_id 29 / SKILL_BASH_ALLOW 9
/ schema_version 11 / Поведение[1-4] 17 / node_modules 15 / claude-md-management 19
/ approve_git_operation 28 / subagent-block 14 / restricted/ 21 / keytar 15
/ shell-quote 17 / dep-checksums 11 / multi-judge 8 / NFC|normalize 12
/ mcp_tool_classification 7 / /etc/hosts 11 / git rev-parse HEAD 5
- markdownlint 0 errors; cspell 0 issues
- All §1-§11 sections intact (12 top-level headings preserved)
§0 cross-refs не меняются — spec-only, не tooling-канон / не ADR / не off-phase
подкатегория. Self-contained для writing-plans skill input в следующей сессии.
Methodology: EnterPlanMode → write plan → user approval → ExitPlanMode → 4 Edits
(Edit 3 inline-marker trim skipped как cosmetic — quality бы не выросло).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 14:58:46 +03:00
Дмитрий
8910ae6cd6
spec(router-gate): v3.8 → v3.9 Round 7 audit closure (13 классов, 3 фундаментальные плоскости)
...
Round 7 adversarial audit (через superpowers:brainstorming skill) выявил 13 классов
которые 9 предыдущих раундов не покрывали:
- 2 FATAL: F5 Read-leak parent_random_id через Glob+Read (R-NEW-4 обнулён),
F6 subagent tool_result.content exfil
- 4 CRITICAL: C12 system DNS/config (/etc/hosts/~/.ssh/registry) вне §3.1,
C13 || true exit-code spoof (per-token vs per-chain),
C14 subagent state exfil,
C15 §5.2 multi-language gap (PHP/Ruby/Go test runners)
- 5 SERIOUS: S22 Skill(claude-md-management) exemption backdoor,
S23 Workflow args parameter payload,
S24 path-equivalence (Unicode NFC/NFD + Windows 8.3 + hardlinks),
S25 MCP filesystem/redis write tools classification,
S26 stop-keywords morphology gaps
- 2 EDGE: E31 gate-error reason disclosure (probing pattern),
E32 LLM-judge cache cross-session persistence
18 spec edits: header bump + TL;DR + Changes v3.8→v3.9 table + §3.1 system paths
+ parent-sentinel→restricted + §3.4 PostToolUse Task scanner + §3.6.2 normative-content
second-layer gate + §4.5 stop-keywords expanded + §4.7 cache per-session + §5 MCP
classification + §5.1 chain ANY-mutating + PostToolUse rev-parse verify + §5.1.2
PowerShell mirror + §5.2 multi-language scan + §6.3 redacted reason mode + §9 13 closures
+ §10.2 gate-config v3.9 fields + §11 v3.9 history entry.
Spec: 2554 → 2964 строк (+410 lines). Budget: 45-60h (v3.8) → 53-72h (v3.9).
Закрыто 118 holes total через 10 раундов adversarial audit.
cspell-words.txt +18 терминов (exfiltration/exfil/NFD/RCE/syscall/Inodes/PROGRA/
resolv/nsswitch/ics/HKCU/HKLM/fsutil/unstar/mvn/popen/брэйншторм/стопаем).
Generalisable formula R7 (новая): для каждого следующего audit задавать 3 вопроса
до enumeration — какие safe tools/paths/chains дают visibility/leverage; какие
границы scope подразумеваются но не enforce'ятся; где per-token vs per-chain
formulation gap есть в композиции.
§0 cross-refs не меняются — spec-only, не tooling-канон / не ADR / не off-phase
подкатегория.
Methodology: superpowers:brainstorming skill + AskUserQuestion scope choice
(user выбрал «Полное v3.9 closure всех 13»).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 14:36:36 +03:00
Дмитрий
46c4316966
spec(router-gate): v3.6-3.8 sweep — rounds 5/6 closure (45 holes in 22 classes)
...
Adversarial audit rounds 5+6 на v3.5 spec выявили 45 attack-векторов:
- Round 5 (v3.5→v3.6 + v3.6→v3.7 maximum-closure): 15 + 7 acceptable residual closed
- Round 6 (v3.7→v3.8): 30 attack-векторов в 18 классах вкл. 4 FATAL
v3.6 — Round 5 closure (15 holes, +9 protected paths, Smoke 4-7,
§5.1↔§4.5 sync, recovery-pattern hard-block в §4.7).
v3.7 — Maximum closure pass (7 v3.6 residual + edge): LLM-judge на
каждую AskUser-опцию (R-NEW-1), parent_random_id 256-bit sentinel
(R-NEW-4), restricted/ subdir + journal-reader CLI (R-NEW-2),
shell-quote tokenizer (R-NEW-3), TF-IDF + LLM-judge для off-topic
(R12), smart batching multi-question AskUser (S6), git stash variants
в conditional class (Edge).
v3.8 — Round 6 closure (30 holes в 18 classes):
- F1 PowerShell tool gate (был полностью вне scope §5.1 — обнуляло
архитектуру на Windows)
- F2 Workflow internal agent() enumeration (nested агенты вне
gate-visibility — unlimited bypass)
- F3 node_modules whole-dir hard-deny + dep-checksums verification
через SHA-256 ключевых deps
- F4 LLM-judge anti-injection (delimiter tokens + pre-filter +
multi-judge consensus Sonnet+Haiku)
§3.1 protected paths расширен +30 entries (memory/CLAUDE.md/Pravila/
PSR/Tooling с Skill exemption для claude-md-management, CI/CD configs,
lint/build configs, plugin cache, shell init, npm configs, node_modules,
parent-sentinel, dep-checksums, expected-path).
§3.0.1 OS-keychain для LLM key (Windows Credential Manager / Keychain /
libsecret через keytar); key не в process.env → не утечёт через npm
test stdout.
§3.2.1 automated bootstrap smoke (1/5/6/7 на каждый session start,
cached 7 days); user-run остаётся для 3/4/8.
§6.1 docs/recovery-procedures.md новый файл — пошаговая шпаргалка
PowerShell-команд для 3 уровней recovery.
Budget: 13.5-20h (v3.5) → 22.5-32h (v3.6) → 33-44h (v3.7) → 45-60h (v3.8).
Закрыто 105 holes total через 9 раундов adversarial audit.
Generalisable lesson v3.8: каждый раунд аудита должен начинать с
abstract classification классов атак до enumeration конкретных дыр.
v3.7 «maximum closure» был maximum внутри границ воображения v3.6 R5-audit;
Round 6 показал что сами границы имели дыры.
Spec: 1980 → 2554 строк (+1110 inserts / -44 deletes за v3.6-3.8 sweep).
+13 терминов в cspell-words.txt (PowerShell aliases, npm deps).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 13:55:11 +03:00
Дмитрий
71b07e52eb
audit(spec): 51 findings + 8 MUST critical fixes inline
...
Adversarial audit condensed router-gate spec через 3 parallel
Sonnet adversaries (9 attack zones). 51 finding total:
10 BYPASS-COMPLETE + 17 PARTIAL + 9 DOS + 15 INFO. Spec
заявление «hard wall полный» НЕ выдерживает.
8 MUST critical inline fixes applied:
- §5.1 Bash: <<< here-string, node REPL/stdin block,
< input redirect, tokenizer per-arg path-deny check
(closes CRITICAL-9/8/6 + PARTIAL-15)
- §3.1 path normalization: UNC \?\ prefix strip,
8.3 short names expand via GetLongPathName,
unresolved $VAR fail-CLOSE
(closes CRITICAL-3/4/5)
- §4 Поведение 1: source restriction — detector проверяет
только organic root user prompt, НЕ AskUser chosen_label
(closes CRITICAL-1 design flaw)
- §8 Implementation order matrix: Этап 2.3 branch-switch
rewrite MUST complete BEFORE Этап 3 enforce-mode
(closes CRITICAL-10 S8 migration regression)
- §1.4: gate-config.json protected с Этапа 1.4 ранее
(closes DOS D-1 tiny-budget patch attack window)
5 SHOULD-FIX + 5 DOS-MUST-ADDRESS deferred в writing-plans
(§9 «Audit findings deferred» documented для plan pickup).
Audit report saved at:
docs/superpowers/audits/2026-05-29-router-gate-condensed-
adversarial-audit.md
cspell-words.txt: +UNC, +EACCES (valid technical terms).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 09:50:18 +03:00
Дмитрий
d4f7e681f6
docs(spec): condensed plan-ready router-gate hard wall v3.5
...
Prep для writing-plans фазы: 1489 → ~850 строк (-43%) убрав
§11 историю версий + 4 TL;DR «Changes vN→vN+1» блока + inline
audit-метки «closes Дыра N v4-audit».
Sonnet subagent verified 63/63 design decisions present + 3
места где condensed улучшил оригинал (subagent-inheritance
schema без stale parent_router_state_path полей, §8 Этап 1.2
+git-pattern, §10.6 sequential 2.1.0→2.1→2.2→2.3).
Оригинал 2026-05-28-router-gate-hard-wall-design.md v3.5 не
тронут (audit-trail сохраняется в git log).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 09:21:19 +03:00
Дмитрий
6c6796d84a
chore(spec): cosmetic markdownlint auto-fix in router-gate v3.5
...
Markdownlint added blank line before list in TL;DR v3.5 Changes section. Cosmetic, no semantic change. Captured to keep working tree clean for session handoff.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 08:31:21 +03:00