снимка нет — числа не сняты прибором scripts/snimok.py

Exocortex

внешний мозг · рабочее место Александра

[ метод ]

Я ставлю систему на место ручной работы.

Метод — это порядок, а не вдохновение. Что делаю → зачем → чем доказано. Третье поле обязательное. Без него первые два — пересказ.

заголовок — docs/promty/2026-09-11-dizayn-nadbavka.md

Чертёж · «готово» на четыре шага

1234МЕТОД · ГОТОВО4 шага · 1 главный
  • 1Правка подготовлена
  • 2Доступные проверки пройдены
  • 3Типы и сборка на маке
  • 4Прод проверен

Метод — как устроена система

Ворота сдачи

«Готово» у меня живёт только на четвёртом шаге из четырёх.

1

Правка подготовлена

2

Доступные проверки пройдены

3

Типы и сборка на маке

4

Прод проверен

Как ставится задача

Критерий провала пишется до работы. Не после.

Зачем: 26.08 трижды сдано правдоподобное — перебор вместо индекса, шум вместо ответа.

Проверка обязана уметь покраснеть.

Зачем: проверка ключей годами показывала зелёное из-за непарной кавычки.

Зелёный лог — не годный выход.

Зачем: линза прошла «успешно», а 1307 карточек вышли без заголовка.

PRAVILA.md · «Ворота сдачи», «Цены поломок»

Три центра · карточка разбора — не один из них

центр 1 · /mashina

Машина без человека

Доказательство, что система работает, пока меня нет у стола.

/mashina

центр 2 · /zhizn

Сетка жизни и времени

Сайт про оператора, а не про систему.

/zhizn

центр 3 · /pult

Пульт владельца

Рабочее место, витрина вторична. Главная ведёт туда.

/pult

Зачем. Сначала я поставил в середину карточку, и сайт построили вокруг неё. Это была моя ошибка. Карточки — законченный слой: конвейер делает их сам, ночью.

Чем доказано. Решение принято мной 11.09 на обходе макетов: страницы /pult /mashina /zhizn /baza /kartochka и новый экран /izolyator, главная — редирект на /pult. Сборка в app/ — тикет 36.

центры — docs/promty/2026-09-11-dizayn-nadbavka.md · решение — content/resheniya.md, запись «Fable · вид» · docs/zadachi/36-sborka-vida-krug-4.md

Реестры · чат не хранилище: итог дописывается строкой в файл сразу, а не в конце сессии

Решения

записей с датой

Что закрыто и чего больше не делать. Отрицательный результат нигде больше не оседает, и через месяц кто-то — чаще агент — предлагает уже отвергнутое.

content/resheniya.md

Просьбы

открытых

Моя просьба висит открытой, пока не закрыта фактом: коммит, ссылка, работающая вещь. 10.09 я перевёл 81 открытую просьбу в архив одним ходом — не удалил.

content/prosby.md

Мины

мин с датой

Провал строкой: что сломалось → как проявилось → правило → чем ловится. Наступили один раз — дальше ловит машина, а не память.

content/miny.md

Рост

записей с датой

Про меня, а не про систему. Строка пишется только с доказательством: коммит, файл, прогон прибора, число. «Понял» и «осознал» сюда не пишутся.

content/rost.md

Коды возврата · каждый наш скрипт отвечает одним из трёх

0

СДЕЛАНО

Результат есть, постусловие выполнено.

1

НЕ ВЫПОЛНЕНО

Сломано: сеть, 429, потолок расхода, исключение, неверный вызов.

2

ПУСТО

Прибор отработал, результата нет по штатной причине: нечего искать, список пуст, «не знаю».

Зачем. Без контракта «ничего не нашёл» и «сломался» выглядят одинаково. argparse на неверном вызове выходит кодом 2 — и опечатка в ключе читалась как штатный пустой прогон. Поэтому неверный вызов у меня — 1, а не 2.

