resolve: постановку текстом взяли полноправным входом
Задачу часто нужно решить прямо по описанию в разговоре, без файла в каталоге — так её берёт и opsx:propose. Скилл вход текстом объявлял, но прорабатывала его одна разведка: у решения и обслуживания шаг «прочитать задачу» читал разделы записи, шаг закрытия закрывал запись, признак обслуживания опирался на объявленный автором тип, а критерии приходили «от проекта». Форм постановки теперь две, и они равноправны. Отпадают ровно те шаги, у которых пропал предмет: ready гонять нечего, закрывать нечего. Ни один шаг с предметом не выпал — гейт, ревью, синк, чекпоинт и коммит идут как обычно, а сценарий, метку и глубину форма не выбирает. Взамен пропавшего — названное вслух первой репликой: как понята постановка, каким типом её считаешь и где проводишь границу. Человек, написавший текст, сидит в этом же разговоре и поправляет одной фразой; названный после работы тип не признак, а объяснение готового диффа. По сценариям: решение добирает недостающие критерии приёмки на чекпоинте и считает их данными только после ответа; обслуживание объявляет их отсутствие строкой (чекпоинта у него нет) и само называет границы, которых текст не дал; разведка увязана с общим правилом, а её шаг закрытия отпал с оговоркой про единственный след — записанный ответ. Записи в каталог скилл по-прежнему не заводит: ни перед работой, ни задним числом ради закрытия. Похожую строку беклога не разыскивает. Перечень осей пополнен формой постановки: по ней ветвятся готовность, источник типа и наличие закрытия.
This commit is contained in:
@@ -49,6 +49,24 @@
|
||||
либо отправил бы в полный цикл ради пустого change, либо принял бы как
|
||||
исключение, а исключения не исполняются.
|
||||
|
||||
### Постановка текстом — тип называешь ты, и называешь вслух
|
||||
|
||||
Первый признак приходит от автора записи; **текст типа не несёт** (SKILL.md,
|
||||
«Постановка текстом»). Оба признака тогда твои, и связка выродилась бы в одно
|
||||
суждение — то самое, ради разведения которого она и заведена.
|
||||
|
||||
Разведённость здесь восстанавливается местом, а не вторым автором: **тип и
|
||||
предмет работы называются до начала работы, первой репликой** — «иду
|
||||
обслуживанием: считаю это `chore`, потому что …; спека не меняется, потому что
|
||||
…». Человек, написавший текст, читает это раньше первой правки и поправляет
|
||||
одной фразой. Названный **после** работы тип не признак, а объяснение уже
|
||||
сделанного: к этому моменту у тебя есть готовый дифф, и он всегда подтверждает
|
||||
тот тип, под который писался.
|
||||
|
||||
Не назвал — признака нет вовсе, и сценарий выбрал сам себя. Это ровно тот
|
||||
случай, где «самый частый способ соврать этим сценарием» (раздел «Тонкости»)
|
||||
ничего не стоит: автора, чей тип можно было бы опровергнуть, здесь нет.
|
||||
|
||||
## Дельта нашлась по ходу — стоп, и у него свой порядок
|
||||
|
||||
Признак тот же, что на шаге 7 сценария решения: **меняется ли то, что записано в
|
||||
@@ -96,7 +114,11 @@
|
||||
**процессом своего типа**: сценарием решения, следующим прогоном. Формат записи
|
||||
правит `av-dev:task-track`, а не ты: у нового типа своя схема разделов, и
|
||||
готовность её проверит `ready` — той же машиной, что и на входе. Прогон
|
||||
обслуживания на этом кончается, исход — «меняется спека»;
|
||||
обслуживания на этом кончается, исход — «меняется спека».
|
||||
**Постановка пришла текстом — переформулировать нечего:** человек либо
|
||||
запускает следующий прогон тем же текстом, и он пойдёт решением, либо заводит
|
||||
запись через `av-dev:task-track`, если работа должна пережить разговор. Выбор
|
||||
между этими двумя — его, не твой: заводить запись сам этот скилл не вправе;
|
||||
- **прекратить работу** — человек не готов расширять задачу сейчас. Исход тот
|
||||
же, запись остаётся как была, вопрос записывается там, где проект держит
|
||||
вопросы.
|
||||
@@ -214,10 +236,19 @@ ADR: список источников канон закрыл двумя — а
|
||||
(конфиг и его образцы, версия зависимости, команда сборки, файл CI), и
|
||||
**«Критерии приёмки»** — с оракулами.
|
||||
|
||||
**Постановка пришла текстом — этих двух разделов нет, и оба нужны тебе тем же
|
||||
составом.** Границы назови сам и покажи в первой реплике, вместе с типом:
|
||||
обслуживание чаще прочих сценариев расползается, а границы у него лежат не в
|
||||
коде, и невидимая граница расползание не удержит. Критериев приёмки в тексте
|
||||
может не быть вовсе — тогда скажи строкой, что их нет и приёмка идёт по докладу.
|
||||
Сочинить их себе здесь нельзя даже так, как это делает решение: чекпоинта, на
|
||||
котором человек их утвердит, у обслуживания нет.
|
||||
|
||||
Здесь же обе проверки признака: тип предлагает, отсутствие дельт подтверждает
|
||||
(раздел «Признак — связка»). И здесь же — проверка на незнакомое: если форма
|
||||
правки не известна до начала, а нащупывается по ходу, объявляй исход **нужна
|
||||
разведка** и не начинай.
|
||||
(раздел «Признак — связка»); постановка текстом типа не объявляла — тогда
|
||||
называешь его ты, и вслух (раздел «Постановка текстом»). И здесь же — проверка
|
||||
на незнакомое: если форма правки не известна до начала, а нащупывается по ходу,
|
||||
объявляй исход **нужна разведка** и не начинай.
|
||||
|
||||
**Проверка на «заодно».** Обслуживание любит склеиваться в пачку — обновить
|
||||
зависимости, переписать сборку и убрать мёртвый код одной задачей. Не мерджится
|
||||
@@ -376,6 +407,9 @@ Change ты не передаёшь — его нет.
|
||||
`закрыта задача <slug>`. Каталога задач в проекте нет — ничего не выдумывай:
|
||||
скажи, что учёт остаётся за владельцем, и назови исход.
|
||||
|
||||
**Постановка пришла текстом — шага нет вовсе**: записи не было, закрывать нечего,
|
||||
след работы — коммит шага 6. Заводить запись задним числом ради закрытия нельзя.
|
||||
|
||||
## Границы: чего обслуживание не делает
|
||||
|
||||
- **Не меняет поведения.** Обнаружилось, что меняет, — стоп с исходом «меняется
|
||||
@@ -401,6 +435,8 @@ Change ты не передаёшь — его нет.
|
||||
Общее ядро доклада — в SKILL.md; сверх него сценарий обязан назвать:
|
||||
|
||||
- **что подтвердило признак** — тип записи и то, что дельта-спек не нашлось;
|
||||
постановка пришла текстом — **тип назвал ты**, и это говорится прямо, вместе с
|
||||
границами, которые ты объявил себе сам;
|
||||
дельта нашлась — **какой тип предложен, с причиной, и что человек выбрал**:
|
||||
переформулировать или прекратить;
|
||||
- **что стало иначе для разработчика** — одной фразой, адресуясь ему, а не
|
||||
|
||||
Reference in New Issue
Block a user