Запрос
текст
Добудь факт «Черновик правки адаптера в шве причины, расширяя существующие абстракции, с перечнем задетых читателей.» (kernel_adapter_patch). Выбирать, когда: Законы с проверками написаны.. Нужны: ["result_error_rca","kernel_statement_drafts"]
owner
{"id":"egor"}
company_name
Shadums
company_oneliner
ядро решений: согласует цель, раскладывает задачу на паттерны; знакомые паттерны переиспользуются быстро через Jev и алгоритмы без вызова большой модели, незнакомое дорешивает LLM и сохраняется паттерном с условием, когда он снова нужен
edge_jev
Jev — быстрая модель TypeSafe AI, в раннем доступе с 15 сентября 2026; TypeSafe заявляет на своих workflow-тестах ускорение 193.6x и снижение стоимости 444.6x относительно сравниваемых LLM (цифры производителя, верхняя граница; собственных замеров Shadums нет — Shadums их себе не приписывает)
edge_window
новый выпуск Jev — окно быстро выйти на рынок; занять его первыми — стремление, не подтверждённый факт
edge_quality
ожидаемый эффект декомпозиции — меньше ошибок и галлюцинаций, потому что знакомое не генерируется заново, а переиспользуется проверенным; измеренного подтверждения пока нет
edge_speed
скорость, лёгкость, адаптивность: каждая решённая задача делает следующую похожую быстрее и дешевле
traction
ядро проходит цикл «задача → паттерн → повторное использование без модели»; три цели в одном графе; код ядра проходит круг код → цель → код (165/165 тестов); выручки нет
team_credential
Егор, основатель; год не пишет код руками — построил платформу агентов, которая делает это за него
round_details
ранний раунд; сумма и условия открыты; сильная дистрибуция важнее цены
deck_link
демо будет готово к понедельнику 28 сентября 2026, ссылку пришлю после
call_slots
неделя 28 сентября — 2 октября, онлайн, 20 минут
sender_signature
Егор, основатель Shadums, shadums.com
proof_roundtrip
код ядра (4 модуля, 54 функции) прошёл круг «код → одна цель → код»: 165/165 тестов, 0 ошибок типов; ранее одна функция decide — 112/112 проверок поведения
proof_reuse
одно правило, полученное от модели, применено к 70 вхождениям в 45 функциях; 2450 из 2875 конструкций собраны обратно за 26.8 с без моделей; повтор того же входа — ноль вызовов модели
proof_portable
переносимость ядра проверена на двух доменах; повторная обработка и восстановление после прерывания протестированы локально
positioning
цель должна переживать разговор с ИИ: система удерживает цель, выполняет, проверяет результат и сохраняет найденный способ как исполняемый опыт; решения объяснимы — видно основание, правило можно поменять
ask_format
15–20-минутный показ демо; персонализация под тезис/портфель адресата обязательна; просьба о личных $4k к 20 октября НЕ актуальна и в письмо не идёт
vision_shared_brain
проект — развивающийся общий мозг: каждый решённый способ (паттерн) сохраняется как исполняемый опыт, и повтор стоит ноль вызовов модели; ценность создаёт тот, кто исследовал, а потребляет тот, кто переиспользует
economy_pay_for_research
платить за время, потраченное на исследование, когда этой работой потом пользуются другие: у записи паттерна есть кто её родил (mintedBy) и цена рождения (вызовы модели, веб-вызовы, время из расписок), у каждого повтора — факт применения без модели; разница между ценой рождения и ценой повтора измерима в реестре
open_registry_as_spec
реестр паттернов открыт на чтение как исполняемая спека платформы (назначение, посылки, форма, законы, источники, цена и число повторов); это стимулирует изучать платформу: чужая запись, взятая из реестра, приносит автору отметку и повтор без модели; запись — только через допуск с проверками
karate_labs_meeting
Созвон с Karate Labs: 28 сентября 2026, 12:30 UTC (09:30 Буэнос-Айрес, 13:30 UK, 18:00 Индия), Google Meet https://meet.google.com/xjv-scuu-sju. Участники с их стороны: Kapil Bakshi (CEO, сооснователь), Peter Thomas (CTO, сооснователь, автор фреймворка Karate), Pier-Jean. Повод: моё прямое письмо основателю «Engineer who works through coding agents» (05.09.2026); Кэпил ответил 11.09 «How are you placed week of 21 Sep?», созвон был назначен на 25.09 и перенесён ими на 28.09 (принято 23.09). Формат: знакомство с основателями, роль инженера не опубликована — уточнить в разговоре.
owner_timezone
America/Argentina/Buenos_Aires, UTC−3, без летнего времени
company_jurisdiction
юридического лица нет — компания ещё не зарегистрирована (слово владельца 2026-09-25 ~17:2xZ: «компании нет никакой»)
neighbor_setting_code
["revision: HEAD = ref: refs/heads/main (.git/HEAD:1); main = 4afbc7a78f291e928cf80125f0c0d3f199e31fbc (.git/refs/heads/main:1), read now (observed)","drift from prior map 5bddb3ac7d50659d4b7f458f84612508fa91deba: 1 commit, .git/logs/refs/heads/main:7390 — 5bddb3ac7d50659d4b7f458f84612508fa91deba to 4afbc7a78f291e928cf80125f0c0d3f199e31fbc (fast-forward from the prior map's SHA, observed); files changed: UNKNOWN (packed objects, no git diff with Read/Grep only). Inferred, not verified: .git/COMMIT_EDITMSG:1-7 describes a bridge-watcher change (_bridge-hand-watch, cdp-sweep; tsc over shared and dev-platform), which would be outside token-vault and app. Because of that, every anchor below was re-read at 4afbc7a and all matched the prior map's lines","neighbor choice: pool reserve floors (poolReserve and poolBackgroundReserve, PoolReserveSettings) — like the target priorityAccount, it is a property of the whole pool, not of one account; it is live (loaded at boot, PATCHed without a restart); it lives in the same doc-service row vault_settings/pool-reserve; it is read by dispatch and by health; it has a screen control. The neighbor is not the target: grep priorityAccount in packages returns 0","port (found, observed): packages/token-vault/src/ports/IPoolReserveStore.ts:23-32 — interface IPoolReserveStore (load, save); :13-18 StoredPoolReserves (partial: interactive, background, updatedAt, updatedBy); :21 PoolReservePatch","storage (found, observed): packages/token-vault/src/infrastructure/DocServicePoolReserveStore.ts:26 — class DocServicePoolReserveStore implements IPoolReserveStore; :7-8 DB imperiaos, COLLECTION vault_settings; :15 DOC_ID = pool-reserve; :50-51 $set under upsert with returnDocument after; :68-77 function pick keeps only its own finite fields (a new field must be added here or it gets dropped)","overlay (found, observed): packages/token-vault/src/domain/policy.ts:82 let storedReserves: StoredSettingsOverlay; :85 interface StoredSettingsOverlay; :91 setStoredPoolReserves; :96 getStoredPoolReserves; :101 __clearStoredPoolReservesForTest; :179 poolReserveSetting; :184 poolReserveFraction","use-case (found, observed): packages/token-vault/src/application/PoolReserveSettings.ts:47 class PoolReserveSettings; :58-71 load (non-fatal, log.error at :66); :74-82 current returns PoolReserveView; :89-117 update: validate, then store.save at :107, then apply at :111; :119-131 apply writes the overlay and checks it back at :127-130; :24 PoolReserveRejected","wiring (found, observed): packages/token-vault/src/server.ts:12-13 imports DocServicePoolReserveStore and PoolReserveSettings; :214 new PoolReserveSettings(new DocServicePoolReserveStore(STORAGE_URL)); :215 await poolReserve.load(); :256-257 registerRoutes receives poolReserve; packages/token-vault/src/routes.ts:43 optional slot poolReserve?: PoolReserveSettings","routes (found, observed): packages/token-vault/src/routes.ts:157-163 GET /api/pool/reserve (503 'pool reserve settings not wired' at :159, otherwise ok:true plus current() at :162); :165-189 PATCH /api/pool/reserve (update at :174; PoolReserveRejected gives 400, anything else gives 500 at :184; log.error at :186)","reads/health (found, observed): routes.ts:218-226 GET /api/tokens/health spreads checkHealth.execute(); packages/token-vault/src/application/CheckHealth.ts:60-61 read poolReserveSetting() and poolBackgroundReserveSetting(); :91-94 poolReserve, poolBackgroundReserve, poolReserveSource, poolReserveLimits; packages/token-vault/src/domain/types.ts:221 HealthSummary, :280 poolReserve, :282 poolBackgroundReserve, :289 poolReserveSource, :291 poolReserveLimits; list routes.ts:192-215 GET /api/tokens, selection.rank at :208; dispatch reads the floor at packages/token-vault/src/application/GetBestToken.ts:464 poolReserveFraction(), with the 'pool reserve breached' refusal at :485-486, before ranking","shared helper and ALL callers (found, observed; grep -w rankTokens in packages returns 4 call sites plus the definition and imports): definition packages/token-vault/src/domain/selectionChain.ts:211 rankTokens(candidates, now); callers: GetBestToken.ts:362 (inside private rank at :361, which is called at :496 primary, :499 fallback and :534 last resort, where the filter is isAdministrativelyActive and not isProviderWindowFull rather than canServeRequest); CheckHealth.ts:52 bestAvailable; SwitchActiveToken.ts:105 switch to next; routes.ts:201 list rank. The imports at GetBestToken.ts:12, CheckHealth.ts:10, SwitchActiveToken.ts:6 and routes.ts:17 are not calls","tests (found, observed): packages/token-vault/src/__tests__/pool-reserve-settings.test.ts:49 fakeStore(initial: StoredPoolReserves); :113 READ; :147 WRITE; :197 'survives the restart'; :207 APPLY; packages/token-vault/src/__tests__/pool-reserve.test.ts:170 describe poolReserveFraction; :325 'GetBestToken — the floor reads WHO is asking'; route-test pattern for another route: packages/token-vault/src/__tests__/patch-metadata-route.test.ts:88 registerRoutes(app, makeStubUseCases(repo)); screen: packages/app/tests/unit/vault-account-list.test.ts:2 imports vaultGroups and vaultOrder only","proxy (found, observed): packages/app/app/api/tokens/route.ts:26 GET, fetchVault /api/tokens at :28 and /api/tokens/health at :29; :40 POST only, no PATCH export; :73-91 action pool-reserve sends a PATCH to VAULT_URL/api/pool/reserve at :75, returns 503 'Token vault unreachable' when there is no response (:89), and otherwise passes the vault's status through (:91)","screen (found, observed): packages/app/views/platform/TokenVaultView.tsx:134 health keys poolBackgroundReserve, poolReserveSource, poolReserveLimits, poolForecast; :1332 function AccountCard(token, spend, now, doAction, actionLoading); :1338 isActive = status active; :1339 rank = token.selection.rank or null; :1361 card root div with a green frame when isActive and no onClick; :1434 activate button doAction('switch'); :1544 list.map renders AccountCard; :2036 doAction; :2055 reserveError; :2075-2090 onReserveCommit does fetch('/api/tokens?action=pool-reserve') at :2082, calls setReserveError on failure at :2087 and invalidateAsyncData('platform:tokens') on success at :2088","ABSENT (grep at HEAD 4afbc7a): 'priorityAccount|api/pool/priority|pool-priority|PoolPriority' in packages, excluding node_modules — 0; 'api/pool/reserve|rankTokens' in packages/token-vault/src/__tests__ — 0 (no route test for the reserve, no direct rankTokens test); 'AccountCard|pool-reserve' in packages/app/tests — 0; PATCH export in packages/app/app/api/tokens/route.ts — 0 (only GET at :26 and POST at :40)","divergences (outside the layer model): packages/token-vault/src/application/SwitchActiveToken.ts:105 and CheckHealth.ts:52 order tokens with rankTokens directly, not through GetBestToken.rank, so a priority applied only in GetBestToken.rank at :361 would not reach switch-to-next, health bestAvailable or the list rank at routes.ts:201 (inference); GetBestToken.ts:534 last resort calls the same rank on tokens that cannot serve, so the priority must be gated on canServeRequest inside rank or kept out of that tier (inference, matches S2-14); pick in DocServicePoolReserveStore.ts:68-77 and PoolReservePatch at IPoolReserveStore.ts:21 accept numbers only, so a string or null priorityAccount in the same document needs its own field handling (inference)"]
acceptance_scenarios
["@stmt-1 @set [S1-01] Дано: priorityAccount пула = null, в пуле аккаунты acc1 и acc2. Когда: владелец записывает приоритет пула accountName = «acc2». Тогда: ответ ok:true, priorityAccount = «acc2»; повторное чтение приоритета возвращает «acc2».","@stmt-1 @set [S1-02] Дано: priorityAccount = «acc2» (самопереход). Когда: владелец записывает приоритет accountName = «acc2». Тогда: ok:true, priorityAccount = «acc2», ошибки нет; повторное чтение возвращает «acc2».","@stmt-1 @unset [S1-03] Дано: priorityAccount = «acc2». Когда: владелец записывает приоритет accountName = null. Тогда: ok:true, priorityAccount = null; повторное чтение возвращает null.","@stmt-1 @unset [S1-04] Дано: priorityAccount = null (повторное снятие, no-op). Когда: владелец записывает приоритет accountName = null. Тогда: ok:true, priorityAccount = null, ошибки нет; повторное чтение возвращает null.","@stmt-1 @toggle [S1-05] Дано: priorityAccount = «acc1». Когда: владелец записывает приоритет accountName = «acc2». Тогда: ok:true, priorityAccount = «acc2»; повторное чтение возвращает «acc2»; у пула одно значение, acc1 больше не приоритет.","@stmt-1 @toggle @sequence [S1-06] Дано: priorityAccount = null. Когда: владелец записывает accountName = «acc1», и затем записывает accountName = null. Тогда: итоговое чтение возвращает null, ровно исходное состояние.","@stmt-1 @sequence @negative [S1-07] Дано: priorityAccount = null. Когда: владелец записывает accountName = null, и затем записывает accountName = «acc1» (порядок S1-06 переставлен). Тогда: итоговое чтение возвращает «acc1», а не null.","@stmt-1 @negative [S1-08] Дано: priorityAccount = «acc1». Когда: владелец отправляет запись приоритета без ключа accountName. Тогда: отказ, код 400, ok:false, причина в поле error; save хранилища не вызывался; чтение возвращает «acc1».","@stmt-1 @negative [S1-09] Дано: priorityAccount = null. Когда: владелец записывает приоритет accountName = 42. Тогда: отказ, код 400, ok:false; save хранилища не вызывался; чтение возвращает null.","@stmt-1 @dependency-down [S1-10] Дано: priorityAccount = «acc1»; хранилище настроек отвечает error на save. Когда: владелец записывает приоритет accountName = «acc2». Тогда: отказ, код 500, ok:false, запись ошибки в журнале; чтение возвращает «acc1»; выдача продолжает ставить acc1 первым (порядок: проверка, хранилище, память).","@stmt-1 @dependency-down [S1-11] Дано: хранилище настроек unavailable на load. Когда: волт стартует. Тогда: старт не падает, в журнале ошибка загрузки; чтение приоритета возвращает null; выдача идёт без приоритета.","@stmt-1 @dependency-down [S1-12] Дано: волт собран без объекта настроек пула. Когда: владелец читает приоритет пула. Тогда: отказ, код 503, ok:false, текст «not wired» (как у маршрутов резерва).","@stmt-1 @happy [S1-13] Дано: priorityAccount = «acc2» записан в хранилище. Когда: процесс волта перезапускается с тем же хранилищем. Тогда: чтение приоритета возвращает «acc2» (образец: тест резерва «survives the restart»).","@stmt-1 @happy [S1-14] Дано: в общем документе хранилища фоновый резерв 0.08, priorityAccount = null. Когда: владелец записывает приоритет accountName = «acc2». Тогда: чтение резерва даёт background 0.08; чтение приоритета даёт «acc2».","@stmt-1 @happy [S1-15] Дано: priorityAccount = «acc2», фоновый резерв 0.05. Когда: владелец записывает резерв background = 0.08. Тогда: чтение резерва даёт background 0.08; чтение приоритета по-прежнему «acc2».","@stmt-1 @characterization [S1-16] Текущее поведение. Дано: в хранилище документ резерва в сегодняшнем виде, без поля priorityAccount, с interactive 0.05 и background 0.08. Когда: волт загружает настройки. Тогда: чтение резерва отдаёт interactive 0.05 и background 0.08, как до правки; чтение приоритета отдаёт null.","@stmt-2 @set @happy @tier-primary [S2-01] Дано: acc1 util7d 0.30, acc2 util7d 0.80, оба primary и способны обслужить запрос; при null выдаётся acc1; priorityAccount = «acc2». Когда: интерактивный вызов выдачи токена. Тогда: выдан accountName = «acc2».","@stmt-2 @happy @tier-primary [S2-02] Дано: acc1 util7d 0.30, acc2 util7d 0.50, acc3 util7d 0.80, все способны обслужить; priorityAccount = «acc3». Когда: вызов выдачи. Тогда: первый кандидат acc3; взаимный порядок acc1 и acc2 после него совпадает с порядком при null.","@stmt-2 @unset @tier-primary [S2-03] Дано: acc1 util7d 0.30, acc2 util7d 0.80; приоритет acc2 снят, priorityAccount = null. Когда: вызов выдачи. Тогда: выдан acc1; порядок кандидатов совпадает с порядком без функции.","@stmt-2 @toggle @tier-primary [S2-04] Дано: acc1 util7d 0.30, acc2 util7d 0.80; приоритет переключён с acc1 на acc2, priorityAccount = «acc2». Когда: вызов выдачи. Тогда: выдан acc2, acc1 стоит вторым.","@stmt-2 @negative @tier-primary [S2-05] Дано: acc1 util7d 0.30, acc2 util7d 1.00 (мёртв), priorityAccount = «acc2». Когда: интерактивный вызов выдачи. Тогда: выдан acc1; порядок кандидатов совпадает с порядком при null.","@stmt-2 @negative @tier-primary [S2-06] Структура с примерами. Дано: порог недели 1.00 (VAULT_TURN_HEADROOM_7D = 0), acc1 util7d 0.30, priorityAccount = «acc2». Когда: вызов выдачи при util7d acc2 из строки примеров. Тогда: примеры (одна строка — одно нарушение): 0.99 выдан acc2; 1.00 выдан acc1; 1.01 выдан acc1.","@stmt-2 @negative @tier-primary [S2-07] Дано: priorityAccount = «acc2», статус acc2 = disabled, acc1 жив. Когда: вызов выдачи. Тогда: выдан acc1, порядок как при null.","@stmt-2 @negative @tier-primary [S2-08] Дано: priorityAccount = «acc9», в пуле только acc1 и acc2. Когда: вызов выдачи. Тогда: выдан тот же аккаунт и в том же порядке, что при null; ошибки нет.","@stmt-2 @negative [S2-09] Дано: priorityAccount = «acc2», acc2 жив, acc1 жив. Когда: вызов выдачи с исключением acc2. Тогда: выдан acc1; acc2 не выдан (приоритет упорядочивает только выживших после жёстких фильтров).","@stmt-2 @negative [S2-10] Дано: priorityAccount = «acc2», оба живы. Когда: вызов выдачи с привязкой к acc1. Тогда: выдан acc1.","@stmt-2 @negative [S2-11] Дано: priorityAccount = «acc2», лучший остаток недели 0.03 при интерактивном полу 0.05. Когда: интерактивный вызов выдачи. Тогда: отказ с текстом «pool reserve breached», токен не выдан.","@stmt-2 @negative @tier-fallback [S2-12] Дано: acc1 роль primary, жив; acc3 роль fallback, жив; priorityAccount = «acc3». Когда: вызов выдачи. Тогда: выдан acc1 (роль сильнее приоритета: fallback не соревнуется с живым primary).","@stmt-2 @happy @tier-fallback [S2-13] Дано: primary acc1 и acc2 с util7d 1.00; fallback acc3 util7d 0.30 и acc4 util7d 0.60, оба живы; priorityAccount = «acc4». Когда: вызов выдачи. Тогда: выдан acc4.","@stmt-2 @negative @tier-last-resort [S2-14] Дано: порог недели 0.80 (VAULT_TURN_HEADROOM_7D = 0.20), acc1 util7d 0.85, acc2 util7d 0.90, ни один не способен обслужить, окно провайдера не выбрано, fallback нет, requireUsable не задан; priorityAccount = «acc2». Когда: вызов выдачи. Тогда: выдан тот же аккаунт и порядок кандидатов тот же, что при null в этой конфигурации; acc2 не поднят приоритетом.","@stmt-2 @happy @tier-model-aware [S2-15] Дано: model-aware включён, запрошенная модель не капнута ни на acc1, ни на acc2; acc1 util7d 0.30, acc2 util7d 0.80; priorityAccount = «acc2». Когда: вызов выдачи с этой моделью. Тогда: выдан acc2.","@stmt-2 @negative @tier-model-aware [S2-16] Дано: model-aware включён, запрошенная модель капнута на acc2 и не капнута на acc1; priorityAccount = «acc2». Когда: вызов выдачи с этой моделью. Тогда: выдан acc1.","@stmt-2 @sequence @set [S2-17] Дано: экземпляр выдачи создан при priorityAccount = null, acc1 util7d 0.30, acc2 util7d 0.80. Когда: владелец записывает приоритет «acc2», и затем тот же экземпляр выполняет вызов выдачи. Тогда: выдан acc2, без перезапуска (образец: тест резерва APPLY).","@stmt-2 @sequence @negative [S2-18] Дано: экземпляр выдачи создан при priorityAccount = null, acc1 util7d 0.30, acc2 util7d 0.80. Когда: тот же экземпляр выполняет вызов выдачи, и затем владелец записывает приоритет «acc2» (порядок S2-17 переставлен). Тогда: этот вызов выдал acc1.","@stmt-2 @dependency-down [S2-19] Дано: хранилище настроек unavailable на load при старте; acc1 util7d 0.30, acc2 util7d 0.80. Когда: вызов выдачи. Тогда: выдан acc1, порядок как при null, отказа выдачи нет.","@stmt-2 @characterization [S2-20] Текущее поведение. Дано: priorityAccount = null. Когда: полный прогон существующих тестов выдачи (привязка, исключение, фолбэк, модельные капы, резерв). Тогда: 0 упавших; выбор и порядок совпадают со снимком, записанным на ревизии 5bddb3a до правки.","@stmt-3 @set @happy [S3-01] Дано: priorityAccount = «acc2». Когда: экран читает сводку здоровья волта. Тогда: ok:true и priorityAccount = «acc2».","@stmt-3 @set @happy [S3-02] Дано: priorityAccount = «acc2». Когда: экран читает список токенов. Тогда: ok:true и priorityAccount = «acc2».","@stmt-3 @unset [S3-03] Дано: priorityAccount только что снят в null. Когда: экран читает сводку здоровья. Тогда: ключ priorityAccount присутствует со значением null.","@stmt-3 @unset [S3-04] Дано: priorityAccount только что снят в null. Когда: экран читает список токенов. Тогда: ключ priorityAccount присутствует со значением null.","@stmt-3 @toggle [S3-05] Дано: приоритет переключён с acc1 на acc2. Когда: экран читает сводку здоровья. Тогда: priorityAccount = «acc2».","@stmt-3 @negative [S3-06] Дано: priorityAccount = «acc2», acc2 util7d 1.00. Когда: экран читает список токенов. Тогда: priorityAccount = «acc2», а selection.rank у acc2 = null (исчерпанный не имеет места в выдаче).","@stmt-3 @dependency-down [S3-07] Дано: хранилище настроек unavailable на load при старте. Когда: экран читает сводку здоровья. Тогда: ok:true, priorityAccount = null; поля poolReserve, poolBackgroundReserve, poolReserveSource, poolReserveLimits присутствуют.","@stmt-3 @characterization [S3-08] Текущее поведение. Дано: priorityAccount = null, сохранён interactive резерв 0.05. Когда: экран читает сводку здоровья и список токенов. Тогда: poolReserve = 0.05; poolBackgroundReserve, poolReserveSource, poolReserveLimits и selection.rank каждого токена совпадают со снимком до правки; новое только поле priorityAccount.","@stmt-4 @set [S4-01] Дано: приоритета нет, карточки acc1 и acc2 в группе с недельной квотой. Когда: владелец выбирает карточку acc1. Тогда: уходит запись priority = «acc1»; подсвечена только acc1; после обновления данных экрана подсветка у acc1.","@stmt-4 @unset [S4-02] Дано: подсвечена acc1. Когда: владелец снова выбирает карточку acc1. Тогда: уходит запись priority = null; подсвеченных карточек 0; после обновления данных тоже 0.","@stmt-4 @toggle [S4-03] Дано: подсвечена acc1. Когда: владелец выбирает карточку acc2. Тогда: уходит запись priority = «acc2»; подсвечена только acc2; подсвеченных карточек ровно 1.","@stmt-4 @toggle @sequence [S4-04] Дано: приоритета нет, карточки acc1 и acc2. Когда: владелец выбирает acc1, и затем снова выбирает acc1. Тогда: записи ушли в порядке «acc1», null; подсвеченных карточек 0, ровно исходное состояние.","@stmt-4 @negative [S4-05] Дано: подсвечена acc1. Когда: владелец нажимает кнопку «активировать» внутри карточки acc2. Тогда: уходит действие switch; запись приоритета не уходит; подсветка остаётся у acc1.","@stmt-4 @dependency-down [S4-06] Дано: подсвечена acc1; волт отвечает на запись приоритета отказом с кодом 503. Когда: владелец выбирает карточку acc2. Тогда: подсветка остаётся у acc1; на экране текст отказа (образец: прокси резерва передаёт статус отказа экрану).","@stmt-4 @dependency-down [S4-07] Дано: прокси экрана получает reachable = false и health = null. Когда: экран обновляет данные. Тогда: подсвеченных приоритетом карточек 0.","@stmt-4 @characterization [S4-08] Текущее поведение. Дано: priorityAccount = null. Когда: экран отрисовывает карточки. Тогда: рамка и порядок карточек совпадают со снимком до правки; зелёная рамка только у карточки со статусом active.","@stmt-4 @happy [S4-09] Дано: карточки acc1, acc2, acc3; priorityAccount = «acc3». Когда: экран отрисовывает карточки. Тогда: подсвечена ровно 1 карточка — acc3.","@stmt-4 @sequence [S4-10] Дано: приоритета нет, карточки acc1 и acc2. Когда: владелец выбирает acc1, затем acc2, затем acc2. Тогда: записи ушли в порядке «acc1», «acc2», null; после третьего выбора подсвеченных карточек 0.","@stmt-4 @sequence @negative [S4-11] Дано: приоритета нет, карточки acc1 и acc2. Когда: владелец выбирает acc2, затем acc2, затем acc1 (порядок S4-10 переставлен). Тогда: записи ушли в порядке «acc2», null, «acc1»; подсвечена только acc1.","@stmt-5 @happy [S5-01] Дано: набор из двух аккаунтов, priorityAccount = «acc2». Когда: прогон тестов пакета token-vault. Тогда: зелёные тесты «жив — первый» и «мёртв (util7d 1.00) — порядок как без приоритета».","@stmt-5 @negative [S5-02] Дано: мутант, в котором rank ставит приоритет первым без проверки способности обслужить. Когда: прогон тестов пакета token-vault. Тогда: тест «мёртв (util7d 1.00) — порядок как без приоритета» красный.","@stmt-5 @negative @tier-last-resort [S5-03] Дано: мутант, в котором приоритет поднимается и в ярусе last resort. Когда: прогон тестов пакета token-vault. Тогда: тест сценария S2-14 красный.","@stmt-5 @happy [S5-04] Дано: волт с поддельным хранилищем в памяти. Когда: прогон тестов маршрутов. Тогда: зелёные set, unset, switch с повторным чтением после каждой записи и отказ с кодом 400 на пустое тело.","@stmt-5 @negative [S5-05] Дано: мутант маршрута, вызывающий save хранилища до проверки тела. Когда: прогон тестов маршрутов. Тогда: тест «запись не выполнялась» для тела без accountName красный.","@stmt-5 @dependency-down [S5-06] Дано: поддельное хранилище в памяти бросает error на save, реальная сеть не используется. Когда: прогон тестов маршрутов. Тогда: зелёный тест: отказ с кодом 500 и повторное чтение возвращает прежнее значение «acc1».","@stmt-5 @sequence [S5-07] Дано: приоритета нет, карточки acc1 и acc2. Когда: проверка экрана выбирает acc1, затем acc2, затем acc2. Тогда: проверка зелёная: записи ушли в порядке «acc1», «acc2», null, подсвеченных карточек 0.","@stmt-5 @sequence @negative [S5-08] Дано: экран-мутант, который на повторный выбор шлёт priority = «acc2» вместо null. Когда: проверка экрана выбирает acc1, затем acc2, затем acc2. Тогда: проверка красная — после третьего выбора acc2 осталась подсвеченной.","@stmt-5 @characterization [S5-09] Текущее поведение. Дано: набор тестов token-vault и app на ревизии 5bddb3a (включая vault-account-list.test.ts). Когда: прогон до и после правки. Тогда: 0 упавших прежних тестов; число прежних тестов не уменьшилось."]
reproducer_test
packages/app/tests/unit/vault-card-tooltip-owner.test.tsx: F2P — открываем ⓘ-панель карточки acc1. Панель видна, но над кнопкой ⓘ всплывает подсказка всей карточки «click to make this account the pool priority — served first while it has headroom». Ожидается, что подсказки нет. Красный предсказан, не запущен
work_screen_tree
["ЦЕЛЬ (мета-характеристика): дерево рабочих экранов (не лендингов), на которых человек ставит задачу и видит, как она делается; нужно, чтобы найти в нём узел экрана shadums.com (ввод, вывод, дерево классификации цели)","КОРЕНЬ (N=11: ChatGPT, Claude, Manus, Devin, Cursor, Lindy, Dust, n8n, LangGraph Studio/LangSmith, Relevance AI, Perplexity): (1) вывод результата виден на рабочем экране, 11/11 = 1.00; причина по принципу: человек отдаёт работу, чтобы получить результат, и принять его или возразить может только тогда, когда видит его там же, где поставил задачу · (2) ход работы виден, 10/11 = 0.91 в широком прочтении (включая статус «Thinking»); в узком прочтении (только пошаговый след) 9/11 = 0.82; причина по принципу: работа, отданная другому исполнителю, скрыта от человека, и без видимого хода он не может ни проверить результат, ни вмешаться вовремя. Решение по нормализации: в корень идёт широкое прочтение; узкое тоже ≥ 0.8, поэтому состав корня от этого выбора не меняется. Какой 1 сайт не показывает ход работы, в записях не названо (пробел)","НЕ В КОРНЕ: «вывод в ленте разговора или треда» 6/11 = 0.55 (отсутствие, различие ветвей); «вывод на холсте или в графе» 3/11 = 0.27 (отсутствие); «вывод в файлах кода» 2/11 = 0.18 (отсутствие); место поля ввода, вложения и голос, панель истории, источники и цитаты, действия над результатом, показ ошибки и ожидания, поведение при повторе задачи — в записях не заполнены, это пробел [—], а не отсутствие. Их нельзя ни отклонить, ни использовать для деления. Отклонённых признаков с долей ≥ 0.8 нет","КОРЕНЬ → ребро «вывод: где показан = холст или граф сценария» (внешняя причина: сегмент и бизнес-модель — продают сборку повторяемой автоматизации, а не ответ на разовый запрос) → ПЛАТФОРМА СЦЕНАРИЕВ [n8n, LangGraph Studio/LangSmith, Lindy], лист из 3; остановка: в записях нет следующего документированного свойства с внешней причиной различия","КОРЕНЬ → ребро «вывод: где показан = файлы кода в IDE или редакторе» (внешняя причина: платформа и сегмент — результат для разработчика это изменение репозитория) → КОД В СРЕДЕ [Devin, Cursor]","КОД В СРЕДЕ → ребро «среда: где запущена = боковая панель редактора пользователя (Cmd+I)» (внешняя причина: канал — работает внутри локального редактора владельца) → ИНСТРУМЕНТ В РЕДАКТОРЕ [Cursor], лист из 1 (меньше 2 записей)","КОД В СРЕДЕ → ребро «среда: где запущена = сессия агента в веб-приложении app.devin.ai» (внешняя причина: канал и бизнес-модель — облачная песочница агента, работа отдаётся целиком) → АГЕНТ-РАЗРАБОТЧИК [Devin], лист из 1 (меньше 2 записей)","КОРЕНЬ → ребро «вывод: где показан = лента разговора или треда задачи» (внешняя причина: сегмент — широкий круг работников умственного труда, привычный канал — переписка) → РАЗГОВОР [ChatGPT, Claude, Dust, Perplexity, Manus, Relevance AI]","РАЗГОВОР → ребро «вывод: единица = задача (разговор задачи, статусы, шаринг задачи)» (внешняя причина: бизнес-модель — продают делегирование автономной работы, а не ответ) → ДЕЛЕГИРОВАННАЯ ЗАДАЧА [Manus, Relevance AI]","ДЕЛЕГИРОВАННАЯ ЗАДАЧА → ребро «ход работы: где показан = живая среда агента (браузер, VS Code), управление можно перехватить» (внешняя причина: платформа — агент работает в своём компьютере или браузере) → [Manus], лист из 1 (меньше 2 записей)","ДЕЛЕГИРОВАННАЯ ЗАДАЧА → ребро «ход работы: где показан = шаги и запуски инструментов в треде, одобрение вызова инструмента» (внешняя причина: сегмент и регуляция — корпоративная «рабочая сила» агентов, где действия требуют надзора человека) → ОЧЕРЕДЬ ЗАДАЧ АГЕНТА [Relevance AI], лист из 1 (меньше 2 записей)","РАЗГОВОР → ребро «вывод: единица = ответ-сообщение в разговоре» (внешняя причина: бизнес-модель — ассистент «вопрос → ответ») → ЧАТ-АССИСТЕНТ [ChatGPT, Claude, Dust, Perplexity], лист из 4; остановка: следующий возможный делитель (например, источники и цитаты у Perplexity) в записях не заполнен, это пробел, поэтому делить нельзя","КОНВЕРГЕНЦИЯ (convergent=true, для объединения ветвей не используется): «живая среда агента, управление можно перехватить» независимо возникла у Manus (ветвь РАЗГОВОР) и у Devin (ветвь КОД В СРЕДЕ, по документации Devin: IDE с перехватом управления); чат-ввод поверх холста (n8n — чат агента; Lindy — «Ask Agent Builder») независимо повторяет поле ввода ветви РАЗГОВОР","ПРОВЕРКА РАЗБИЕНИЯ: листы 3 (ПЛАТФОРМА СЦЕНАРИЕВ) + 1 (Cursor) + 1 (Devin) + 1 (Manus) + 1 (Relevance AI) + 4 (ЧАТ-АССИСТЕНТ) = 11 = N; каждая запись лежит ровно в одном листе, пересечений нет"]
statement_coverage_verdicts
["Случай 1 «работало только после выкатки, а ядро сказало принято»: утверждения 122 (task-target.json:412), 123 (:413), 124 (:414). По тексту — частично: 123 и 124 требуют выкатку и живую пробу, а исход admitted только по зелёной внешней пробе; но зелёная дверь с 0/0 проверок нигде не запрещена. По коду — частично: proveOutward task.ts:4947–4992, liveDeployPort :7079, liveProbePort :7129, подключены в CLI :7305–7306, вопрос observed :2987–3001; проверки [s123:8ef5acdb] и [s124:ba568455] есть, но только на подставных портах. Итог — частично. Остаток: R1, R2, R3, R4, R5","Случай 2 «клик по карточке перекрыл тултипы»: утверждения 125 (:415), 126 (:416), а также 124 (:414) — проба экрана взаимодействием. По тексту — целиком: 125 прямо называет «hover ребёнка под новым кликом родителя» и требует вопроса владельцу, 126 судит свойство родителя проверками частей. По коду — нет: в task.ts и packages по hover, tooltip, interaction, stopPropagation, statement 125/126 найдено 0; проверок s125 и s126 в statement-checks 0. Итог — частично (есть только текст). Остаток: R1, R6, R7, R8","Случай 3 «клик мигает весь экран»: ни одно утверждение в 0–126 это свойство не называет; соседние — 125 (:415, проверки взаимодействия render+event+assert, но только для уже существующих взаимодействий) и 126 (:416). Утверждение 127 (:417) называет этот спецймен, но оно вне диапазона. По тексту — нет, по коду — нет (тот же пустой grep), проверок 0. Итог — нет. Остаток: R9, R10"]
kernel_statement_drafts
<список правок П1…Пn>
kernel_statement_draft
ПРАВКА 81
glossary_term_lines
[" | 'attribute'\n | 'fact'\n | 'law'"," // Имя — утв. 67 (task-target.json:357, ATTRIBUTES записи); подъём к родителю — утв. 126 (:416); поправка имён 2026-09-27 ~14:1xZ: «свойство = АТРИБУТ записи».\n attribute: {\n definition:\n 'Признак записи паттерна, по которому строится дерево классификации: производимый ключ output и kind, ключи needs, требования из checks, вид artifact и сегменты пути parent. ' +\n 'Признаки частей поднимаются к родителю метками (утв. 126; в коде ядра этого пока нет).',\n legalIn:\n 'Дерево классификации ядра (решётка «записи × атрибуты», утв. 67) и подъём от частей к родителю (утв. 126). ' +\n 'НЕ факт: атрибут описывает запись и пустоту значением не закрывает. НЕ закон: атрибут с префиксом law: только называет закон, который запись держит; судит закон. ' +\n 'Слово «свойство» из утв. 126 — это же понятие, отдельной статьи у него нет.',\n ...forms(['attribute', 'атрибут', 'atributo'], ['attributes', 'атрибуты', 'atributos'], ['attributes', 'атрибутов', 'atributos']),\n },"," // Имя — утв. 111 (task-target.json:401, A FACT IS A RECORD OF THE ONE DOMAIN TREE).\n fact: {\n definition:\n 'Запись паттерна без посылок и пустот: kind form, output — ключ, bestForm — значение, которое подставляется без вызова модели; владелец записи — mintedBy, место — путь parent в дереве домена. ' +\n 'Значение по ключу закрывает пустоту (посылку) другой записи.',\n legalIn:\n 'Реестр паттернов (утв. 111; отдельный файл runtime/state/facts выведен из обращения), заполнение посылок по ключу (утв. 29, 30) и спуск, который решает, что показать модели. ' +\n 'НЕ атрибут: факт несёт значение, а не описывает запись. НЕ закон: факт ничего не требует и сам не проверяется. Факты — владельца (mintedBy), паттерны — общие.',\n ...forms(['fact', 'факт', 'hecho'], ['facts', 'факты', 'hechos'], ['facts', 'фактов', 'hechos']),\n },"," // Имя — утв. 64 (task-target.json:354, A LAW IS A REQUIREMENT OF THE GOAL); практики узла — утв. 75 (:365); поправка имён 2026-09-27 ~14:1xZ: «ограничение = ЗАКОН».\n law: {\n definition:\n 'Требование цели, по которому судится ответ: объект из текста требования, исполнимой проверки test и источника source (request, owner, domain, observed). ' +\n 'Требования, общие всем записям узла решётки, составляют практики этого узла (утв. 75).',\n legalIn:\n 'Цель ядра (утв. 64), допуск записи и суд ответа; «утверждение» цели ядра (goals.task.statements) — это закон, второго слова нет. Узел у закона и наследование вниз по спуску — задача текущей цели, в коде этого пока нет. ' +\n 'НЕ атрибут: атрибут описывает запись, закон требует и судит над атрибутами. НЕ практика: практика — «как», закон — «что обязано выполняться». НЕ факт: у закона нет значения, есть проверка.',\n ...forms(['law', 'закон', 'ley'], ['laws', 'законы', 'leyes'], ['laws', 'законов', 'leyes']),\n },"]
law_node_classification
["ИТОГ 129 = 95 по узлам + 1 в корне по построению + 26 схлопнуты в корень + 7 дефектов «нет блока проверки»; каждый id 0–128 стоит ровно в одной корзине, множества id сверены","kernel/adapter/record (10): 1,3,6,7,8,21,30†,49,64,73†","kernel/adapter/input (9): 5,10,13,14,15,16,17,52,86","kernel/adapter/transport (2): 18,19","kernel/adapter/descent (10): 26,54,67,98,99,100,101,102,104,105","kernel/adapter/cycle (6): 12,20,22,23,27,112","kernel/adapter/cycle/mint (12): 24,33,35,36,38,50,55,69,70,74†,76,113","kernel/adapter/cycle/mint/research (3): 45,75,116","kernel/adapter/cycle/experience (5): 25,37,40†,60,62","kernel/adapter/composition (2): 94†,117","kernel/adapter/composition/premises (17): 4,29,44,57,61,63,66,71,72†,77,78,83†,90†,97†,106,119,120","kernel/adapter/composition/compose (4): 2,46,93,96","kernel/adapter/executors/door (6): 53,59,85,108,122,123","kernel/adapter/executors/door/deploy (1): 124","kernel/adapter/executors/deliver (3): 81†,82†,89†","kernel/adapter/report (5): 39,41,42,91,92†","kernel/adapter, в корне по построению (1): 51 — один производитель, склейки нет","СХЛОПНУТЫ В КОРЕНЬ, склейки (26): 0,11†,28,31,32,34,43,47,56,65,68†,79,80†,84†,87†,88†,95†,103,107,109,110,111,114,115,118,121","ДЕФЕКТ — нет своего блока проверки (7): 9,48,58,125,126,127,128","ДУБЛИ (канон ← дубли): 79←80; 86←87; 91←92; 49←30; 65←40; 71←72; 76←77, 90, 94; 5←0, 11; 1←0, 11; 3←0, 21; 4←0; 6←0; свойство 9 судится внутри блока s0","ДРЕЙФ ТЕГА — блок с тегом N судит свойство соседнего закона (20): 11,30,40,68,72,73,74,80,81,82,83,84,87,88,89,90,92,94,95,97; собственное свойство законов 11, 30, 40 и 89 не судит ни один блок"]
node_laws_change_patch
["Черновик правки ядра (статус: не применено и не запущено; дверь на этом шаге не запускалась, в рабочее дерево ничего не записано; ленд только через дверь после accepted от стороны, отличной от автора).","БАЗА, опоры перечитаны сейчас: imperiaos main = 0ba0bab522abbd4e64056e21f570bd71553a70c2 (.git/refs/heads/main:1). Это новее 4afbc7a из соседней карты, поэтому номера строк task.ts сдвинулись: место из RCA task.ts:4822–4824 теперь task.ts:4846 (doorReceiptText: total ?? 0) и :4897 (cause = null при green=true). Остальные опоры на 0ba0bab: DoorGoal task.ts:117–128; DoorResult :130–147; conceptPractices :2053; спуск practices по уровням run.classified.path в researchMethod :2140–2167; doorGoalOf :4814–4841; runDoor :4865–4920; ORACLE_RED_CAUSE :744, DOOR_IO_CAUSE :747; glossary.ts: TermId :32–47 (последний член 'codex' :47), GLOSSARY закрывается на :325. door-ts (…/opus-pattern-catalog/door-ts, вне репозитория imperiaos): targetGoals run-target.ts:4220, given :4231, :4234 уже разворачивает объект-закон с полем text, runTarget :4296, обходчик :4463–4464 — совпали с входом. Пробел: sha door-ts не назван (Read/Grep не дают).","ЧИТАТЕЛИ И ФОРМА ЗАПИСИ (первая часть отчёта). Выбран вариант «запись-объект text+parent», а не параллельный goals.task.nodes[i] (второй склад, привязанный к индексу). Поле называется parent, как у записей паттернов и фактов: дерево то же. Читатели goals.task.statements: 1 вход (target.ts:70–71) и 1 переход (main.ts:128–130) — не меняются; нормализатор run-target.ts:4231–4238 — обновлён: читает text как сейчас, поле parent пропускает, наружу отдаёт string[]; обходчик run-target.ts:4463 — обновлён, первым (expand): const goals = targetGoals(TARGET.goals), иначе сырые объекты доходят до repair.ts:889/968/1106, а statementSeeds (repair.ts:776–777) молча их отбрасывает; 12 точек после нормализатора (run-target.ts:1328, 2608, 2684, 3316, 4125, 4279, 4289, 4490; plan.ts:159; repair.ts:889, 968, 1106) — не меняются, получают string[]; передача цели целиком (plan.ts:375/408/414, sharpen.ts:213, repair.ts:511/821/829/1333/1342, judge.ts:636, goal-m.json) — не меняется, получает нормализованную цель; сюита statement-checks — не меняется: 6 мест читают DoorGoal.statements из doorCalls (task.statements.test.ts:4199, 5083, 5084, 5101, 5912, 6605), а не task-target; task-oracle2.sh — 0 совпадений «statements», не меняется; goals.pattern.statements (task-target.json:432) — мигрирует позже. Итого 17 мест: 2 обновлены, 14 не меняются, 1 мигрирует позже.","ПОРЯДОК: (1) expand — door-ts: обходчик :4463 и нормализатор :4231–4238; (2) migrate — task-target.json:289, строка → объект text+parent; (3) contract — строковую форму в нормализаторе не убирать, пока goals.pattern не мигрирован.","СТРОКИ ГЛОССАРИЯ (glossary.ts): в TermId после :47 добавить | 'attribute' | 'fact' | 'law'; перед закрывающей скобкой GLOSSARY на :325 добавить три статьи attribute, fact и law дословно по glossary_term_lines: утв. 67 и 126 → атрибут; утв. 111 → факт; утв. 64 и 75 → закон. Синонима «утверждение» и отдельной статьи «свойство» нет.","УЗЛЫ ЗАКОНОВ (данные миграции task-target.json, parent у закона i): kernel/adapter/record — 1,3,6,7,8,21,30,49,64,73; kernel/adapter/input — 5,10,13,14,15,16,17,52,86; kernel/adapter/transport — 18,19; kernel/adapter/descent — 26,54,67,98,99,100,101,102,104,105; kernel/adapter/cycle — 12,20,22,23,27,112; kernel/adapter/cycle/mint — 24,33,35,36,38,50,55,69,70,74,76,113; kernel/adapter/cycle/mint/research — 45,75,116; kernel/adapter/cycle/experience — 25,37,40,60,62; kernel/adapter/composition — 94,117; kernel/adapter/composition/premises — 4,29,44,57,61,63,66,71,72,77,78,83,90,97,106,119,120; kernel/adapter/composition/compose — 2,46,93,96; kernel/adapter/executors/door — 53,59,85,108,122,123; kernel/adapter/executors/door/deploy — 124; kernel/adapter/executors/deliver — 81,82,89; kernel/adapter/report — 39,41,42,91,92; kernel/adapter — 51 (корень по построению) и 26 склеек 0,11,28,31,32,34,43,47,56,65,68,79,80,84,87,88,95,103,107,109,110,111,114,115,118,121; parent = null и дефект no-check-block, названы в отчёте по имени — 9,48,58,125,126,127,128. Итог 95+1+26+7 = 129. Дубли и дрейф тегов (20 законов) этой правкой не сливаются — одна логическая правка, отдельный шаг.","ЗАКОНЫ РАЗБОРА НА УЗЛАХ: новые записи 129 (R1: дверь без проверок не зелёная, cause door-no-checks), 130 (R9: фоллбек Suspense 0 раз между событием и кадром) и 131 (R10: репродьюсер red на родителе и green на ленде) — parent kernel/adapter/executors/door. Ветки правок: 124 (R2 sha в теле запроса выкатки, R3 deployed только для запрошенного sha, R4 проба сверяет тело) — parent kernel/adapter/executors/door/deploy; 123 (R5 observed=null → partial) и 125/126 (R6 извлечение взаимодействий, R7 ask при перекрытии ребёнка, R8 total ≥ числа взаимодействий) — parent kernel/adapter/executors/door. Расхождение входов: в классификации 125 и 126 стоят в дефектах, а по RCA они на двери; в черновике у них parent двери, а дефект no-check-block остаётся, пока не написаны блоки s125a, s125b и s126. Ответ «почему допустило»: на узле kernel/adapter/executors/door не было закона 129.","ПРАВКА КОДА task.ts: (а) DoorGoal :117–128 — добавить опциональное поле practices?: DoorPractice[], где DoorPractice = law, parent, test? (expand: старые двери поле не читают); (б) вынести цикл уровней из researchMethod :2148–2167 в один помощник pathLaws(run): законы conceptPractices для каждого уровня run.classified.path, class = ключ уровня; researchMethod и runDoor зовут его оба, второго механизма нет; (в) runDoor после doorGoalOf на :4871 — goal.practices = await pathLaws(run), если список не пуст; (г) вердикт: type DoorVerdict = 'pass' | 'fail' | 'not-judged'. doorVerdict(result, practices): green !== true → fail; check отсутствует или total = 0 → not-judged; total < practices.length (закон узла, чей атрибут не поднят) → not-judged; иначе pass. На :4897 тернарник заменяется исчерпывающим switch: pass → cause null; fail → DOOR_IO_CAUSE при io, иначе ORACLE_RED_CAUSE; not-judged → новая константа DOOR_NO_CHECKS_CAUSE = 'door-no-checks' рядом с :747, run.refusal kind refused; default: const unreachable: never = verdict. report.green = verdict === 'pass', плюс report.verdict; (д) doorReceiptText :4847 печатает слово вердикта вместо green/red, и проверки 0/0 больше не читаются как зелёные. door-ts: 2 ханка (:4463, :4231–4238). glossary.ts: 2 ханка. Код без данных миграции — порядка 90 строк.","ПРОВЕРКА (verify): блок [s129] в runtime/statement-checks/task/task.statements.test.ts, заглушки двери: green и total 3 → pass, cause null; green false → fail, oracle-red; green true и check null → not-judged, door-no-checks; 2 закона practices и total 1 → not-judged. Мутант: убрать ветку not-judged, и блок краснеет. На базе 0ba0bab красный только предсказан: сегодня cause = null при green=true, :4897. door-ts: тест, что цель с объектами-законами доходит до repair строками через :4463. tsc --noEmit и тесты гоняет шлюз, а не автор черновика. why — R1 (runs/01bd9e17:27, :29, :555; runs/0c28c88c:59); what — поле parent, три статьи глоссария, practices по пути и трёхзначный вердикт; verify — s129.","ПРОБЕЛЫ: sha door-ts; как вход edit-режима door-ts читает goal.practices, не инвентаризовано — до migrate законы практик дают not-judged, а не зелёный; есть ли sha в ответе /deploy/status (R3), не проверено; какая граница Suspense показывала фоллбек (R9), не установлено.","Статус: не применено и не запущено."]
parent_task
Ошибка результата ядра (утв. 127), специмен — прогон 4fab69d9 (2026-09-27 17:02Z, владелец ввёл в окно сайта текст его заголовка «Помоги мне выполнить цель»). Слово владельца: «„помоги мне выполнить цель“ — это корневой узел цели по идее, и очевидно он вообще не должен был вызывать модель; ладно один раз классификатор вызвать (но лучше так и подписывать), но два-то откуда». Факты из отчёта: classified.path = [c0] (корень, attributes []), judged: hasExperience false, matchedRule null, rulesKnown 302 → ядро пошло чеканить НОВЫЙ паттерн через модель (task-output classifier, task-default llm, task-research-method llm; modelRequests 5 за первые минуты, прогон ещё шёл). Разбери по 127: (1) почему допустило — какого закона не хватало: текст корня дерева целей (слово владельца, заголовок сайта «Помоги мне выполнить цель» / «опиши, что нужно») есть сама КОРНЕВАЯ ЗАПИСЬ дерева, а не вход для чеканки; спуск на неё даёт действие корня — спросить цель одним вопросом (или показать дерево) — с нулём вызовов модели, максимум один вызов классификатора, если текст не совпал дословно; (2) почему не поймало — гейт «повтор без модели» судит только записи с опытом, а корень без записи неотличим от незнакомого входа; (3) счётчик «вызовов модели» в отчёте и на экране обязан подписывать каждый вызов ярусом и стадией (classifier / llm; task-output / task-default / …), а не одной цифрой. Напиши законы в стиле соседних (специмен 4fab69d9, исполняемые проверки: дословный корень → 0 вызовов, ответ «спроси цель»; вариация текста → ≤ 1 вызов классификатора; отчёт несёт список вызовов с ярусом), правь адаптер через дверь. Закон 127 не трогать. Минимализм: корень — существующая запись дерева, а не новая сущность «приветствие».
Классификация
вердикт
artifact:code
причина
new: no candidate
известных записей
311
Понятие c0
признаки
—
записи
jobs:letter:ats-form, jobs:letter:cold-founder, jobs:letter:money-system, jobs:letter:agent-tooling, jobs:letter:follow-up, jobs:letter:third-touch, compute_arithmetic, find_investor_fund_match, fix_code_defect_until_oracle_passes, build_goal_achievement_plan, find_goal_first_step, build_goal_milestones, build_goal_monitoring, find_goal_obstacle_plans, produce_code_patch, build_meeting_call_brief, find_meeting_local_time, find_role_requirements, find_meeting_likely_questions, find_org_profile, find_org_recent_news, find_owner_timezone, find_meeting_questions_to_ask, find_investor_decision_partner_name, find_investor_contact_channel, find_investor_opener, find_investor_thesis_fit, find_investor_signal_url, find_investor_signal, find_investor_thesis_source_url, find_company_oneliner_en, find_investor_thesis_quote, find_investor_thesis_bridge, find_counterparty_profile, build_investor_outreach_pack_for_named_fund, find_product_fit_usecase_goals, find_research_date, find_research_limits, find_excluded_usecases_by_hard_criteria, find_excluded_usecases, find_analog_usecase_catalog, build_inbox_digest_with_reply_drafts, find_customer_prospects_with_contacts, find_prospect_selection_criteria, find_prospect_gaps_and_assumptions, write_cold_email_with_org_news_hook, find_email_subject_from_org_news, find_org_news_bridge_en, find_org_news_decision_maker_name, find_org_recent_news_source_url, compare_vendors_and_recommend_one, find_research_unverified_gaps, find_recommendation_rationale, find_unverified_gaps_and_assumptions, find_options_reviews_summary, build_weighted_decision_matrix, build_weighted_decision_matrix_with_sensitivity, build_weighted_decision_matrix_with_robustness, find_options_tco_table, find_recommended_option, find_reproducer_test, find_investor_criteria, find_investor_shortlist, write_investor_first_emails_by_thesis, find_investors_and_draft_first_emails, run_oracle_before_fix_and_save_red_output, find_defect_root_cause_by_pass_fail_diff, rerun_oracle_after_patch_compare_to_baseline, find_investor_email_addressee_partner_name, find_investors_then_write_first_emails_per_partner, find_competitor_feature_catalog, find_analysis_date_cutoff, build_feature_fit_gap_table, find_rejected_features_with_reasons, select_features_by_kano_confidence_effort_as_goals, analyze_competitor_features_fit_gap_select_goals, select_features_by_declared_formula_as_goals_with_acceptance, select_fit_gap_features_by_rice_pert_as_goals_with_acceptance, select_features_by_rice_pert_as_goals_with_acceptance, select_fit_gap_features_by_value_confidence_pert_as_goals, select_features_by_rice_pert_formula_as_goals, select_fit_gap_features_by_rice_as_goals_with_acceptance, select_features_by_rice_as_goals_with_acceptance, select_features_by_value_confidence_effort_as_goals, select_features_by_formula_as_goals_with_acceptance, select_features_by_rice_capacity_as_goals_with_acceptance, select_fit_gap_features_by_rice_records_as_goals, fix_kernel_door_defect_until_oracle_green, rerun_oracle_after_patch_and_diff_per_case, write_minimal_kernel_patch_from_statements_until_oracle_green, extract_gap_core_from_review_item, write_measurable_acceptance_criterion_from_gap_core, design_missing_record_interfaces_from_gap_and_criterion, derive_executable_module_assertions_from_interfaces_and_acceptance, derive_red_green_readiness_scenario_from_done_criterion, implement_review_feature_as_records_with_readiness_test, write_gwt_acceptance_criteria_list_from_gap_core, design_prov_provenance_schema_and_migrate_text_records, find_competitor_feature_user_facing_reference, rewrite_done_criterion_into_red_given_when_then_scenarios, find_kernel_exit_points_sink_inventory, find_mail_inbound_producer_status_in_registry, write_secret_never_in_model_invariant_from_gap, find_webhook_door_contract, write_minimal_kernel_patch_from_interfaces_and_scenarios_until_green, write_gwt_acceptance_criteria_for_inbound_channel_with_abuse_cases, write_red_canary_sink_acceptance_test_before_patch, run_readiness_scenarios_and_cite_journal_seq_with_unverified, find_secret_typed_fact_keys_from_type_registry, write_gwt_acceptance_criteria_for_review_feature_with_e2e_done, write_gwt_acceptance_criteria_for_owner_fact_memory_view_find_forget, write_gwt_acceptance_criteria_for_review_feature_with_done_as_e2e, design_record_ops_list_inspect_forget_put_with_tombstone_journal, write_e2e_gwt_acceptance_criteria_for_review_feature_from_gap_core, write_3_5_gwt_acceptance_criteria_with_end_to_end_done_from_feature_task, design_record_store_interfaces_with_tombstone_and_journal, derive_record_store_interfaces_with_tombstone_and_journal, find_steps_that_must_run_without_model_call, design_list_inspect_forget_put_with_tombstone_and_journal, rewrite_gap_core_and_done_criterion_into_given_when_then_readiness_scenarios, write_gwt_acceptance_criteria_for_review_feature_with_done_e2e, design_mail_forward_to_task_records_with_readiness_test, write_minimal_kernel_patch_records_from_gap_core_and_gwt_scenarios, draft_minimal_feature_records_patch_from_gap_core_and_scenarios, draft_minimal_kernel_records_patch_from_gap_core_and_readiness_scenarios, write_minimal_schedule_tick_records_patch_from_gap_and_scenarios, write_recurring_goal_and_schedule_list_records_patch_in_kernel_repo, write_recurring_goal_schedule_tick_kernel_patch_as_records, write_schedule_tick_recurring_goal_records_patch_with_occurrence_id, write_recurring_goal_schedule_records_patch_with_misfire_policy, write_feature_records_kernel_patch_from_gap_and_scenarios, propose_kernel_patch_records_from_gap_core_and_readiness_scenarios, write_feature_records_patch_from_gap_and_scenarios_with_idempotent_tick, implement_recurring_schedule_goal_records_with_replay_acceptance, write_secret_handle_redaction_and_gate_substitution_kernel_patch_with_canary_test, report_test_and_regression_rerun_verified_vs_unverified, formulate_scoped_never_invariant_from_gap_with_refutation, identify_executed_kernel_patch_by_commit_patch_id_and_dirty_flag, implement_trigger_feature_from_review_item_as_records_with_replay_journal_acceptance, run_oracle_on_full_bench_before_patch_and_verify_target_red_reason, find_unreconciled_composition_acceptance_point_in_allowed_files, write_substitution_composition_patch_with_grounding_gate_naming_law, rerun_full_bench_oracle_after_patch_diff_per_check_vs_baseline_with_flaky_and_input_variants, identify_applied_kernel_patch_by_sha_patch_id_dirty_and_confirm_build_exit_code, patch_kernel_composition_to_assemble_only_from_part_values_until_oracle_green, write_closed_selection_policy_laws_and_decision_table_from_intent_and_incidents, find_counterparty_product_quote_and_bridge_to_demo_thesis, compose_c4_context_container_and_2_4_adr_decisions_with_honest_status, build_meeting_frame_utc_local_smart, inventory_live_decision_points_by_code_config_and_ledger_crosscheck, write_one_executable_pass_fail_unknown_check_per_law_over_source_facts, map_each_law_to_single_pap_pdp_and_role_tagged_enforcement_points, derive_timeboxed_demo_timeline_from_meeting_frame_with_live_share_and_reserve_flags, build_reverse_dated_prep_checklist_from_meeting_anchor_with_freeze_backup_and_rehearsal, find_verbatim_counterparty_product_quote_matching_demo_thesis_with_url, build_demo_qa_bank_bluf_from_owner_proofs_with_counterparty_bridge_and_honest_gaps, compose_interview_demo_plan_from_frame_bridge_timeline_architecture_qa_prep_and_fallback, decompose_numbered_feature_statements_into_traced_gwt_scenarios_with_boundary_forbidden_and_open_questions, write_bottom_up_feature_patch_storage_logic_api_ui_by_neighbor_analog_with_red_first_tests, trace_scenarios_to_tests_run_full_gates_fail_to_pass_land_and_list_unverified, retrieve_verbatim_prior_step_patch_with_full_base_sha_and_apply_check, derive_fail_to_pass_scenarios_from_patch_requirement_plus_pass_to_pass_regression_from_owner_proofs, implement_repo_feature_from_numbered_statements_via_edit_door_and_change_flow, derive_traced_gwt_scenarios_from_parent_task_numbered_statements_with_open_decisions, decompose_owner_numbered_feature_statements_into_traced_gwt_set_unset_switch_rollback_invalid_characterization_with_open_questions, derive_traced_gwt_scenarios_set_unset_switch_rollback_invalid_from_owner_numbered_statements_with_assumptions_and_open_questions, decompose_owner_toggle_setting_statements_into_traced_gwt_set_unset_switch_invalid_rollback_characterization_ui_sequence_with_questions, write_bottom_up_storage_domain_api_toggle_ui_patch_with_red_first_tests_traced_to_scenarios_by_neighbor_setting, draft_bottom_up_single_choice_toggle_setting_patch_storage_rank_api_ui_with_stub_first_red_tests_and_owner_questions, draft_bottom_up_single_choice_setting_patch_storage_logic_api_ui_with_red_first_tests_and_owner_decisions, draft_bottom_up_single_choice_setting_patch_storage_rank_api_toggle_ui_red_first_with_open_decisions, draft_bottom_up_nullable_single_pick_setting_patch_storage_rank_api_toggle_ui_with_red_first_tests, draft_bottom_up_single_choice_setting_patch_storage_rank_api_ui_with_stub_first_red_tests_and_characterization_guard, draft_layered_storage_logic_api_ui_patch_with_assert_red_first_tests_per_statement_and_flagged_assumptions, draft_bottom_up_single_select_priority_patch_storage_rank_api_toggle_card_ui_with_red_first_tests_and_outline_clicks, draft_bottom_up_single_select_priority_toggle_patch_storage_rank_api_aria_pressed_ui_with_red_first_tests_by_neighbor, draft_bottom_up_single_choice_toggle_patch_storage_rank_api_ui_with_red_first_tests_by_neighbor_setting, draft_layered_storage_logic_api_ui_patch_with_red_first_tests_traced_to_statements_and_open_owner_decisions, draft_bottom_up_storage_logic_api_ui_patch_with_stub_then_red_assert_tests_traced_to_statements_and_scenarios, draft_bottom_up_storage_logic_api_ui_patch_with_red_first_tests_per_statement_and_open_decisions, draft_bottom_up_storage_rank_api_ui_priority_toggle_patch_with_stub_first_red_tests_and_open_owner_decisions, draft_bottom_up_setting_storage_rank_api_toggle_ui_patch_with_assertion_red_stubs_traced_to_statements_and_open_decisions, write_bottom_up_storage_logic_api_ui_patch_with_red_first_tests_traced_to_statements_and_scenarios, draft_bottom_up_storage_logic_api_ui_patch_red_first_traced_to_parent_statements_with_open_decisions, read_neighbor_setting_storage_route_test_via_code_door_with_path_line_quotes, measure_kernel_baseline_head_sha_file_digests_dirty_utc_and_preregistered_run_selection, audit_every_outbound_channel_log_over_run_window_with_coverage_positive_control_and_weakest_link_verdict, derive_utc_run_window_from_observed_start_end_receipts_with_bounded_clock_skew_margin, map_each_kernel_exit_point_to_witness_log_by_code_and_real_record_with_no_witness_flag, derive_traced_gwt_scenarios_for_nullable_single_select_setting_storage_rank_api_ui_with_characterization_baseline_and_open_questions, decompose_owner_numbered_criteria_into_atoms_read_run_door_registry_code_evidence_and_verdict_pass_fail_nei_with_address, verify_kernel_against_numbered_criteria_with_three_valued_verdicts_and_evidence_locators_read_only, draft_bottom_up_single_select_priority_toggle_patch_storage_rank_api_aria_pressed_ui_with_stub_first_red_tests_and_owner_decisions, check_every_outbound_channel_log_over_utc_run_window_with_liveness_positive_control_and_three_valued_verdict, draft_bottom_up_single_choice_setting_patch_storage_rank_api_aria_pressed_ui_red_first_with_characterization_guard_and_owner_decisions, draft_bottom_up_single_choice_setting_patch_storage_rank_api_toggle_ui_red_first_resolved_from_statements, draft_bottom_up_baseline_storage_logic_api_ui_patch_with_assertion_red_first_tests_per_statement_and_owner_open_decisions, draft_bottom_up_storage_rank_api_ui_priority_toggle_patch_with_stub_first_red_tests_and_stated_defaults, draft_bottom_up_storage_logic_api_ui_patch_with_stub_then_red_assert_tests_traced_to_statements_and_open_decisions, draft_bottom_up_storage_rank_api_toggle_ui_patch_red_first_by_neighbor_setting_with_open_decisions_and_unverified_gaps, draft_bottom_up_setting_storage_rank_api_aria_pressed_toggle_ui_patch_with_assertion_red_first_tests_by_neighbor_and_owner_decisions, draft_bottom_up_storage_rank_api_aria_pressed_ui_patch_with_assert_red_tests_per_statement_characterization_guard_and_owner_defaults, draft_bottom_up_storage_logic_api_ui_patch_with_assert_red_tests_characterization_guards_and_server_confirmed_toggle_ui, read_neighbor_setting_all_layers_with_path_line_quotes_wiring_rank_callsites_tests_absent_and_revision, derive_traced_f2p_gwt_scenarios_with_p2p_repo_regression_baseline_and_open_questions, read_neighbor_setting_port_store_overlay_usecase_wiring_routes_health_rank_callsites_tests_proxy_ui_with_path_line_quotes_gaps_and_revision, derive_traced_gwt_scenarios_per_parent_statement_with_set_unset_switch_unavailable_neighbor_grounded_and_open_questions, read_door_receipts_main_ref_and_repo_tree_to_attest_red_green_full_suite_land_or_mark_not_obtained, derive_utc_run_window_from_run_at_reflog_oracle_journal_with_anchor_owner_zone_skew_margin_and_boundary_events, compose_kernel_self_check_report_from_baseline_run_window_criterion_verdicts_and_outbound_audit, draft_bottom_up_setting_patch_by_neighbor_storage_rank_api_server_confirmed_toggle_ui_with_assert_red_tests_traced_to_scenarios, derive_utc_run_window_min_run_at_max_receipt_at_over_selected_run_ids_with_line_evidence_and_open_end_flag, derive_tight_utc_run_window_from_run_at_reflog_door_journal_excluding_own_attempts_with_open_edge_and_margin_variant, derive_utc_run_window_from_earliest_anchor_run_at_reflog_oracle_journal_with_owner_zone_night_frame_and_open_right_edge, derive_utc_run_window_from_run_at_reflog_door_verdicts_anchored_on_parent_task_night_in_owner_zone_with_skew_margin_self_runs_flagged, derive_tight_utc_run_window_from_run_at_reflog_oracle_journal_by_owner_local_night_anchor_with_open_edge_flag, derive_utc_run_window_from_run_at_session_gap_anchored_on_named_runs_with_open_right_bound, reverify_neighbor_setting_layer_map_at_current_ref_with_corrections_all_rank_helper_callers_and_absence_greps, draft_rebased_neighbor_grounded_bottom_up_setting_domain_storage_usecase_api_toggle_ui_patch_with_scenario_tagged_assert_red_stubs_bisectable_commit_series_and_unapplied_status, read_code_door_run_receipts_and_main_reflog_to_attest_red_green_full_suite_land_per_claim_or_mark_not_obtained, draft_neighbor_grounded_bottom_up_storage_rule_api_ui_patch_with_scenario_tagged_tests_stub_red_reasons_commit_series_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_storage_rule_usecase_api_proxy_ui_patch_with_scenario_tagged_red_first_tests_commit_order_open_decisions_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_with_scenario_tagged_red_first_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_anchor_edits_single_rank_seam_scenario_tagged_assert_red_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_storage_rule_api_proxy_ui_patch_with_scenario_tagged_tests_commit_series_red_expectations_defaults_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_api_ui_patch_with_scenario_tagged_red_first_tests_derived_decisions_and_unapplied_status, draft_bottom_up_storage_rule_api_ui_patch_stub_red_green_per_scenario_with_characterization_guards_open_decisions_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_api_ui_patch_with_scenario_tagged_assertion_red_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_usecase_rank_api_ui_patch_with_scenario_tagged_red_first_tests_guard_split_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_usecase_rank_seam_api_proxy_ui_patch_with_scenario_tagged_red_first_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_single_dispatch_rank_seam_scenario_traced_assert_red_tests_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_store_rank_api_toggle_ui_patch_with_scenario_tagged_assert_red_tests_traceability_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_storage_domain_rank_api_proxy_ui_patch_with_scenario_tagged_assert_red_tests_stub_red_step_guards_mutant_checks_and_unapplied_status, draft_reverified_neighbor_grounded_bottom_up_setting_patch_store_usecase_single_rank_seam_api_confirmed_toggle_ui_with_scenario_tagged_assert_red_tests_mutation_check_and_unapplied_status, draft_rebased_bottom_up_setting_patch_overlay_carry_single_rank_seam_api_server_confirmed_toggle_ui_with_scenario_tagged_assert_red_tests_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_setting_storage_rule_usecase_api_proxy_toggle_ui_patch_with_scenario_tagged_assert_red_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_storage_rank_api_toggle_ui_with_scenario_tagged_tests_red_stub_table_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_setting_patch_single_rank_seam_scenario_tagged_red_first_tests_mutant_guards_and_unapplied_status, draft_reverified_bottom_up_storage_rule_api_ui_patch_with_stub_red_tests_per_scenario_tag_server_confirmed_toggle_mutants_and_unapplied_status, read_neighbor_setting_all_layers_at_current_main_head_with_drift_note_all_rank_helper_callers_and_absence_grep, derive_tagged_traced_gwt_scenarios_per_parent_statement_with_state_transitions_all_rank_tiers_unavailable_characterization_click_sequence_and_open_questions, read_main_ref_and_reflog_tail_count_goal_statement_arrays_pick_latest_t_run_with_result_verdict_and_times_read_only, draft_reverified_bottom_up_commit_series_by_neighbor_map_with_scenario_tagged_tests_it_fails_stubs_manual_diff_mutants_and_unapplied_status, inventory_kernel_exit_points_from_code_then_query_run_files_and_git_reflogs_over_run_window_with_three_valued_verdict_and_named_uncovered_channels, read_door_state_run_effect_applied_changeflow_and_main_ref_to_grade_each_statement_red_green_suite_land_or_not_obtained, compose_neighbor_map_tagged_scenarios_bottom_up_patch_red_first_and_door_receipts_status_per_statement, reverify_prior_neighbor_setting_anchor_map_at_current_main_ref_with_reflog_drift_all_shared_helper_callers_and_absence_greps, draft_head_reverified_bottom_up_commit_series_by_neighbor_map_with_scenario_tagged_stub_red_tests_manual_mutant_journal_and_unapplied_status, grade_each_goal_statement_from_door_effect_check_patch_after_changeflow_author_check_land_and_main_ref_or_not_obtained, compose_head_reverified_neighbor_map_tagged_scenarios_bottom_up_red_first_patch_and_door_receipt_status_per_statement, reread_main_ref_and_reflog_tail_count_drift_from_prior_map_sha_reverify_every_layer_anchor_all_shared_helper_callers_and_absence_greps_read_only, take_given_scenarios_verbatim_or_derive_tagged_gwt_per_statement_by_neighbor_map_then_trace_matrix_na_reasons_form_deviations_and_open_questions, draft_head_reverified_single_seam_bottom_up_commit_series_with_refactor_split_title_tagged_red_first_tests_manual_mutant_journal_equivalence_notes_and_unapplied_status, read_door_effect_changeflow_author_check_land_and_main_ref_reflog_then_grade_each_statement_monotonic_patch_f2p_applied_landed_or_not_obtained_with_code_gap_flags, compose_head_reverified_neighbor_map_scenarios_bottom_up_patch_and_per_statement_door_receipt_status, read_main_ref_reflog_tail_and_door_land_receipts_then_reresolve_every_layer_anchor_by_symbol_flip_absence_greps_to_present_per_layer_and_flag_live_tree_edits_read_only, grep_feature_vocabulary_all_cases_then_layer_hits_by_neighbor_chain_trace_callers_and_name_unreached_server_non_durable_untested_defects_with_path_line_and_empty_query_evidence_read_only, take_input_gwt_scenarios_verbatim_else_derive_stmt_tagged_gwt_from_parent_statements_by_neighbor_map_with_bidirectional_trace_and_open_questions, reverify_head_then_split_inventory_into_present_gap_defect_rows_and_draft_bottom_up_atomic_commits_with_scenario_tagged_f2p_red_on_base_p2p_guards_mutants_rollback_and_unapplied_status, reread_main_ref_and_reflog_tail_then_grep_feature_vocabulary_per_layer_classify_present_unwired_absent_broken_unknown_by_callers_and_data_path_map_rows_to_scenario_tags_with_orphans_and_counts_read_only, match_door_run_by_patch_version_then_ladder_green_author_check_land_mergedsha_eq_main_ref_and_reflog_line_then_grep_tree_per_statement_with_not_obtained_subitems, reverify_head_inventory_in_tree_partial_feature_find_defects_then_gap_only_bottom_up_patch_with_scenario_tests_and_per_statement_door_status, collect_or_verify_named_analogs_tiered_direct_adjacent_with_own_domain_homepage_and_product_page_urls, live_read_each_competitor_home_and_product_page_fill_fixed_axes_row_with_url_date_status_mark_unavailable_and_derive_take_notours_against_own_positioning, read_live_homepage_and_one_product_page_per_input_url_fill_fixed_codebook_record_with_typed_not_read_reasons_and_provenance, read_symptom_screen_and_commit_range_then_quote_new_lines_name_suppression_mechanism_chain_refute_alternatives_and_flag_static_or_unattributed, derive_competitor_frame_from_own_oneliner_search_mechanism_and_category_live_open_own_domain_home_and_product_pages_tier_direct_adjacent_exclude_pivoted_suppliers_papers, split_filled_competitor_site_matrix_into_conventions_by_preset_threshold_mechanism_techniques_verified_gaps_and_notours_with_counts_and_discards, read_old_vs_new_component_tree_find_new_ancestor_title_or_handler_then_write_jsdom_test_asserting_effective_nearest_title_per_hovered_element_with_p2p_own_title_guard_and_unrun_red_status, partial_revert_mechanism_lines_on_same_element_restore_old_beside_new_add_keyboard_parity_and_f2p_p2p_interaction_tests_unapplied_status, read_live_head_card_and_children_titles_name_nearest_ancestor_title_mechanism_write_jsdom_f2p_popover_tip_null_p2p_own_title_guard_state_seam_and_unrun_red_as_fact_not_door, diverge_three_axis_distinct_site_directions_one_phrase_essence_first_screen_blocks_url_borrowings_constraint_id_rationale_and_risk_from_synthesis_and_owner_decisions, read_live_home_and_product_page_per_competitor_url_fill_one_codebook_with_own_mechanism_axis_verbatim_quotes_typed_not_read_and_coverage_counts, grep_door_run_patch_before_after_for_suspect_lines_match_land_mergedsha_to_main_reflog_reread_head_lines_name_inherited_suppression_mechanism_refute_alternatives_flag_static, screen_directions_by_owner_must_constraints_then_prefixed_weighted_want_matrix_breakeven_sensitivity_recommend_one_and_graft_best_of_rejected_with_rescore_and_risks, build_object_by_feature_matrix_from_site_records_iceberg_root_at_0_8_of_all_with_reasons_and_exceptions_then_monothetic_split_by_externally_caused_non_root_property_until_single_site_leaves, diverge_three_axis_distinct_site_directions_from_competitor_readings_with_style_tiles_first_screen_blocks_borrowings_constraint_fit_and_risks, write_package_suite_interaction_tests_old_new_old_with_effect_method_body_exact_count_child_actions_zero_effect_strict_fetch_and_unrun_red_green_mutant_procedure, describe_own_site_by_same_codebook_find_deepest_edge_path_attachment_adr_inherit_reject_per_branch_verify_notours_against_matrix_and_status_quo_errc_all_four_and_divergent_value_curve, gate_inputs_then_write_traced_spec_ia_verbatim_first_screen_dtcg_tokens_eight_state_matrix_per_analog_diff_thresholded_test_plan_owned_open_questions, inventory_screen_suite_and_change_acceptance_scenarios_classify_each_by_trigger_executed_and_violated_property_asserted_name_missing_check_kind_by_fixed_taxonomy_and_unrun_counterfactual, fix_root_and_criteria_from_own_oneliner_then_multichannel_search_mechanism_and_job_dedupe_by_domain_exclude_papers_pivoted_unverified_branch_by_competition_type_with_reasons_leaves_with_quote_evidence_saturation_stop_and_dated_flow, reread_main_ref_and_land_receipts_then_grep_package_suite_for_screen_imports_list_describe_it_with_path_line_split_kept_added_removed_by_land_shape_and_classify_check_kind_pure_fn_vs_rendered_interaction, take_recorded_direction_choice_verbatim_from_run_reports_with_status_else_screen_score_graft_then_crosswalk_newer_direction_sets_and_ask_owner_accept, read_competitor_sites_live_axis_matrix_synthesize_conventions_gaps_three_directions_pugh_choose_one_write_ia_verbatim_first_screen_tokens_and_validation_plan, grep_land_receipts_patch_before_lacks_after_has_suspect_line_match_mergedsha_to_main_reflog_reread_head_name_mechanism_chain_refute_alternatives_and_unrun_bisect_counterfactual, gate_inputs_then_compose_traced_site_spec_verbatim_first_screen_linear_blocks_4px_grid_two_role_font_pair_paired_color_roles_with_computed_wcag_contrast_state_matrix_reduced_motion_branches_and_render_roundtrip_plan, take_recorded_own_site_node_verbatim_from_run_reports_with_address_recheck_each_premise_against_current_input_flag_inherited_owner_decisions_and_gaps, read_competitor_sites_live_into_fixed_schema_records_then_root_branches_tree_place_own_node_errc_and_derive_provenance_tagged_site_spec_with_tokens, reread_head_then_move_inherited_ancestor_title_to_childless_leaf_keep_click_intent_verbatim_diff_new_jsdom_f2p_p2p_test_and_scoped_door_goal, trace_click_handler_through_cache_invalidation_or_remount_or_navigation_to_nearest_suspense_or_loading_branch_with_path_line_name_one_mechanism_check_transition_and_external_store_semantics_refute_alternatives_and_unrun_counterfactual, reread_head_locate_ancestor_title_introduced_by_land_move_it_to_childless_leaf_keep_intent_text_verbatim_export_seam_add_jsdom_nearest_title_f2p_p2p_test_reject_symptom_site_empty_title_and_mark_unapplied_unrun, read_vendor_docs_help_and_live_screens_per_product_fill_fixed_ten_property_work_screen_record_with_provenance_tag_url_read_status_and_explicit_not_found, trace_named_flash_cause_to_update_source_then_pick_one_mechanism_swr_keep_value_if_external_store_else_transition_else_stable_key_patch_cause_line_only_with_f2p_no_throw_test_characterization_guard_and_unapplied_status, reread_head_find_ancestor_title_added_by_named_land_move_it_verbatim_to_childless_leaf_export_test_seam_jsdom_nearest_title_f2p_visibility_and_owner_asserts_p2p_own_title_guard_reject_empty_title_symptom_fix_mark_unapplied_unrun, per_observed_case_read_run_receipts_door_patch_before_after_land_mergedsha_vs_main_reflog_reread_head_lines_name_kernel_statement_gate_binding_and_product_line_mechanism_with_is_isnot_contrast_and_unrun_status, reread_head_move_inherited_ancestor_title_verbatim_to_childless_leaf_export_seam_jsdom_nearest_title_f2p_p2p_mark_unapplied_unrun, reuse_same_day_run_records_by_address_then_recheck_weakest_fields_by_vendor_docs_search_fill_fixed_ten_property_schema_with_provenance_tags_url_live_read_status_and_explicit_not_found, per_case_inventory_door_check_and_receipt_changeflow_test_files_typecheck_probes_and_skipped_gates_from_land_runs_matched_by_mergedsha_then_classify_by_ordered_tree_self_report_no_check_other_env_weak_oracle_no_regression_with_unrun_counterfactual, reread_head_move_ancestor_title_added_by_named_land_verbatim_to_childless_leaf_export_seam_jsdom_nearest_title_f2p_visibility_owner_p2p_own_title_reject_empty_title_mark_unapplied_unrun, normalize_fixed_schema_work_screen_records_gap_is_not_absence_root_at_0_8_with_principle_reason_and_rejected_list_then_monothetic_split_by_one_documented_property_with_external_reason_stop_on_gaps_mark_convergence_and_partition_check, read_goal_statements_in_range_and_adapter_code_then_per_case_trace_topic_statements_decompose_obligations_grep_implementing_lines_and_tagged_checks_split_cause_a_defect_b_oracle_verdict_text_and_code_separately_with_explicit_remainder, read_live_fix_and_existing_tests_state_f2p_helper_test_with_base_semantics_stub_red_procedure_add_jsdom_suspense_wiring_test_killing_call_site_revert_mutant_and_unrun_status, walk_fixed_work_screen_tree_edges_with_own_values_open_new_edge_with_external_reason_name_closest_leaf_inherit_root_and_path_with_node_site_mark_convergent_borrowings_reject_with_positioning_reason_and_substitute_notours_1_3_keller_gap_is_not_absence_partition_check, trace_click_handler_to_cache_invalidation_or_remount_name_suspense_boundary_chain_patch_swr_revalidate_keep_last_frame_with_red_first_test_and_unapplied_status, gate_node_and_owner_screen_decisions_then_compose_traced_layout_input_output_tree_state_machine_empty_running_question_done_repeat_error_refusal_during_after_visibility_action_reversibility_ten_heuristic_review_and_owned_open_questions, read_competitor_work_screens_by_fixed_schema_with_provenance_then_root_branches_edge_labeled_tree_place_own_node_inherit_reject_ours_and_compose_provenance_tagged_screen_spec_with_states, reconstruct_remainder_from_coverage_verdicts_then_per_item_edit_existing_statement_branch_or_mint_next_free_id_with_run_receipt_specimen_code_line_executable_check_mutant_prevent_detect_and_case_link_and_recheck_empty_remainder, reconstruct_remainder_from_coverage_verdicts_then_per_item_edit_existing_statement_branch_or_mint_next_free_id_with_reread_code_line_run_receipt_specimen_wire_level_port_check_mutant_prevent_detect_case_link_and_unrun_status, reroute_plan_item_obstacle_through_single_existing_door_free_path_first_measured_params_ledgered_calls_success_by_target_reply_refusal_by_actor_owner_only_possession_factors_and_named_uncovered_kinds, revise_login_plan_item_federated_identity_once_per_profile_mail_code_correlated_by_sender_and_request_time_captcha_door_only_owner_residual_with_profile_conflict_check_and_unrun_status, walk_run_reports_revision_chain_for_named_plan_item_pick_nearest_predecessor_before_objection_quote_verbatim_with_run_id_line_field_time_and_replaced_lines, read_goal_statement_array_bounds_skip_parked_and_paper_reserved_ids_mint_next_free_one_property_statement_with_verbatim_specimen_run_line_neighbor_style_check_block_mutant_and_unrun_red_status, read_goal_statements_array_count_zero_based_last_index_union_paper_reserved_draft_ids_from_input_and_run_reports_exclude_parked_max_plus_one_crosscheck_line_offset_and_check_tags_mark_snapshot, reread_root_cause_code_line_and_run_receipt_then_find_statement_that_prescribes_the_defect_edit_it_or_mint_next_free_id_with_run_specimen_boundary_class_inputs_exact_oracle_mutant_table_swept_neighbor_checks_and_unrun_status, take_owner_named_or_predicate_matched_run_id_glob_runtime_runs_unique_prefix_grep_primary_answer_field_quote_verbatim_with_path_line_field_duplicate_lines_and_hash_gap, lookup_latest_recorded_render_device_patch_in_run_reports_grade_draft_vs_land_by_head_greps_flag_unconfirmed_owner_device_premises_and_cdp_attach_hang_risk, find_full_text_render_device_patch_record_in_run_reports_separate_from_retellings_regrade_draft_vs_land_by_head_glob_grep_of_new_files_symbols_statement_id_and_check_tag_flag_unconfirmed_owner_device_premises_and_recheck_cdp_attach_upstream_fix_status, gate_render_device_landed_and_owner_login_onboarding_submit_decisions_then_login_once_verify_identity_render_each_target_screen_aria_dom_snapshot_tag_each_property_live_doc_or_not_read_closed_reason_one_record_per_screen, take_product_set_from_parent_run_or_screen_tree_then_owner_named_domains_first_else_vendor_docs_search_one_url_or_route_template_per_screen_flag_desktop_only_unrenderable_and_unverified_paths, read_home_trace_form_then_draft_read_only_cdp_render_tool_with_wall_stops_separate_guarded_login_device_next_free_statement_with_red_check_and_per_target_live_reread_with_source_tags, fix_revision_then_grep_solver_endpoints_and_provider_names_split_implementation_from_mentions_list_every_importer_of_candidate_verdict_supported_refuted_nei_with_path_line_quotes, gate_on_land_receipt_mergedsha_eq_main_then_find_or_start_single_new_run_with_byte_identical_root_text_of_failed_run_verify_adapter_version_return_outcome_and_effect_verbatim_else_not_obtained_with_missing_premise, fix_kernel_runtime_error_via_invariant_statement_red_first_check_patch_at_compute_site_door_land_and_rerun_goal, verify_land_mergedsha_eq_main_then_grep_runs_for_byte_identical_root_text_newer_than_failed_run_on_new_adapter_sha_return_outcome_effect_verbatim_else_not_obtained_naming_missing_run, read_named_run_its_subruns_and_adapter_lines_then_name_missing_part_value_law_occurrence_chain_and_earliest_escape_gate_with_path_line_and_objection_route_with_unrun_counterfactual, reread_named_runs_receipts_and_adapter_lines_derive_addressed_root_causes_then_per_cause_edit_existing_or_paper_statement_branch_else_next_free_one_property_run_specimen_tagged_check_branch_mutant_prevent_detect_name_foreign_door_law_return_mechanismless_cause_to_rca_unrun_status, reread_main_ref_and_reflog_then_match_door_runs_by_changed_files_and_statement_check_tags_grep_head_adapter_and_suite_for_each_law_marker_return_version_files_oracle_receipt_only_if_mergedsha_eq_main_and_f2p_red_to_green_else_not_obtained_naming_missing_door_run_and_unwritten_checks, gate_door_receipt_green_and_mergedsha_eq_main_ref_reflog_tail_then_find_run_with_byte_identical_specimen_text_newer_than_land_on_new_adapter_sha_quote_outcome_kind_and_effect_verbatim_with_before_after_pair_else_not_obtained_naming_missing_door_run_or_remint_run, trace_admitted_substitute_to_occurrence_and_escape_edit_existing_statement_branches_door_patch_and_remint_after_land, fix_snapshot_then_grep_all_access_synonyms_of_record_path_in_repo_and_runtime_trace_each_hit_to_data_source_classify_file_ingress_raw_consumer_normalized_projection_writer_other_field_mention_fold_copies_record_accepted_form_strictness_and_derived_keys_count_and_pick_form_change_by_counts_with_bypass_sweep, read_glossary_ts_shape_and_tests_then_take_term_names_verbatim_from_cited_goal_statements_and_owner_word_write_definition_genus_differentia_legalin_with_neighbor_negation_and_three_forms_three_locales_via_existing_forms_helper_check_label_disjointness_mark_unapplied_unrun, reread_self_fix_run_part_values_via_and_evidence_and_adapter_value_construction_lines_then_per_defect_pair_occurrence_prevent_and_escape_detect_edit_existing_statement_by_offset_line_with_run_line_specimen_tagged_branch_in_existing_block_or_first_branch_mutant_unrun_status_and_return_mechanismless_causes_to_rca, open_named_specimen_run_by_unique_id_prefix_take_product_set_in_source_order_from_input_text_and_records_then_one_line_per_product_work_screen_url_or_route_template_from_run_else_vendor_docs_label_desktop_only_only_with_evidence_else_address_unverified_count_check_and_named_gaps, read_goal_statement_array_bounds_skip_parked_and_paper_reserved_ids_reuse_same_property_prior_draft_number_else_max_plus_one_quote_specimen_run_answer_line_verbatim_neighbor_style_check_block_iff_branches_two_mutants_unrun_red_status, per_case_from_coverage_verdicts_reread_run_receipts_and_head_lines_trace_value_site_missing_property_silent_check_with_path_line_chain_escape_and_unrun_counterfactual, reread_goal_statement_array_bounds_skip_parked_union_paper_reserved_ids_reuse_prior_same_property_draft_number_quote_specimen_run_answer_line_verbatim_one_adapter_boundary_property_beside_neighbor_field_check_block_iff_branches_two_mutants_unrun_status_as_fact_not_code, fix_goal_statement_array_and_suite_snapshot_map_each_statement_to_its_tagged_check_blocks_extract_read_attributes_resolve_producers_in_adapter_exports_and_stages_place_by_lca_flag_no_block_defects_root_collapse_duplicates_and_tag_drift_reconcile_id_sets, reread_specimen_run_part_values_and_adapter_value_site_then_patch_producer_by_neighbor_rule_and_widen_part_settle_gate_to_value_presence_add_tagged_branches_in_existing_blocks_edit_prescribing_statement_texts_sweep_readers_name_out_of_repo_write_gap_unapplied_unrun, reread_head_browser_door_seams_profile_prefix_worker_switch_registry_executor_guard_run_model_trace_then_draft_render_read_only_patch_per_seam_with_adr_negative_consequences_specimen_quote_check_plan_and_unapplied_unrun_status, reread_main_ref_and_reflog_tail_then_find_door_run_newer_than_patch_draft_by_version_and_changed_files_grep_head_for_patch_markers_return_version_files_oracle_landed_sha_only_if_mergedsha_eq_main_else_not_obtained_naming_first_missing_step_and_out_of_repo_files, place_each_rca_draft_on_node_by_lca_of_attributes_its_test_reads_escape_point_form_on_node_x_no_law_y_cast_class_prevent_detect_evidence_backup_barriers_unplaced_reasons_and_unapplied_status, find_root_run_of_parent_door_part_take_its_minted_kernel_code_patch_part_value_and_subrun_version_reverify_base_eq_main_ref_reflog_tail_and_head_anchor_lines_grep_patch_markers_for_draft_vs_applied_list_rejected_candidates_from_other_trees_and_name_out_of_repo_files_and_owner_gaps, gate_door_land_receipt_landed_eq_main_ref_and_reflog_tail_then_grep_runs_for_root_input_text_byte_identical_to_failed_run_newer_than_land_on_new_adapter_sha_quote_outcome_verbatim_else_not_obtained_naming_missing_door_or_remint_run, reread_main_ref_and_reflog_tail_then_find_door_runs_of_this_goal_by_root_text_and_patch_version_quote_result_kind_cause_why_files_checks_accept_landed_only_if_mergedsha_eq_main_attribute_every_land_after_prior_fix_by_mergedsha_never_substitute_foreign_or_prior_lands_else_not_obtained_naming_missing_green_door_run_and_oracle_output, read_self_fix_run_and_main_reflog_trace_each_part_value_vs_evidence_name_occurrence_and_earliest_escape_gate_per_defect_edit_existing_statements_with_tagged_branches_and_mutants_draft_adapter_patch_grade_door_and_rerun_not_obtained_unless_receipts_exist, reread_head_door_goal_and_live_door_reader_sites_then_draft_record_object_law_node_field_with_expand_before_migrate_glossary_termid_entries_path_laws_to_door_practices_three_valued_door_verdict_never_switch_tagged_check_mutants_p2p_fake_door_sweep_out_of_repo_parts_and_unapplied_unrun_status, read_specimen_run_parts_step0_kind_stripped_artifact_premise_via_and_outcome_then_trace_each_failed_or_substituted_part_to_binding_and_fill_lines_split_occurrence_escape_per_independent_branch_with_path_line_confidence_correct_input_misattributions_and_unrun_counterfactual, fix_snapshot_locate_record_in_target_json_then_trace_loader_hops_and_normalizer_grep_dotted_optional_and_computed_goals_m_access_follow_helpers_and_whole_goal_pass_throughs_exclude_same_name_other_entities_other_fields_and_copies_verify_each_line_name_bypasses_and_residual_dynamic_reads, reread_specimen_run_part_premises_via_and_subrun_step0_vs_minted_axes_then_find_owner_statement_whose_text_prescribes_or_permits_each_cause_amend_it_one_property_with_verbatim_run_line_specimen_tagged_branch_in_existing_block_two_mutants_prevent_detect_next_free_only_if_no_owner_and_unrun_status, draft_node_laws_patch_as_unapplied_fact_no_door_reverify_head_anchors_readers_bypass_expand_before_migrate_glossary_termid_path_laws_to_practices_three_valued_door_verdict_never_switch_checks_mutants, sweep_readers_of_flat_statement_list_pick_record_form_extending_existing_reader_name_glossary_attribute_fact_law_bind_each_law_to_lca_of_nodes_raising_attributes_its_check_reads_name_checkless_laws_defects_place_rca_items_as_node_laws_draft_one_field_patch_unapplied, read_site_target_goals_and_named_ancestor_run_outcome_answer_pin_versions_quote_statements_with_line_addresses_trace_provenance_to_root_extract_root_and_rejected_with_reasons_flag_root_divergence_owner_acceptance_status_and_gaps_read_only, split_owner_screen_word_into_verbatim_quote_atoms_one_thought_each_normalize_approx_times_to_utc_intervals_with_owner_iana_zone_bound_by_earliest_run_containing_quote_flag_self_contradictory_z_labels_check_monotonic_order_mark_supersedes_and_analyst_paraphrase_as_non_owner, reread_base_and_specimen_part_premises_then_patch_each_cause_at_existing_gate_or_late_stamp_moved_earlier_scope_door_facts_to_record_needs_and_part_research_inventory_readers_edit_prescribing_statements_tagged_branches_mutants_predicted_remint_and_named_gaps_unapplied, reread_main_ref_and_reflog_tail_then_find_door_run_by_patch_version_and_changed_files_newer_than_last_land_return_version_files_oracle_mergedsha_only_if_green_with_nonzero_checks_and_mergedsha_eq_main_else_not_obtained_naming_first_missing_link_never_substitute_prior_land, trace_owner_word_atoms_both_ways_to_base_spec_items_incl_rejected_and_parked_write_new_or_modified_gwt_with_was_became_closed_verdict_per_item_full_state_event_matrix_with_null_and_unknown_cells_and_impact_rated_open_questions, atomize_owner_word_with_quotes_then_amend_baseline_screen_statements_as_superseding_gwt_statements_list_every_affected_prior_and_rejected_item_with_verdict_keep_state_matrix_reuse_existing_stores_and_mark_proposed_unapplied, reread_specimen_run_door_goal_file_and_door_result_json_at_codegen_runs_label_then_trace_each_goal_input_to_subject_merge_and_filler_line_split_independent_branches_occurrence_vs_escape_by_suite_block_correct_input_claims_name_prescribing_statement_unrun_status, extract_every_dated_goal_event_deadline_from_owner_context_keys_normalize_iso8601_with_owner_iana_offset_on_event_date_anchor_relative_to_fragment_dct_mark_past_rescheduled_cancelled_exclude_cancelled_superseded_and_undated_with_reasons_sort_chronologically_src_key_per_item, gate_door_receipt_mergedsha_eq_main_ref_and_newer_than_specimen_base_then_find_run_with_byte_identical_specimen_text_on_different_adapter_sha_quote_outcome_kind_cause_why_effect_verbatim_with_before_pair_else_not_obtained_naming_missing_land_or_remint_run, trace_code_part_value_source_and_binding_axes_in_specimen_run_edit_existing_statements_premise_ladder_axes_stamp_retry_route_draft_door_patch_and_remint_after_land, normalize_candidates_to_utc_in_owner_iana_zone_exclude_past_superseded_open_ended_and_non_deadline_with_reasons_pick_min_absolute_hard_deadline_edf_declared_tiebreak_mark_assumption_with_refutation_condition_and_confirm_question, reread_named_code_lines_and_specimen_files_then_per_root_cause_find_prescribing_or_permitting_statement_by_quoted_phrase_append_one_property_with_path_line_specimen_f2p_and_p2p_branches_in_existing_tagged_block_one_mutant_per_branch_name_input_deviations_gaps_and_unrun_status, find_sibling_subrun_records_of_kernel_adapter_patch_under_same_root_pick_newest_full_value_regrade_stage_by_main_ref_reflog_tail_head_marker_greps_and_cause_site_lines_name_door_run_absence_and_first_missing_link_flag_duplicate_and_mismatched_premises, reread_main_ref_reflog_and_target_statement_lines_grep_edit_markers_in_goal_file_and_check_suite_and_door_goals_then_check_edit_targets_lie_under_door_repository_return_receipt_version_files_oracle_only_if_green_nonzero_checks_and_mergedsha_eq_main_else_not_obtained_naming_first_missing_link_never_draft_as_value, freeze_specimen_run_and_owner_word_then_list_every_model_call_by_stage_tier_trace_occurrence_to_statement_and_code_line_prove_missing_law_by_scoped_negative_grep_classify_every_gate_absent_unrun_blind_ignored_with_code_and_verdict_lines_draft_law_edits_with_mutants_unrun_and_named_gaps, freeze_specimen_run_list_transports_by_stage_tier_trace_classified_path_levels_to_walk_code_lines_find_silent_stop_and_key_mismatch_then_per_cause_quote_prescribing_or_permitting_statement_phrase_append_one_property_with_run_line_specimen_f2p_p2p_branches_in_existing_tagged_block_one_mutant_per_branch_correct_input_misattribution_skip_paper_reserved_ids_unapplied_unrun
Понятие c9
признаки
artifact:code
записи
fix_code_defect_until_oracle_passes, fix_kernel_door_defect_until_oracle_green, implement_review_feature_as_records_with_readiness_test, design_mail_forward_to_task_records_with_readiness_test, implement_recurring_schedule_goal_records_with_replay_acceptance, implement_trigger_feature_from_review_item_as_records_with_replay_journal_acceptance, patch_kernel_composition_to_assemble_only_from_part_values_until_oracle_green, retrieve_verbatim_prior_step_patch_with_full_base_sha_and_apply_check, derive_fail_to_pass_scenarios_from_patch_requirement_plus_pass_to_pass_regression_from_owner_proofs, implement_repo_feature_from_numbered_statements_via_edit_door_and_change_flow, write_bottom_up_storage_domain_api_toggle_ui_patch_with_red_first_tests_traced_to_scenarios_by_neighbor_setting, draft_bottom_up_single_choice_toggle_setting_patch_storage_rank_api_ui_with_stub_first_red_tests_and_owner_questions, draft_bottom_up_single_choice_setting_patch_storage_logic_api_ui_with_red_first_tests_and_owner_decisions, draft_bottom_up_single_choice_setting_patch_storage_rank_api_toggle_ui_red_first_with_open_decisions, draft_bottom_up_nullable_single_pick_setting_patch_storage_rank_api_toggle_ui_with_red_first_tests, draft_bottom_up_single_choice_setting_patch_storage_rank_api_ui_with_stub_first_red_tests_and_characterization_guard, draft_layered_storage_logic_api_ui_patch_with_assert_red_first_tests_per_statement_and_flagged_assumptions, draft_bottom_up_single_select_priority_patch_storage_rank_api_toggle_card_ui_with_red_first_tests_and_outline_clicks, draft_bottom_up_single_select_priority_toggle_patch_storage_rank_api_aria_pressed_ui_with_red_first_tests_by_neighbor, draft_bottom_up_single_choice_toggle_patch_storage_rank_api_ui_with_red_first_tests_by_neighbor_setting, draft_layered_storage_logic_api_ui_patch_with_red_first_tests_traced_to_statements_and_open_owner_decisions, draft_bottom_up_storage_logic_api_ui_patch_with_stub_then_red_assert_tests_traced_to_statements_and_scenarios, draft_bottom_up_storage_logic_api_ui_patch_with_red_first_tests_per_statement_and_open_decisions, draft_bottom_up_storage_rank_api_ui_priority_toggle_patch_with_stub_first_red_tests_and_open_owner_decisions, draft_bottom_up_setting_storage_rank_api_toggle_ui_patch_with_assertion_red_stubs_traced_to_statements_and_open_decisions, write_bottom_up_storage_logic_api_ui_patch_with_red_first_tests_traced_to_statements_and_scenarios, draft_bottom_up_storage_logic_api_ui_patch_red_first_traced_to_parent_statements_with_open_decisions, draft_bottom_up_single_select_priority_toggle_patch_storage_rank_api_aria_pressed_ui_with_stub_first_red_tests_and_owner_decisions, draft_bottom_up_single_choice_setting_patch_storage_rank_api_aria_pressed_ui_red_first_with_characterization_guard_and_owner_decisions, draft_bottom_up_single_choice_setting_patch_storage_rank_api_toggle_ui_red_first_resolved_from_statements, draft_bottom_up_baseline_storage_logic_api_ui_patch_with_assertion_red_first_tests_per_statement_and_owner_open_decisions, draft_bottom_up_storage_rank_api_ui_priority_toggle_patch_with_stub_first_red_tests_and_stated_defaults, draft_bottom_up_storage_logic_api_ui_patch_with_stub_then_red_assert_tests_traced_to_statements_and_open_decisions, draft_bottom_up_storage_rank_api_toggle_ui_patch_red_first_by_neighbor_setting_with_open_decisions_and_unverified_gaps, draft_bottom_up_setting_storage_rank_api_aria_pressed_toggle_ui_patch_with_assertion_red_first_tests_by_neighbor_and_owner_decisions, draft_bottom_up_storage_rank_api_aria_pressed_ui_patch_with_assert_red_tests_per_statement_characterization_guard_and_owner_defaults, draft_bottom_up_storage_logic_api_ui_patch_with_assert_red_tests_characterization_guards_and_server_confirmed_toggle_ui, draft_bottom_up_setting_patch_by_neighbor_storage_rank_api_server_confirmed_toggle_ui_with_assert_red_tests_traced_to_scenarios, draft_rebased_neighbor_grounded_bottom_up_setting_domain_storage_usecase_api_toggle_ui_patch_with_scenario_tagged_assert_red_stubs_bisectable_commit_series_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_api_ui_patch_with_scenario_tagged_tests_stub_red_reasons_commit_series_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_storage_rule_usecase_api_proxy_ui_patch_with_scenario_tagged_red_first_tests_commit_order_open_decisions_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_with_scenario_tagged_red_first_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_anchor_edits_single_rank_seam_scenario_tagged_assert_red_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_storage_rule_api_proxy_ui_patch_with_scenario_tagged_tests_commit_series_red_expectations_defaults_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_api_ui_patch_with_scenario_tagged_red_first_tests_derived_decisions_and_unapplied_status, draft_bottom_up_storage_rule_api_ui_patch_stub_red_green_per_scenario_with_characterization_guards_open_decisions_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_api_ui_patch_with_scenario_tagged_assertion_red_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_usecase_rank_api_ui_patch_with_scenario_tagged_red_first_tests_guard_split_and_unapplied_status, draft_neighbor_grounded_bottom_up_storage_rule_usecase_rank_seam_api_proxy_ui_patch_with_scenario_tagged_red_first_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_single_dispatch_rank_seam_scenario_traced_assert_red_tests_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_storage_domain_rank_api_proxy_ui_patch_with_scenario_tagged_assert_red_tests_stub_red_step_guards_mutant_checks_and_unapplied_status, draft_reverified_neighbor_grounded_bottom_up_setting_patch_store_usecase_single_rank_seam_api_confirmed_toggle_ui_with_scenario_tagged_assert_red_tests_mutation_check_and_unapplied_status, draft_rebased_bottom_up_setting_patch_overlay_carry_single_rank_seam_api_server_confirmed_toggle_ui_with_scenario_tagged_assert_red_tests_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_setting_storage_rule_usecase_api_proxy_toggle_ui_patch_with_scenario_tagged_assert_red_tests_and_unapplied_status, draft_neighbor_grounded_bottom_up_setting_patch_storage_rank_api_toggle_ui_with_scenario_tagged_tests_red_stub_table_and_unapplied_status, draft_rebased_neighbor_grounded_bottom_up_setting_patch_single_rank_seam_scenario_tagged_red_first_tests_mutant_guards_and_unapplied_status, draft_reverified_bottom_up_storage_rule_api_ui_patch_with_stub_red_tests_per_scenario_tag_server_confirmed_toggle_mutants_and_unapplied_status, draft_reverified_bottom_up_commit_series_by_neighbor_map_with_scenario_tagged_tests_it_fails_stubs_manual_diff_mutants_and_unapplied_status, compose_neighbor_map_tagged_scenarios_bottom_up_patch_red_first_and_door_receipts_status_per_statement, draft_head_reverified_bottom_up_commit_series_by_neighbor_map_with_scenario_tagged_stub_red_tests_manual_mutant_journal_and_unapplied_status, compose_head_reverified_neighbor_map_tagged_scenarios_bottom_up_red_first_patch_and_door_receipt_status_per_statement, draft_head_reverified_single_seam_bottom_up_commit_series_with_refactor_split_title_tagged_red_first_tests_manual_mutant_journal_equivalence_notes_and_unapplied_status, compose_head_reverified_neighbor_map_scenarios_bottom_up_patch_and_per_statement_door_receipt_status, reverify_head_then_split_inventory_into_present_gap_defect_rows_and_draft_bottom_up_atomic_commits_with_scenario_tagged_f2p_red_on_base_p2p_guards_mutants_rollback_and_unapplied_status, reverify_head_inventory_in_tree_partial_feature_find_defects_then_gap_only_bottom_up_patch_with_scenario_tests_and_per_statement_door_status, read_old_vs_new_component_tree_find_new_ancestor_title_or_handler_then_write_jsdom_test_asserting_effective_nearest_title_per_hovered_element_with_p2p_own_title_guard_and_unrun_red_status, partial_revert_mechanism_lines_on_same_element_restore_old_beside_new_add_keyboard_parity_and_f2p_p2p_interaction_tests_unapplied_status, write_package_suite_interaction_tests_old_new_old_with_effect_method_body_exact_count_child_actions_zero_effect_strict_fetch_and_unrun_red_green_mutant_procedure, gate_inputs_then_compose_traced_site_spec_verbatim_first_screen_linear_blocks_4px_grid_two_role_font_pair_paired_color_roles_with_computed_wcag_contrast_state_matrix_reduced_motion_branches_and_render_roundtrip_plan, reread_head_then_move_inherited_ancestor_title_to_childless_leaf_keep_click_intent_verbatim_diff_new_jsdom_f2p_p2p_test_and_scoped_door_goal, reread_head_locate_ancestor_title_introduced_by_land_move_it_to_childless_leaf_keep_intent_text_verbatim_export_seam_add_jsdom_nearest_title_f2p_p2p_test_reject_symptom_site_empty_title_and_mark_unapplied_unrun, trace_named_flash_cause_to_update_source_then_pick_one_mechanism_swr_keep_value_if_external_store_else_transition_else_stable_key_patch_cause_line_only_with_f2p_no_throw_test_characterization_guard_and_unapplied_status, reread_head_find_ancestor_title_added_by_named_land_move_it_verbatim_to_childless_leaf_export_test_seam_jsdom_nearest_title_f2p_visibility_and_owner_asserts_p2p_own_title_guard_reject_empty_title_symptom_fix_mark_unapplied_unrun, reread_head_move_inherited_ancestor_title_verbatim_to_childless_leaf_export_seam_jsdom_nearest_title_f2p_p2p_mark_unapplied_unrun, reread_head_move_ancestor_title_added_by_named_land_verbatim_to_childless_leaf_export_seam_jsdom_nearest_title_f2p_visibility_owner_p2p_own_title_reject_empty_title_mark_unapplied_unrun, read_live_fix_and_existing_tests_state_f2p_helper_test_with_base_semantics_stub_red_procedure_add_jsdom_suspense_wiring_test_killing_call_site_revert_mutant_and_unrun_status, trace_click_handler_to_cache_invalidation_or_remount_name_suspense_boundary_chain_patch_swr_revalidate_keep_last_frame_with_red_first_test_and_unapplied_status, reroute_plan_item_obstacle_through_single_existing_door_free_path_first_measured_params_ledgered_calls_success_by_target_reply_refusal_by_actor_owner_only_possession_factors_and_named_uncovered_kinds, revise_login_plan_item_federated_identity_once_per_profile_mail_code_correlated_by_sender_and_request_time_captcha_door_only_owner_residual_with_profile_conflict_check_and_unrun_status, read_home_trace_form_then_draft_read_only_cdp_render_tool_with_wall_stops_separate_guarded_login_device_next_free_statement_with_red_check_and_per_target_live_reread_with_source_tags, fix_kernel_runtime_error_via_invariant_statement_red_first_check_patch_at_compute_site_door_land_and_rerun_goal, trace_admitted_substitute_to_occurrence_and_escape_edit_existing_statement_branches_door_patch_and_remint_after_land, reread_specimen_run_part_values_and_adapter_value_site_then_patch_producer_by_neighbor_rule_and_widen_part_settle_gate_to_value_presence_add_tagged_branches_in_existing_blocks_edit_prescribing_statement_texts_sweep_readers_name_out_of_repo_write_gap_unapplied_unrun, find_root_run_of_parent_door_part_take_its_minted_kernel_code_patch_part_value_and_subrun_version_reverify_base_eq_main_ref_reflog_tail_and_head_anchor_lines_grep_patch_markers_for_draft_vs_applied_list_rejected_candidates_from_other_trees_and_name_out_of_repo_files_and_owner_gaps, read_self_fix_run_and_main_reflog_trace_each_part_value_vs_evidence_name_occurrence_and_earliest_escape_gate_per_defect_edit_existing_statements_with_tagged_branches_and_mutants_draft_adapter_patch_grade_door_and_rerun_not_obtained_unless_receipts_exist, reread_head_door_goal_and_live_door_reader_sites_then_draft_record_object_law_node_field_with_expand_before_migrate_glossary_termid_entries_path_laws_to_door_practices_three_valued_door_verdict_never_switch_tagged_check_mutants_p2p_fake_door_sweep_out_of_repo_parts_and_unapplied_unrun_status, sweep_readers_of_flat_statement_list_pick_record_form_extending_existing_reader_name_glossary_attribute_fact_law_bind_each_law_to_lca_of_nodes_raising_attributes_its_check_reads_name_checkless_laws_defects_place_rca_items_as_node_laws_draft_one_field_patch_unapplied, trace_code_part_value_source_and_binding_axes_in_specimen_run_edit_existing_statements_premise_ladder_axes_stamp_retry_route_draft_door_patch_and_remint_after_land
result_error_rca
источник
compose
статус
ok
kernel_statement_drafts
источник
input
статус
ok
Исход
вид
refused
почему
a part that makes code has a text draft as its value, not the door's receipt {version, files, oracle} (statements 108/114) — a research without shell is no ground for a draft: the door applies the change
вызовов модели
6
Результат
вид
refused
Ответ
текст
kernel_adapter_patch = ["БАЗА И ПОСЫЛКИ. main = f624ebc8331bf8bc5c83d6a66eb07284cd7c3e52 (.git/refs/heads/main:1). По reflog (:7410) это один коммит после 0ba0bab522ab (:7409): на 0ba0bab написаны разбор и черновики. Какие файлы тронул f624ebc, не установлено: объекты упакованы, а через Read/Grep диффа не получить. COMMIT_EDITMSG описывает сторож моста — отсюда вывод (не проверен), что task.ts не трогали. Все адреса причин перечитаны на f624ebc и совпали с разбором: task.ts:2639–2656, 2809, 2975, 2994–3009, 3104–3115, 3167–3169, 3255, 6504, 6920, 7420, 7433, 7475. Посылки. Во входе kernel_statement_drafts — заглушка «<список правок П1…Пn>», result_error_rca во входе нет. Полные значения взяты из корневого прогона adab5876: result_error_rca — runs/adab5876-2a40-42ab-a383-45d5e9a20bbd.json:1895 (version 4b5cb8c88249cdac); kernel_statement_drafts П1–П5 — там же, :2048 (version b4a8f6a7d0321e10). Расхождение: слот result_error_rca у корня помечен ok:false, value-line-missing (:1886–1889), хотя подпрогон admitted. Соответствие «одна причина — один ханк»: К1→Ш1, К2→Ш2, К5→Ш3, К4→Ш4, К6→Ш5. Закон 127 не тронут.", "Ш1 · К1 → П1 (утв. 104) · шов: предикат принадлежности кандидата понятию. chooseSplit сверяет по intent (task.ts:7420 `c.records.includes(candidate.intent)`; этим же предикатом пользуются :7433, :7438, :7440, :7442, :7475). latticeLevel сверяет по action (:2809). Правка расширяет существующий предикат, а не заводит второй: вынести `function conceptHolds(records: readonly string[], candidate: IntentCandidate): boolean { return candidate.action !== null && records.includes(candidate.action); }` рядом с latticeLevel. :2809 → `const holds = conceptHolds;`. :7420 → `const holds = (c: Concept, candidate: IntentCandidate): boolean => conceptHolds(c.records, candidate);`. Для кандидатов с intent = action (все фикстуры сюиты, :207/:211/:217 __intentPkg) поведение то же байт в байт. Для живого реестра (goal_achievement_plan → build_goal_achievement_plan) раскол впервые получает варианты, и gainBits > 0.", "Ш2 · К2 → П2 (утв. 105) · шов: набор вариантов уровня в latticeLevel (task.ts:2823–2831 и 2855–2862). Сейчас: `own` = собственные записи понятия, а уровень без групп и без forward даёт optionCount 0. После этого deriveIntent молча выходит (:3167–3169) с REASON_NO_CANDIDATE (:3255) — ровно так в специмене на c4 (runs/4fab69d9:827). Правка: переименовать :2823 в `const ownHeld = candidates.filter((c) => holds(ownNames, c));`; forward на :2858 считать по ownHeld.length; после :2862 добавить `// Statement 105: a concept that holds a candidate never ends the walk without an answer — no group, no forward, no own record → its members are offered flat.` и `const own = built.length === 0 && forward === null && ownHeld.length === 0 ? members : ownHeld;`. Строки intents и records (:2824–2831) перенести ниже этой строки — чистая перестановка. Тогда break на :3168 достижим только при members.length === 0. acceptedIntent (:3227) принимает эти intents через level.intents — новой ветки в deriveIntent нет.", "Ш3 · К5 → П4 (утв. 102/101) · шов: вход в deriveIntent до шага 0 (task.ts:3104–3115) и существующая функция stepZeroQuestion (:2937). (а) Рядом с REASON_* (:603–619) добавить `const REASON_ROOT = 'root';`, `const ROOT_VERDICT = 'root';` и `function titleKey(t: unknown): string { return String(t ?? '').trim().toLocaleLowerCase('ru').replace(/[\\s.!?…]+$/u, '').replace(/\\s+/g, ' '); }`. (б) Из latticeLevel (:2816–2822) вынести `ownRecordNames(lattice, concept)`; latticeLevel зовёт её же, копии нет. (в) Добавить `rootFormRecord(lattice, candidates)`: среди conceptHolds(ownRecordNames(lattice, lattice.root), c) ровно один кандидат с record.kind === 'form', без needs, made !== 'fact' и непустым titleKey(chooseWhen); иначе null. (г) deriveIntent перед блоком :3114: `const root = rootFormRecord(lattice, candidates); if (root && titleKey(root.record?.chooseWhen) === titleKey(subject.text)) { run.classified = { known, path: [{ id: lattice.root.id, attributes: lattice.root.attributes, records: lattice.root.records, gainBits: rootLevel.gainBits }], criteria: reachableCriteria(lattice, lattice.root, candidates), verdict: null, intent: root.intent, reason: REASON_ROOT, output: null, facts: scoped(lattice.root) }; return { ...subject, [intentFact]: root.intent }; }` — ни одного callModel. Дальше judgeExperience (:5264, :5268) находит правило по intent, а форма без дыр собирается подстановкой (утв. 60, комментарий :2317–2318). (д) У stepZeroQuestion появляется необязательный 5-й параметр `rootIntent: string | null = null`. stepZeroForMint (:3039) его не передаёт, и там всё как было. deriveIntent (:3115) передаёт root?.intent ?? null. При rootIntent в choices (:2971) добавляется ROOT_VERDICT перед 'new', а в промпт — строка `КОРЕНЬ (root): <purpose записи>`. Ответ ROOT_VERDICT возвращается до вопроса вида артефакта (:2994): `{ rootEntry, failed: null, answer, axis: answer, output: null, observed: null }`. deriveIntent при zero.answer === ROOT_VERDICT ставит reason REASON_ROOT и intent корня, спуска нет. Вариация текста → ровно 1 вызов classifier, 0 llm. (е) Шаг данных, вне репозитория: запись-форма корня в реестре вида utterance:stated — kind form, needs [], chooseWhen «Помоги мне выполнить цель», bestForm — вопрос корня из П4 «Какую цель выполняем? Опишите результат и срок», правило intent eq <intent корня> → ask. Пока записи нет, rootFormRecord отдаёт null, и поведение то же байт в байт (фаза expand). РИСК: гейты :5321 (утв. 109, запись от старого адаптера) и :5340 (утв. 91, запись без исследования) отправляют запись корня на перечеканку через llm после каждого ленда адаптера, если у неё нет kernel этого адаптера и vars.research. Изъятие форм без дыр из этих гейтов — отдельная причина, в эту правку она не входит.", "Ш4 · К4 → П3 (утв. 107) · смена контракта, поэтому по схеме parallel change. Шаг 1, EXPAND: в stepZeroQuestion к `offered` (:2950) добавить виды из artifactKindOptions(run) (:1533) ПОСЛЕ существующих вариантов, до 'new' — так en[0] у фейков не сдвигается. Ответ `artifact:<kind>` → `output = { kind: answer, new: false }`, `axis = answer`, второй вызов (:2994–3009) не делается. Голый 'made:artifact' пока идёт по старой ветке, с двумя вызовами. Шаг 2, MIGRATE: фейки сюиты отвечают видом уже на task-output (в копии репозитория: task.statements.test.ts:5193, 5898, 6574, 7032, 7118, 7158). Ожидания двух вызовов :5909 и :6602 становятся [['task-output','classifier']]. Текст утв. 107 правится по П3. Шаг 3, CONTRACT, когда grep 'task-artifact' по сюите даёт 0: удалить вызов :2994–3009 и константы ARTIFACT_STAGE, ARTIFACT_SYSTEM, ARTIFACT_REPLY_HINT (:1530–1532). Тогда голый made:artifact значит «ни один вид не подошёл». До шага 3 вопрос «два-то откуда» закрыт только для ответа видом. В специмене (план, вид none 0.91) было бы по-прежнему 2 вызова, но вход-корень туда уже не попадает (Ш3). Третий вопрос OBSERVED_STAGE (:3013) на корне с кодом не меняется.", "Ш5 · К6 → П5 (утв. 39, 36) · шов: сборка отчёта; расширение, число не заменяется. Добавить `modelCallsByTier(run)`: total = run.modelRequests; byTier и byStage считаются по run.transports в порядке первого появления; unrecorded = modelRequests − transports.length (callModel увеличивает счётчик на :2645 до ответа транспорта, и упавший вызов записи не оставляет); label в виде «5: классификатор 2 (task-output, task-artifact), LLM 3 (task-research-method ×2, task-default)», а при unrecorded > 0 — «, без записи N». В обоих писателях отчёта рядом с `modelRequests: run.modelRequests` (:6504 — прогресс, :6920 — финал) добавить `modelCallsByTier: modelCallsByTier(run),`. modelRequests остаётся числом. cost.modelCalls записи (:4469, :6151; pattern.ts:109/198/397/438/558 требуют число) не трогается: разбивка по ярусам в записи — отдельная parallel change в pattern.ts. Экран владельца вне этой правки: в репозитории его нет (grep modelRequests/transports по packages/app — 0). Правка отдаёт строку label, её и нужно показывать.", "ПРОВЕРКИ (ветки в существующих помеченных блоках; копия сюиты в репозитории — packages/shared/src/core/instruction/task.statements.test.ts, адреса П1–П5 относятся к runtime/statement-checks/task/task.statements.test.ts, их совпадение не сверено). [s104] F2P: записи zz104_goal → build_zz104_goal (made artifact) и zz104_fact → find_zz104_fact (made fact); ниже шага 0 gainBits > 0, или enum task-classify содержит 'zz104_goal'. Мутант — вернуть candidate.intent на :7420 (ветка красная). P2P: прирост корня на zz54_letter и quick_note (intent = action). [s105] F2P: уровень без групп и forward с ≥1 кандидатом задаёт task-classify, а reason 'new: no candidate' ниже корня бывает только при ответе 'none'. Мутант — убрать плоскую выдачу. [s102] F2P: засеять форму корня; run({text:'Помоги мне выполнить цель'}) с транспортом, который бросает. Проверяется: modelRequests 0, transports [], reason 'root', path.length 1. Мутант — убрать сверку titleKey. P2P: «помоги с целью, пожалуйста», фейк task-output отвечает 'root' → 1 вызов classifier, 0 llm. Мутант — 'root' не в enum. :5844 (ровно один вопрос шага 0 над пустой решёткой) остаётся зелёной. [s107] на шаге 2: проход zz107, фейк отвечает 'artifact:letter' на task-output → ровно 1 вызов classifier до task-classify или task-default. Мутант — вернуть второй вызов. [s39] F2P: sum(byTier) + unrecorded === modelRequests, label содержит «классификатор» и «LLM» с числами из transports. Мутант — голое число. [s18] регэксп :1254 `^modelRequests?(Count)?$` новый ключ не ловит, блок зелёный. Все красные и зелёные состояния предсказаны, не прогнаны.", "ЧИТАТЕЛИ (полный grep по packages, без node_modules; вердикт у каждого). chooseSplit — 1 вызывающий, latticeLevel:2833: затронут, совместим. latticeLevel — stepZeroQuestion:2938 (меняется значение rootEntry.gainBits, совместим), deriveIntent:3104 (rootLevel, совместим), :3150 (спуск: теперь задаётся task-classify, так и задумано). stepZeroQuestion — deriveIntent:3115 (передаёт rootIntent, правится), stepZeroForMint:3039 (без rootIntent, в enum появятся виды — совместим, en[0] не сдвигается). classified.reason — task.ts:5473 и :5542 сравнивают только с REASON_PARTS, не затронуты; сюита :4010, 4348, 5020, 5054, 5225, 5245, 5692, 6279, 6291, 6318, 6445, 6459, 6734, 6742 проверяет свои входы, не затронута. classified.path — :2140 (researchMethod), :3042, :3642, :5489: при reason 'root' путь из одного узла, до этих мест повтор не доходит, совместимы. modelRequests — task.ts:6875 и :6878, сюита :1254, 3816, 3833, 4031, 4441, 6375, docs/spec/goals/task.json (5 упоминаний): не затронуты, число прежнее. cost.modelCalls — task.ts:4469, 6151, 3639–3653 (порядок наполнителей), pattern.ts: не затронуты. 'task-artifact' / ARTIFACT_STAGE — task.ts:1530, 2998, 3006; сюита :3938, 3974, 3990, 3997 (фильтруют стадию, не затронуты), :5193, 5898, 6574, 7032, 7118, 7158 (фейки — шаг 2), :5909, 6602 (ожидают два вызова — шаг 2), :6443, 6588; task-target.json :344, :346, :347 — правка текста по П3. Вне репозитория: запись корня в реестре (данные), копия сюиты в runtime/statement-checks, экран shadums.com.", "ИЗМЕНЁННОЕ НАБЛЮДАЕМОЕ ПОВЕДЕНИЕ (закон Хайрама). (1) На живом реестре спуск задаёт task-classify там, где раньше молча останавливался: больше вызовов classifier на уровень, пути длиннее, gainBits > 0. Часть входов перейдёт с 'new: no candidate' (чеканка через llm) на 'output-matches' (повтор): меньше вызовов llm, меньше новых записей. (2) Новое значение classified.reason — 'root'. Утв. 68 (task-target.json:358) перечисляет причины, и его текст тоже нужно дописать; в П1–П5 этой правки нет. (3) В enum шага 0 появляются artifact:<kind> и, при наличии записи корня, 'root': длиннее промпт task-output, другой requestSha256 — прежние кэш-ключи транспорта перестают совпадать. (4) В отчёте новый ключ modelCallsByTier; прежние ключи и их значения не меняются.", "СТАТУС И ПРОБЕЛЫ. Статус: черновик, не применён и не запущен. Дверь не запускалась, в рабочее дерево ничего не записано, tsc и сюиту не гонял. Порядок ленда: Ш1 → Ш2 → Ш5 → Ш3 (код) → запись корня (данные) → Ш4 шаг 1 → шаг 2 → шаг 3; каждый шаг — отдельный проход двери со своей веткой. Пробелы: список файлов коммита f624ebc не получен; не сверено, совпадают ли номера строк П1–П5 в runtime-копии сюиты с копией в репозитории; фикстура решётки, у которой уровень пуст уже после Ш1, не построена (без неё F2P ветки s105 гоняется на базе без Ш1); объединение ModelTier (task.ts:69) не перечитано — метки в label, кроме classifier и llm, выводятся как есть; риск перечеканки записи корня через гейты :5321 и :5340 остаётся открытым."] Как собран черновик. Правки не вносились, всё только прочитано. Я перечитал специмен `runtime/runs/4fab69d9-f129-471a-a9ae-45e3d661474f.json`: вход (:4), путь c0 → c4 с gainBits 0 (:673, :827), reason «new: no candidate» (:1384), judged (:1450–1453) и пять вызовов в transports (:2034–2275). Затем прочитал корневой прогон adab5876: там записаны настоящие значения обеих посылок, а во вход пришла только заглушка. Потом перечитал сами места причин в `task.ts` на текущем main f624ebc. Каждую причину я ставил в шов (по Физерсу), то есть туда, где поведение меняется без правки вызывающих. Это предикат принадлежности, набор вариантов уровня, вход спуска до шага 0 с новым необязательным параметром у существующей stepZeroQuestion и сборка отчёта. Несовместимую замену двух вызовов классификатора одним я разбил по схеме expand → migrate → contract (Parallel Change). Для каждого изменения наблюдаемого поведения указан его читатель (закон Хайрама). Источники: - [Martin Fowler — Legacy Seam](https://martinfowler.com/bliki/LegacySeam.html): шов — «a place where you can alter behavior in your program without editing in that place»; у каждого шва есть enabling point. - [Danilo Sato / Martin Fowler — Parallel Change](https://www.martinfowler.com/bliki/ParallelChange.html): несовместимая смена интерфейса проводится тремя фазами — expand, migrate, contract. - [Hyrum's Law](https://www.hyrumslaw.com/): «all observable behaviors of your system will be depended on by somebody», поэтому новые причины, варианты enum и ключи отчёта перечислены как смена контракта.