AI Ultra · 18 августа 2026 · 18.08

Файл, в котором написано «что считать сделанным»

Что учим. Чат завтра забудется. Файл в репо останется. Но не любой файл: нужен такой, по которому следующий прогон поймёт, прошёл он или нет.

Зачем тебе. Ты уже кладёшь память в файлы вроде STATE.md и инструкции вроде CLAUDE.md. Это не новость. Дыра другая: 26 июля прогон написал ok при нуле вызовов, потому что в репо не было файла, который говорит «ok без работы — провал». Память есть. Контракта успеха нет.

Сначала история

Представь смену кассира.

Вчера ты в мессенджере написал: «если касса пустая, день нельзя закрывать». Утром другой кассир этого чата не видит. Он смотрит тетрадку смены: «пришёл, ушёл, всё спокойно» — и закрывает день. Тетрадка помнит, что было. Она не говорит, что должно быть, чтобы день считался сделанным.

Так устроен study-live. office/STATE.md и harness/run.py можно только читать, не трогаем. Следующий цикл читает память. Файла «день сдан, только если…» нет. Поэтому пустой 26.07 стал ok.

Как это называть

Своими словамиТермин
Файл, где написано, когда работа считается сделаннойsuccess contract или done-файл
Память «что уже случилось»это не контракт. У тебя это ближе к STATE.md
Папка с инструкцией, которую агент сам открывает, когда задача совпалаSkill
Сначала короткое имя, тело файла читают только если нужноprogressive disclosure (открывать по нужде)
Из нескольких файлов-инструкций побеждает тот, что ближе к файлу, который правятnearest wins
Строка теста в репо: вход, ожидаемый мир, как проверитьeval case в датасете

Разница в одном предложении: STATE.md говорит «вчера ключа не было». Done-файл говорит «если вызовов ноль и нет записи “ключа нет” — день не сдан».

Кто так уже делает

Anthropic, Agent Skills: ремесло кладут в папку. В системный промпт всегда только короткое имя и описание. Тело SKILL.md агент читает, когда задача совпала. Не копируют простыню в каждый чат и не плодят нового бота.

AGENTS.md: инструкция для агента лежит в репо. Ближний к правке файл побеждает. То, что ты написал в чате только что, бьёт файл. Это про «как работать». Само по себе не говорит, прошёл ли сегодняшний прогон.

Inspect: критерий проверки лежит в файле рядом с задачей. Нет файла критерия — нечего делать зелёным. Это ближе всего к done-файлу.

Три неочевидных решения

  1. Done-файл читает харнесс, не критик в чате. Если «успех» снова написан людьми в переписке, завтра его нет. Цена: файл надо обновлять, когда меняется смысл дня. Иначе вчерашний контракт будет бить сегодняшний нормальный прогон.
  2. Память и контракт — разные файлы. Смешать «что было» и «что должно быть» в одном STATE.md удобно и потом врёт: после плохого дня память выглядит как правило. Цена: два файла вместо одного.
  3. Skill — для ремесла, done-файл — для вердикта. Skill учит «как собирать HTML». Done-файл решает «можно ли писать ok». Путать их — снова красивый процесс без зачёта. Цена: ещё один короткий файл, зато 26.07 больше не зелёный.

Попробуй сам, 10 минут

Репо не открывать и не менять. Ниже напиши done-файл на бумаге или в заметке.

Нужно покрыть один случай: день без ключа, вызовов ноль.

Минимум четыре строки, своими словами:

  1. Когда этот файл читают (перед тем как ставить ok).
  2. Что должно быть в мире, чтобы день сдать.
  3. Что должно быть в логе как доказательство.
  4. Что запрещено называть успехом.

Сверка, не единственный правильный текст:

Читать перед status=ok.
Сдать день можно, если есть файл дня или явная запись «ключа нет, день не делали».
В логе либо вызовы по этому дню, либо сертификат «ключа нет».
Запрещено: status=ok при нуле вызовов и пустом сертификате.

Если у тебя только «будь внимателен» или «смотри STATE.md» — это снова память и лозунг, не контракт.

Что теперь умеешь объяснить

Три вопроса

  1. Ты написал агенту в чате: «без вызовов не ставь ok». Завтра это сработает само?
  2. В STATE.md есть строка «26.07 ключа не было». Это done-файл?
  3. Агент прочитал Skill «как делать HTML» и сделал страницу. Можно ставить ok, если в логе вызовов ноль?
Ответы
  1. Нет. Чат не увидит следующий прогон. Нужен файл, который харнесс читает каждый раз.
  2. Нет. Это память, что случилось. Контракт сказал бы: такой день не имеет права быть ok без записи «не делали».
  3. Нет. Ремесло (Skill) не заменяет вердикт. Нет доказательств в логе — нет зачёта.

AI Ultra · 18.08