секция роадмапа «Сопровождение» и общий словарь трёх мест
«Разработка» называла слишком много: роадмап весь про разработку, и секция с таким именем не отличалась от остальных ничем. Стало Сопровождение | Operations. Смысл расширен вместе с именем: было «инструмент и процесс», стало «чем держат проект: инструмент, процесс, эксплуатация». Расширение не косметическое — английское Operations при узком смысле обещало бы эксплуатацию, а внутри лежал бы линтер. Метрики, логи, инфраструктура и выкладка в эту секцию просятся и так. Заодно синхронизирован словарь трёх мест канона, которые про одну тему. Сопровождение — всё, чем держат проект; эксплуатация — его часть, работа системы на проде. ROADMAP.md, секция Сопровождение — план работ; architecture.md, раздел «Эксплуатация» — как устроено сейчас; эксплуатационный проход ревью — оптика проверки. Сливать их в одно слово было бы ошибкой: они отвечают на разные вопросы. Синхронизирован словарь, а не границы; дом — canon.md. Слово «поддержка» запрещено вовсе: в нём слышится помощь пользователю. Граница с возможностями проходит по тому, кто наблюдает: «приложение сообщает о своём состоянии» — возможность, «дежурный видит состояние на одном экране» — сопровождение. Версия канона не менялась, и это законно: ни один проект на каноне 3 не стоит, оба держат канон 2. Запись версии 3 правится как черновик, а не как история — версия отделяет одно состояние проектов от другого, а не одну редакцию текста от другой. DECISIONS тема 25 (ЧЧЧ, ШШШ, ЩЩЩ, следствия 96–97). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1728,3 +1728,56 @@ ADR, запискам разведки и сообщениям коммитов
|
||||
Из пяти языковых находок три приняты сразу, две отклонены — и обе отклонённые
|
||||
указывали на одно и то же место канона (правило 4 без оговорки). Вкусовых
|
||||
находок не было ни одной: порог держится.
|
||||
|
||||
## 25. Секция `Сопровождение` и общий словарь трёх мест (2026-08-04)
|
||||
|
||||
### Что было
|
||||
|
||||
`Разработка` — имя, которое называло слишком много: роадмап **весь** про
|
||||
разработку, и секция с таким именем не отличалась от остальных ничем. Предложено
|
||||
`Сопровождение` (англ. `Operations`).
|
||||
|
||||
### Решено
|
||||
|
||||
**ЧЧЧ. Секция называется `Сопровождение` / `Operations`, и её смысл расширен.**
|
||||
Было «инструмент и процесс», стало «чем держат проект: инструмент, процесс,
|
||||
эксплуатация». Расширение не косметическое: английское `Operations` при узком
|
||||
смысле обещало бы эксплуатацию, а внутри лежал бы линтер. Либо слово, либо
|
||||
смысл — сошлись на смысле, потому что метрики, логи, инфраструктура и выкладка
|
||||
в эту секцию просятся и так.
|
||||
|
||||
**ШШШ. Версия канона не менялась, и это законно.** Ни один проект на каноне 3 не
|
||||
стоит: healthlog и jellybit держат канон 2, повышение только предстоит. Запись
|
||||
версии 3 правится **как черновик**, а не как история: тот, кто по ней поедет,
|
||||
увидит сразу `Сопровождение`. Версия отделяет одно **состояние проектов** от
|
||||
другого, а не одну редакцию текста от другой.
|
||||
|
||||
**ЩЩЩ. Сопровождение и эксплуатация — целое и часть, и словарь у трёх мест
|
||||
общий.** Тема живёт в трёх документах, и раньше каждое место говорило своим
|
||||
словом. Теперь: сопровождение — всё, чем держат проект (инструмент, процесс,
|
||||
выкладка, метрики, логи, инфраструктура, дежурство); эксплуатация — его часть,
|
||||
работа системы на проде.
|
||||
|
||||
| Место | Уровень | Что там |
|
||||
| --- | --- | --- |
|
||||
| `ROADMAP.md`, секция `Сопровождение` | план | работы, которые собираемся делать |
|
||||
| `architecture.md`, раздел «Эксплуатация» | состояние | как устроено сейчас |
|
||||
| эксплуатационный проход ревью | оптика | «это упало через неделю на проде» |
|
||||
|
||||
**Сливать три места в одно слово было бы ошибкой**: они отвечают на разные
|
||||
вопросы — план, состояние, проверка. Синхронизирован **словарь**, а не границы;
|
||||
дом словаря — `canon.md`.
|
||||
|
||||
Слово **«поддержка» запрещено вовсе**: в нём слышится помощь пользователю, а это
|
||||
третья работа, к этим двум не относящаяся.
|
||||
|
||||
### Что из этого следует
|
||||
|
||||
96. **Граница с возможностями проходит по тому, кто наблюдает.** «Приложение
|
||||
сообщает о своём состоянии» — возможность (наблюдает пользователь сервиса);
|
||||
«дежурный видит состояние на одном экране» — сопровождение (наблюдаем мы).
|
||||
Одни и те же метрики попадают в разные секции роадмапа, и это верно.
|
||||
97. **`check --fix` чужую секцию не переименовывает — и правильно.** На
|
||||
переименовании `Разработка` → `Сопровождение` проверка назвала секцию
|
||||
роадмапа чужой и остановилась: регистр она правит сама, смысл — нет. Ровно
|
||||
то поведение, которое нужно проекту при повышении канона.
|
||||
|
||||
@@ -168,13 +168,13 @@ jellybit 43. Шаги повышения — [changelog.md](av-dev-pm/skills/can
|
||||
идёт в ближайший набор (`sprint take` без них откажет), остальное по ходу
|
||||
переоценки (PPP)
|
||||
- [ ] секции роадмапа: `порядок` → `Запланировано`, `темы` → `Направления`,
|
||||
завести `Готово` и `Разработка`; прозаические разделы healthlog («Что уже
|
||||
завести `Готово` и `Сопровождение`; прозаические разделы healthlog («Что уже
|
||||
пройдено», «Почему в таком порядке») разложить — звенья строками в
|
||||
`Готово`, обоснование очереди прозой внутри `Запланировано` (тема 19, 80).
|
||||
`check` теперь называет чужую секцию ошибкой, так что шаг обязателен
|
||||
- [ ] переформулировать цели ответом на «что приложение будет уметь»; цели не
|
||||
про приложение («Процесс и качество разработки» в jellybit) — в
|
||||
`Разработка`
|
||||
`Сопровождение`
|
||||
- [ ] `check --fix` на обоих: поднимет написание канонических секций, поставит
|
||||
отбивку после заголовков и сведёт секцию в мете файлов с заголовками.
|
||||
Секции беклога переименовать руками — имена выбирал проект (тема 20, ККК)
|
||||
|
||||
@@ -22,6 +22,29 @@
|
||||
[language.md](language.md): информационный стиль, англицизмы, жаргон. Он
|
||||
относится и к задачам, и к решениям ADR, и к запискам разведки.
|
||||
|
||||
## Сопровождение и эксплуатация — целое и часть
|
||||
|
||||
Одна тема живёт в трёх местах канона, и путать их слова нельзя.
|
||||
|
||||
**Сопровождение** — всё, чем держат проект: инструмент и сборка, процесс,
|
||||
выкладка, метрики и логи, инфраструктура, дежурство. **Эксплуатация** — его
|
||||
часть: работа системы на проде. Целое и часть, и никогда наоборот.
|
||||
|
||||
| Место | Уровень | Что там |
|
||||
| --- | --- | --- |
|
||||
| `ROADMAP.md`, секция `Сопровождение` | план | **работы**, которые собираемся делать: цели и их задачи |
|
||||
| `architecture.md`, раздел «Эксплуатация» | состояние | **как устроено сейчас**: где работает, что рядом, кто перезапускает |
|
||||
| эксплуатационный проход ревью | оптика | **чем проверяем**: «это упало через неделю на проде» |
|
||||
|
||||
Слово **«поддержка» не употребляется вовсе** — в нём слышится помощь
|
||||
пользователю, а это другая работа.
|
||||
|
||||
**Граница с возможностями проходит по тому, кто наблюдает.** «Приложение
|
||||
сообщает о своём состоянии» — возможность приложения, её место среди прочих
|
||||
целей: наблюдает пользователь сервиса. «Дежурный видит состояние на одном
|
||||
экране» — сопровождение: наблюдаем мы. Одни и те же метрики попадают в разные
|
||||
секции роадмапа, и это верно — секции отвечают на разные вопросы.
|
||||
|
||||
## Раскладка
|
||||
|
||||
```
|
||||
|
||||
@@ -34,8 +34,9 @@ upgrade` идёт по записям снизу вверх от версии п
|
||||
3. **Секции роадмапа** — четыре вместо двух и **канонические**, в отличие от
|
||||
секций беклога: `Готово` (достигнутые цели строкой с датой, без ссылки на
|
||||
файл), `Запланировано` (очередь значима), `Направления` (очереди нет),
|
||||
`Разработка` (инструмент и процесс, не возможности приложения). Английский
|
||||
вариант — `Done` | `Planned` | `Directions` | `Tooling`, один язык на весь
|
||||
`Сопровождение` (чем держат проект: инструмент, процесс, эксплуатация —
|
||||
не возможности приложения). Английский
|
||||
вариант — `Done` | `Planned` | `Directions` | `Operations`, один язык на весь
|
||||
индекс. Переименованию проектом не подлежат: у каждой свой смысл, и в первую
|
||||
пишет сам `close`; `tasks.py check` проверяет состав.
|
||||
4. **Форма заголовка записи** — по типу: задача отвечает на «что нужно сделать»
|
||||
@@ -92,7 +93,7 @@ upgrade` идёт по записям снизу вверх от версии п
|
||||
идентичности**, — и убрать остальное, иначе проект возвращает себе прежнюю
|
||||
частоту полного набора уточнением.
|
||||
7. Переименовать секции роадмапа: `порядок` → `Запланировано`, `темы` →
|
||||
`Направления`; завести `Готово` **первой** и `Разработка` последней.
|
||||
`Направления`; завести `Готово` **первой** и `Сопровождение` последней.
|
||||
Прозаические разделы вроде «Что уже пройдено», которые велись руками,
|
||||
разложить: звенья — строками в `Готово` (дата, слаг, что стало возможно),
|
||||
обоснование очереди оставить прозой в `Запланировано`. Любой `##` в индексе
|
||||
@@ -100,7 +101,7 @@ upgrade` идёт по записям снизу вверх от версии п
|
||||
8. Переформулировать цели ответом на **«что приложение будет уметь»**: не
|
||||
«Работа со слиянием», а «Исход слияния не зависит от порядка доставки».
|
||||
Свойство поведения — законная цель. Цель, которая не про приложение
|
||||
(процесс, инструмент), переезжает в `Разработка`.
|
||||
(процесс, инструмент, эксплуатация), переезжает в `Сопровождение`.
|
||||
9. `[epic]`, если он в проекте заводился: это либо цель, либо набор задач под
|
||||
общей целью. `check` назовёт его неизвестным типом.
|
||||
10. Прогнать `python3 tasks.py check --dir docs/tasks --fix`: он поднимет
|
||||
|
||||
@@ -74,7 +74,7 @@ docs/tasks/
|
||||
| `Готово` | `Done` | достигнутые цели — строкой с датой, **без ссылки на файл**: файл удалён, поведение живёт в спеках |
|
||||
| `Запланировано` | `Planned` | очередь значима и обосновывается прозой рядом |
|
||||
| `Направления` | `Directions` | очереди нет, тянутся долго |
|
||||
| `Разработка` | `Tooling` | инструмент и процесс — не возможности приложения, и потому отдельно |
|
||||
| `Сопровождение` | `Operations` | чем держат проект: инструмент, процесс, эксплуатация — не возможности приложения, и потому отдельно |
|
||||
|
||||
**Секции роадмапа канонические, секции беклога — нет**, и разница не в любви к
|
||||
единообразию. У каждой секции роадмапа свой смысл, в первую пишет сам `close`, и
|
||||
@@ -92,9 +92,11 @@ docs/tasks/
|
||||
файлов: имя секции принадлежит заголовку индекса, файл на неё только
|
||||
ссылается); отбивку он ставит везде.
|
||||
|
||||
Оговорка про `Разработка`: слово `окружение` сюда не годится — в
|
||||
Оговорка про `Сопровождение`: слово `окружение` сюда не годится — в
|
||||
`architecture.md` оно уже значит боевое окружение приложения, и одно слово в двух
|
||||
смыслах развело бы документы канона.
|
||||
смыслах развело бы документы канона. А `Разработка`, стоявшая тут раньше,
|
||||
называла слишком много: роадмап **весь** про разработку, и секция с таким именем
|
||||
не отличалась от остальных ничем.
|
||||
|
||||
**Секции «блокеры» в беклоге нет.** Блокер — это *состояние* (спринт не может
|
||||
продолжаться ни одной задачей), а не полка: он живёт ровно до ответа человека, и
|
||||
@@ -173,15 +175,28 @@ stateDiagram-v2
|
||||
только, чтобы формулировка отвечала на «что приложение делает», а не на «какую
|
||||
часть кода мы трогаем».
|
||||
|
||||
**Что целью не является — работа над инструментом и процессом.** Сборка,
|
||||
проверки, сам этот скилл: на вопрос «что приложение будет уметь» они не
|
||||
отвечают. Им
|
||||
отведена отдельная секция роадмапа, чтобы они были видны в том же экране и при
|
||||
этом не читались как возможности продукта.
|
||||
**Что целью не является — работа, которой держат проект.** Сборка, проверки,
|
||||
сам этот скилл, а также выкладка, мониторинг и дежурство: на вопрос «что
|
||||
приложение будет уметь» они не отвечают. Им отведена отдельная секция роадмапа,
|
||||
чтобы они были видны в том же экране и при этом не читались как возможности
|
||||
продукта.
|
||||
|
||||
**Граница проходит по тому, кто наблюдает, а не по теме.** «Приложение сообщает
|
||||
о своём состоянии» — возможность: наблюдает пользователь сервиса, и цели место
|
||||
среди прочих. «Дежурный видит состояние на одном экране» — сопровождение:
|
||||
наблюдаем мы. Одна и та же наблюдаемость попадает в разные секции, и это верно —
|
||||
секции отвечают на разные вопросы.
|
||||
|
||||
**Сопровождение и эксплуатация — целое и часть**, а не синонимы: сопровождение
|
||||
это всё, чем держат проект (инструмент, процесс, выкладка, метрики и логи,
|
||||
инфраструктура, дежурство), эксплуатация — работа системы на проде. Та же тема
|
||||
живёт ещё в двух местах канона — разделе «Эксплуатация» в `architecture.md` и
|
||||
эксплуатационном проходе ревью, — и словарь у всех трёх общий:
|
||||
[canon.md](../canon/references/canon.md), раздел «Сопровождение и эксплуатация».
|
||||
|
||||
Секция выбирается так: очередь значима и обоснована прозой — `Запланировано`;
|
||||
тянется долго и очереди не имеет — `Направления`; не про приложение —
|
||||
`Разработка`; в `Готово` кладёт сам `close`.
|
||||
тянется долго и очереди не имеет — `Направления`; не про приложение, а про то,
|
||||
чем его держат, — `Сопровождение`; в `Готово` кладёт сам `close`.
|
||||
|
||||
- **Список задач цели выводится, а не хранится.** В теле цели — зачем она и что
|
||||
считается её завершением; перечня задач там нет. Он был бы третьим индексом и
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
|
||||
| Файл | Что отвечает | Секции |
|
||||
| --- | --- | --- |
|
||||
| `ROADMAP.md` | что приложение уже умеет и чего ещё не умеет | канонические: `Готово`, `Запланировано`, `Направления`, `Разработка` (англ. `Done`, `Planned`, `Directions`, `Tooling`) |
|
||||
| `ROADMAP.md` | что приложение уже умеет и чего ещё не умеет | канонические: `Готово`, `Запланировано`, `Направления`, `Сопровождение` (англ. `Done`, `Planned`, `Directions`, `Operations`) |
|
||||
| `BACKLOG.md` | что **можно взять** — только задачи | секции проекта (по умолчанию Ядро/Инфра) |
|
||||
| `SPRINT.md` | какая цель и какой набор под неё | одна: «Набор» |
|
||||
| `REJECTED.md` | что ушло без реализации и почему | — |
|
||||
|
||||
@@ -13,9 +13,9 @@ av-dev, и подгоняется под него проект. Имена вн
|
||||
docs/tasks/
|
||||
items/ задачи и цели файлами, <slug>.md
|
||||
ROADMAP.md состояние проекта: что уже умеет и чего ещё не умеет.
|
||||
Секции канонические: готово | запланировано |
|
||||
направления | разработка (или done | planned |
|
||||
directions | tooling — один язык на весь индекс)
|
||||
Секции канонические: Готово | Запланировано |
|
||||
Направления | Сопровождение (или Done | Planned |
|
||||
Directions | Operations — один язык на весь индекс)
|
||||
BACKLOG.md что можно взять — только задачи, целей здесь нет
|
||||
SPRINT.md текущий спринт: цель, набор, дата, слаг
|
||||
REJECTED.md ушедшее БЕЗ реализации, с причиной и датой
|
||||
@@ -143,7 +143,7 @@ ROADMAP_SECTIONS = (
|
||||
("Готово", "Done"), # достигнутое: что приложение уже умеет
|
||||
("Запланировано", "Planned"), # очередь значима, обоснована прозой
|
||||
("Направления", "Directions"), # очереди нет, тянутся долго
|
||||
("Разработка", "Tooling"), # инструмент и процесс, не про приложение
|
||||
("Сопровождение", "Operations"), # чем держат проект, а не что умеет приложение
|
||||
)
|
||||
ACHIEVED, PLANNED = 0, 1 # индексы в ROADMAP_SECTIONS
|
||||
DEFAULT_ROADMAP_SECTIONS = ",".join(ru for ru, _ in ROADMAP_SECTIONS)
|
||||
@@ -2277,8 +2277,9 @@ def init_files(lay: Layout, sections: list[str], roadmap_sections: list[str],
|
||||
" файл удаляется, поведение живёт в спеках;\n"
|
||||
f"- **{ROADMAP_SECTIONS[PLANNED][0]}** — очередь значима и обосновывается прозой;\n"
|
||||
f"- **{ROADMAP_SECTIONS[2][0]}** — очереди нет, тянутся долго;\n"
|
||||
f"- **{ROADMAP_SECTIONS[3][0]}** — инструмент и процесс, не возможности\n"
|
||||
" приложения. Отдельно, чтобы не читаться как обещание продукта.\n\n"
|
||||
f"- **{ROADMAP_SECTIONS[3][0]}** — чем держат проект: инструмент,\n"
|
||||
" процесс, эксплуатация. Не возможности приложения, и отдельно —\n"
|
||||
" чтобы не читаться как обещание продукта.\n\n"
|
||||
"Секции **канонические** и переименованию проектом не подлежат:\n"
|
||||
"у каждой свой смысл, и в первую пишет сам `close`. Английский\n"
|
||||
f"вариант — {' | '.join(pair[1] for pair in ROADMAP_SECTIONS)},"
|
||||
|
||||
Reference in New Issue
Block a user