Граница. Код 2 — «пусто» только у одиночной строки python3 scripts/<имя>.py без конвейера. У grep, diff, ls код 2 — ошибка.

Код 0 — тоже не доказательство. git commit вернул 1, git push вернул 0, и оба «прошли». Поэтому в заявке пишется, что обязано лежать на диске после команды: «# ожидаю: <путь> существует». Исполнитель отвечает ДОКАЗАНО или НЕ ДОКАЗАНО.

scripts/kody.py · константы SDELANO = 0, NE_VYPOLNENO = 1, PUSTO = 2 · scripts/ispolnitel.sh · функция postuslovie

Очередь исполнителя · shina/ochered/ · git — только через очередь

  1. очередьshina/ochered/<имя>.cmd — одна команда на строку, # — комментарий

    ждёт сейчас:

  2. исполнительscripts/ispolnitel.sh на маке разбирает файл
  3. результатshina/logi/ochered/<имя>.out

    файлов .out:

  4. разобрано
    shina/ochered-sdelano/
    в отказе
    shina/ochered-otkaz/

Зачем. Агент из облака мак руками не трогает. Git — только через очередь.

Правила, по порядку разбора

  • Белый списокКоманда вне списка не выполняется и не пропускается молча: в .out строка ОТКАЗ с точной причиной. Запрещены &&, ;, $(...), обратные кавычки, >, <, sudo, &.
  • Стоп на ошибкеСтрока с кодом не 0 останавливает файл. Остальные строки не выполняются, файл уезжает в shina/ochered-otkaz. До 11.09 файл шёл дальше после любого кода.
  • Потолки10 файлов за прогон, 300 секунд на команду. Шапкой файла потолок поднимается не выше 1800 секунд. Код 137 — обрыв по потолку.
  • ЗамкиПрогон пишет свой pid в shina/logi/ochered/ispolnitel.zamok. Второй экземпляр при живом первом пишет ЗАНЯТО и выходит. Мёртвый замок снимается сам, иначе очередь встала бы навсегда и промолчала.
  • РубильникПока лежит файл shina/ochered/STOP, очередь не разбирается.
  • КвитанцияОтказ не глухой: scripts/kvitanciya.py пишет строку в shina/logi/kvitancii.jsonl и говорит в телеграм. До 07.09 так пропали 27 отказов — автор заявки не узнавал ничего.
  • Честная строкаФайл лёг — значит «принято, ждёт мак». Не «запущено».
  • Стоп на входеБольше 3 невыполненных в очереди — новое дело не кладётся. Решение 11.09. В боте команда /use это считает. Кнопка на сайте пока держит только потолок 10 дел в час, общего стопа >3 на ней ещё нет.

Текст задачи в команду не попадает никогда — только в строки-комментарии. Исполнитель выполняет строки через eval, и одна кавычка в тексте поменяла бы, что выполнится.

scripts/ispolnitel.sh · шапка, PREDEL_FAJLOV, PREDEL_SEKUND · scripts/kvitanciya.py · app/lib/ochered.ts · CHASOVOJ_POTOLOK · scripts/bot.py · USE_STOP_BOLSHE · START.md · «Мины среды»

Изолятор · что система отбила

Зачем. Отказ, которого никто не видит, повторяется.

  • Заявки в отказе — . shina/ochered-otkaz
  • Память отказов агента — . Перед задачей её читает python3 scripts/shina.py nachni. Запись становится памятью, только когда предупреждение сработало до повторения.

нет в снимке: квитанции (shina/logi/kvitancii.jsonl) · остановленные .out со строкой «# СТОП» · отказы ядра (memory/otkazy.jsonl)

причины — /izolyator →

Что из прежнего текста не вошло

Прежний метод назывался «Гермес»: девять способностей, колода на 9 недель, акт ремонта. Его числа сняты на дату той страницы и с реестрами не сверены. Здесь я их не повторяю.

Автор — коротко

справка — /avtor

Меня зовут Александр.