Write down the next few prompts as an ordered horizon, and the rule that two prompts never target one zone at once.
This commit is contained in:
parent
082779b01a
commit
130b1a2e2f
3 changed files with 60 additions and 0 deletions
|
|
@ -34,6 +34,8 @@ Go-бэкенд издательского художественного пер
|
||||||
|
|
||||||
Координация — журнал `docs/PROGRESS.md` (секции «Бэкенд»/«Полигон»; сверху CURRENT-STATE). Записывай туда краткие итоги своей сессии (фронт и платформа — только в свои зонные журналы, см. таблицу выше). ⚠ Это ЕДИНСТВЕННОЕ исключение из «`docs/` — зона оркестратора»: бэкенд и полигон пишут в СВОИ секции этого журнала (полигон — ещё и в `docs/experiments/`), всё прочее в `docs/` правит только оркестратор. Закрытые хроники вынесены в слайсы `docs/archive/PROGRESS-*.md` — НЕ читать при онбординге, только по конкретной ссылке. Параллельные сессии — норма: чужие незакоммиченные файлы в дереве не трогать; сессия считается ЖИВОЙ, пока владелец не сказал обратное.
|
Координация — журнал `docs/PROGRESS.md` (секции «Бэкенд»/«Полигон»; сверху CURRENT-STATE). Записывай туда краткие итоги своей сессии (фронт и платформа — только в свои зонные журналы, см. таблицу выше). ⚠ Это ЕДИНСТВЕННОЕ исключение из «`docs/` — зона оркестратора»: бэкенд и полигон пишут в СВОИ секции этого журнала (полигон — ещё и в `docs/experiments/`), всё прочее в `docs/` правит только оркестратор. Закрытые хроники вынесены в слайсы `docs/archive/PROGRESS-*.md` — НЕ читать при онбординге, только по конкретной ссылке. Параллельные сессии — норма: чужие незакоммиченные файлы в дереве не трогать; сессия считается ЖИВОЙ, пока владелец не сказал обратное.
|
||||||
|
|
||||||
|
⚠ **ОДИН ПРОМТ НА ЗОНУ (слово владельца 11.09).** Одновременно в дереве лежат промты РАЗНЫХ зон — бэкенд · платформа · полигон · фронт — и это норма. **Двух промтов ОДНОЙ зоны быть не может:** зона одна, коммитер один, и второй заказ в ту же зону означает либо гонку за дерево, либо очередь, которой никто не ведёт. Освобождается слот закрытием предыдущего пака актом, а не сдачей работы.
|
||||||
|
|
||||||
⚠ **НОВЫЙ ПАК — НОВОЙ СЕССИИ.** Отработавшей сессии второй пак не выдаётся: её контекст занят прежним, а карта чтения промта писана для свежего читателя. Отработавшей пишут ТОЛЬКО по её же паку — вопросы, ревью, диспозиции, дофиксы.
|
⚠ **НОВЫЙ ПАК — НОВОЙ СЕССИИ.** Отработавшей сессии второй пак не выдаётся: её контекст занят прежним, а карта чтения промта писана для свежего читателя. Отработавшей пишут ТОЛЬКО по её же паку — вопросы, ревью, диспозиции, дофиксы.
|
||||||
|
|
||||||
**Связь между сессиями — файл `/tmp/textmachine-channel`.** Впиши туда СВОЙ блок первым делом
|
**Связь между сессиями — файл `/tmp/textmachine-channel`.** Впиши туда СВОЙ блок первым делом
|
||||||
|
|
|
||||||
57
docs/NEAR_TERM_PLAN.md
Normal file
57
docs/NEAR_TERM_PLAN.md
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
# Ближайший горизонт — 3–5 промтов
|
||||||
|
|
||||||
|
> Рабочая записка оркестратора №23. **Только порядок и зоны**, не заказы: готовые промты пишутся отдельно
|
||||||
|
> и по одному на зону. Живёт до исполнения, потом в архив. Долг живёт строками `BACKLOG.md`, решения — нотами.
|
||||||
|
>
|
||||||
|
> ⚠ **Правило раскладки (слово владельца 11.09):** одновременно в дереве лежат промты РАЗНЫХ зон —
|
||||||
|
> бэкенд · платформа · полигон · фронт. **Двух промтов одной зоны быть не может.**
|
||||||
|
|
||||||
|
## Что решает владелец, а не код
|
||||||
|
|
||||||
|
- **Определения показа в проекте НЕТ** — в реестре требований «демо · показ · гость» 1 хит на 93 строки
|
||||||
|
(контроль: «перевод» — 16). Нужны: аудитория и вход · какая книга · один гость или несколько · бюджет
|
||||||
|
времени показа. Без этого список блокеров не имеет знаменателя, а часть решается словом (общий брокер
|
||||||
|
рейт-лимитов — блокер только при нескольких гостях).
|
||||||
|
- **Разморозка фронта** — не раньше, чем пере-проверена полнота базового функционала обеих зон
|
||||||
|
(сомнение владельца 11.09, см. горизонт).
|
||||||
|
|
||||||
|
## Горизонт
|
||||||
|
|
||||||
|
| № | зона | предмет | цена | чем заперт |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| 1 | **бэкенд** | структура глав, ДИЗАЙН — ок владельца получен | $0 | слот занят до закрытия текущей движковой сессии; нужны 5 врезок в пак |
|
||||||
|
| 2 | **платформа** | прогон A: `curl` → **файл**, короткая настоящая книга 2–3 главы | $0 | четыре однострочных предусловия (ниже) |
|
||||||
|
| 3 | **полигон** | ремонт прибора — промт уже лежит, не стартован | $0 | ничем |
|
||||||
|
| 4 | **бэкенд/платформа** | дешёвые ряды пути + что назовёт прогон A | день | после A |
|
||||||
|
| 5 | **фронт** | поверхность показа | пак | разморозка + проверка полноты |
|
||||||
|
|
||||||
|
## Почему прогон A первым и почему НЕ «по рецепту P9»
|
||||||
|
|
||||||
|
Пока он не пройден, остальное — планирование по чтению. ⛔ Но пробой 27.08 шёл **через `curl` на локальной
|
||||||
|
заглушке и оборвался на правке банка** — то есть мимо фронта целиком и до последней трети. Заказ: продлить
|
||||||
|
до конца (редакторская волна → выгрузка → **файл открыт человеком**). Короткая книга намеренно: локальная
|
||||||
|
модель 63–278 с на чанк.
|
||||||
|
|
||||||
|
**Ловит:** заказ прогона · файл · развёртывание · неизвестное последней трети.
|
||||||
|
**Не ловит, назвать в промте:** качество (заглушка), настоящий провайдер, транспортные «затупы».
|
||||||
|
|
||||||
|
**Предусловия, все однострочники:** $0-пайплайна в репозитории нет (ни один из 4 `pipeline-*.yaml` не
|
||||||
|
называет локальную пару) · образца шаблона книги платформы нет · словарь контраста 0 файлов в git при
|
||||||
|
требовании в 3 конфигах из 5 · грант новичку 0 · Postgres на машине не поднят.
|
||||||
|
|
||||||
|
⚠ **Вычеркнуто из условий:** «второй контур наблюдения» прогон НЕ гейтит — лог запросов и `status --json`
|
||||||
|
уже есть. ⭐ Дёшево и сразу: собрать бинари `go build -cover` и дать `GOCOVERDIR` — покрытие ответит на
|
||||||
|
«каждый ли узел выполнился» (в обоих Makefile `-cover` 0 при `-race` 6).
|
||||||
|
|
||||||
|
## Вычеркнуто из плана показа
|
||||||
|
|
||||||
|
Лендинг (строка **384**) — отдельная поверхность. Брокер конкурентности — решается определением.
|
||||||
|
Корректность остановки — после A, объёмом по его уликам. Ряды остановки (**372**, **391**) — не показ.
|
||||||
|
|
||||||
|
## Мои ошибки, снятые разбором — чтобы не повторить
|
||||||
|
|
||||||
|
1. «По рецепту P9» — рецепт идёт мимо фронта и обрывается до последней трети.
|
||||||
|
2. «Второй контур наблюдения» как условие — гейтил бы прогон стройкой ненужного ему.
|
||||||
|
3. «Приоритет №1 не исполняется кодом вовсе» — **неверно**: консистентность держится инъекцией банка и
|
||||||
|
пост-проверкой, которая ФЛАГУЕТ и ОТГРУЖАЕТ. Это «нет ОТКАЗА», а не «нет носителя», и для читателя
|
||||||
|
«текст с пометкой» — правильное поведение.
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
- [PROGRESS.md](PROGRESS.md) — журнал: CURRENT-STATE + состояние паков + живой хвост хроники и зонные секции «Бэкенд»/«Полигон». НЕ источник решений.
|
- [PROGRESS.md](PROGRESS.md) — журнал: CURRENT-STATE + состояние паков + живой хвост хроники и зонные секции «Бэкенд»/«Полигон». НЕ источник решений.
|
||||||
- [BACKLOG.md](BACKLOG.md) — **ЕДИНЫЙ БЭКЛОГ проекта** (единственный трекер; «строка N» — стабильный ID). Вынесен из `PROGRESS.md` 06.09 (D39.218; исключение из дословности названо в шапке того файла); зонные бэклоги — свои и с другими ID (`П-N`, `Ф-N`, `PD-N`).
|
- [BACKLOG.md](BACKLOG.md) — **ЕДИНЫЙ БЭКЛОГ проекта** (единственный трекер; «строка N» — стабильный ID). Вынесен из `PROGRESS.md` 06.09 (D39.218; исключение из дословности названо в шапке того файла); зонные бэклоги — свои и с другими ID (`П-N`, `Ф-N`, `PD-N`).
|
||||||
- **Тулчейн на чистой машине.** Версии не здесь — их носители: `backend/Makefile` и `platform/Makefile` (`GO_MIN_VERSION`, `GOLANGCI_VERSION`), `frontend/package.json` (`engines`), `platform/docs/STACK_DECISIONS.md` §«Postgres на стенде без root», `eval/requirements.txt` + `eval/.python-version`. Здесь только то, чего нет нигде: ставим в `~/.local/opt/<инструмент>` с симлинком в `~/.local/bin` (он уже в `PATH`), берём **последний патч пинованного минора, а не следующий минор** — линтер пинован точным равенством и разъедется. Root требуют ровно два пакета: `build-essential` (без C-компилятора нет `-race`, а снять `-race` значит выдать отсутствие тулчейна за зелёный прогон — см. комментарий над целью `test` в `backend/Makefile`) и `python3-venv` (в системном питоне нет `ensurepip`, и установка полигона по `eval/README.md` обрывается на первом шаге).
|
- **Тулчейн на чистой машине.** Версии не здесь — их носители: `backend/Makefile` и `platform/Makefile` (`GO_MIN_VERSION`, `GOLANGCI_VERSION`), `frontend/package.json` (`engines`), `platform/docs/STACK_DECISIONS.md` §«Postgres на стенде без root», `eval/requirements.txt` + `eval/.python-version`. Здесь только то, чего нет нигде: ставим в `~/.local/opt/<инструмент>` с симлинком в `~/.local/bin` (он уже в `PATH`), берём **последний патч пинованного минора, а не следующий минор** — линтер пинован точным равенством и разъедется. Root требуют ровно два пакета: `build-essential` (без C-компилятора нет `-race`, а снять `-race` значит выдать отсутствие тулчейна за зелёный прогон — см. комментарий над целью `test` в `backend/Makefile`) и `python3-venv` (в системном питоне нет `ensurepip`, и установка полигона по `eval/README.md` обрывается на первом шаге).
|
||||||
|
- [NEAR_TERM_PLAN.md](NEAR_TERM_PLAN.md) — **горизонт на 3–5 ближайших промтов**: порядок, зоны и чем каждый заперт. Рабочая записка оркестратора, живёт до исполнения. ⚠ Не трекер и не реестр: долг — в `BACKLOG.md`, решения — нотами.
|
||||||
- `scripts/counts.py` — **производные числа доков считаются им, а не руками** (голова по трём носителям · счёт очереди и зон · вес открытых строк регистра платформы · полнота реестра нот); `--check` даёт ненулевой код на расхождении; `--lint` — линтер file:line-якорей живых доков (D39.126). Его же зовёт зонный хук `scripts/githooks/pre-commit`: **`--lint` якорей — при ЛЮБОМ коммите с непустым индексом, включая коммиты чистого КОДА (гейт по составу снят 21.08: цели якорей живут в коде, и двигает их кодовый коммит; шумовое следствие — строка бэклога 244); `--check` чисел и головы — только при коммите с D-логом или PROGRESS** (оба `--from-index`, предупреждает, не блокирует). ⚠ **Гейт бутстрапится ЧУЖОЙ зоной — это ДЕФЕКТ, а не порядок работы (строка бэклога 220):** судит он `CLAUDE.md` и доки трёх зон, а в `.git/hooks/` его кладёт единственный установщик `frontend/scripts/githooks/install.mjs`, то есть побочный эффект `npm install` в зоне, которая ЗАМОРОЖЕНА. На свежем клоне `.git/hooks/` пуст и гейт молчит, не проверив ничего. Пока строка открыта, бутстрап делается руками (`node frontend/scripts/githooks/install.mjs`) — и это ВРЕМЕННАЯ мера, которую строка 220 закрывает, а не способ жить дальше. ⚠ Шапка систематически отстаёт от хвоста у ЛЮБОГО автора — потому проверка механическая, а не «посмотрю внимательно».
|
- `scripts/counts.py` — **производные числа доков считаются им, а не руками** (голова по трём носителям · счёт очереди и зон · вес открытых строк регистра платформы · полнота реестра нот); `--check` даёт ненулевой код на расхождении; `--lint` — линтер file:line-якорей живых доков (D39.126). Его же зовёт зонный хук `scripts/githooks/pre-commit`: **`--lint` якорей — при ЛЮБОМ коммите с непустым индексом, включая коммиты чистого КОДА (гейт по составу снят 21.08: цели якорей живут в коде, и двигает их кодовый коммит; шумовое следствие — строка бэклога 244); `--check` чисел и головы — только при коммите с D-логом или PROGRESS** (оба `--from-index`, предупреждает, не блокирует). ⚠ **Гейт бутстрапится ЧУЖОЙ зоной — это ДЕФЕКТ, а не порядок работы (строка бэклога 220):** судит он `CLAUDE.md` и доки трёх зон, а в `.git/hooks/` его кладёт единственный установщик `frontend/scripts/githooks/install.mjs`, то есть побочный эффект `npm install` в зоне, которая ЗАМОРОЖЕНА. На свежем клоне `.git/hooks/` пуст и гейт молчит, не проверив ничего. Пока строка открыта, бутстрап делается руками (`node frontend/scripts/githooks/install.mjs`) — и это ВРЕМЕННАЯ мера, которую строка 220 закрывает, а не способ жить дальше. ⚠ Шапка систематически отстаёт от хвоста у ЛЮБОГО автора — потому проверка механическая, а не «посмотрю внимательно».
|
||||||
- **Активные хендофф-промты — какой файл ТВОЙ** (состав обновляется при каждом лендинге, D39.80; хроника, причины и статусы РАБОТ — CURRENT-STATE и D-лог):
|
- **Активные хендофф-промты — какой файл ТВОЙ** (состав обновляется при каждом лендинге, D39.80; хроника, причины и статусы РАБОТ — CURRENT-STATE и D-лог):
|
||||||
| Роль | Активный промт | Статус |
|
| Роль | Активный промт | Статус |
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue