Feedback — опыт сессии, записанный там, где по нему можно действовать
Агент весь день проходит сквозь собственные инструменты: скиллы, которые подошли или увели не туда, описание тула, обещавшее то, чего поверхность не делает, правило, которое было верным и всё равно пропустило случай. Ничто из этого не достигает того, кто эти инструменты держит, — сессия кончается и уносит всё с собой.
Единица — случай, не мнение. «Скилл запутанный» — не повод действовать. «Правило говорит X, я сделал Y, и ничто меня не отклонило» — повод. Фидбэк пригоден тем же, чем пригоден контрпример: случилось конкретное, и оно воспроизводимо настолько, что с ним можно спорить.
Когда срабатывает
Сам, на нетривиальном опыте — не жди, пока попросят. Нетривиально значит: одно из этого действительно случилось с тобой:
- правило существует, ты его читал, и случай всё равно ускользнул;
- описание обещало поведение, которого у поверхности нет, — ты узнал это попыткой хода;
- починка сработала, и ты не можешь сказать, что она достала причину;
- у шага не было собственного знака, и ничто не сказало бы, что он пропущен;
- ты потянулся за инструментом, и он вернул пустоту там, где вещь существовала под другим именем.
И пользователь зовёт его напрямую —
, своими словами. Предложи это, когда он говорит об инструментах что-то, что стоит сохранить и чему больше некуда лечь. Жалоба человека — уже случай; твоя работа — форма, проверка и размещение, никогда не суд о том, считается ли она.
Что его не запускает: сработавшее как задокументировано; трудность, которая была твоей, а не инструмента; предпочтение. Поле, полное «мне бы хотелось», — поле, которого никто не читает.
Об инструменте или о своём предмете — различи прежде всего. Фидбэк — только об инструменте: скилл, тул, поверхность, поставка. Признак: починить случай может тот, кто держит инструмент, а не ты в своём проекте. Наблюдение о работе своего проекта — его решениях, коде, людях — фидбэком не бывает: оно ложится в граф проекта по writing, как любое знание о предмете.
Прежде чем писать: которую редакцию ты держишь
Скилл не несёт на себе метки своей версии, а установленная копия может отставать от сопровождаемой на несколько выпусков; протухший текст читается так же авторитетно, как текущий, и его дефекты предстают дефектами метода. Сверку редакции установленной поставки несёт iskronify — прогони её прежде, чем докладывать инструкцию скилла неверной, и назови версию поставки первой строкой случая. Избегать надо не заявки «этот скилл неверен» — а заявки «этот скилл неверен» из уст того, кто не проверил, который скилл у него.
Прежде чем писать: не сказано ли это уже
Граф работы долгоживущий и общий для всех делателей контура, поэтому первый ход — не запись, а взгляд. Второй узел, говорящий то, что один уже говорит, раскалывает ответ — и игнорируют именно второй.
Сначала выбери
граф назначения — по разделу «Клади туда, где держат инструмент» ниже: граф работы, если в нём есть контур инструмента, иначе
. И поиск, и запись идут в нём.
iskron_semantic_search(realm=<граф назначения>, q=<случай одной фразой>)
—
одно понятие на запрос, естественной фразой. Мешок терминов — мешок направлений: вся строка становится одним вектором, и центроид между несколькими смыслами не лежит рядом ни с чем. Два понятия — два запроса, никогда не один длиннее. Лексический
здесь неверный инструмент: его токены матчатся по И и без стемминга, так что многословный запрос возвращает пустоту ровно тогда, когда тебе есть что сказать.
На попадании — допиши новизну в стоящий узел, не открывай второй. Скажи, что ново: ещё один контур, где воспроизвелось, механизм, которого первый рассказ не называл, случай, сужающий или расширяющий. Второе свидетельство стоит больше первого — оно превращает случайность одной сессии в паттерн; записанное дубликатом, оно не стоит ничего.
Почти-попадание — не промах. Узел, покрывающий тот же дефект с другого угла, — попадание. Новый узел открывай только тогда, когда твоё сделало бы существующий узлом о двух вещах.
Форма
Сначала жанр — он решает, как случай будет прочитан:
| Что несёшь | Жанр |
|---|
| Правило существует, и случай ускользнул | |
| Описание или обоснование само неверно | |
| Наблюдение, которое стоит нести, без заявки о дефекте | |
| Настоящий вопрос о том, как должно быть | |
Затем тело, на языке графа, в этом порядке:
- Случай. Где и что на самом деле произошло — конкретно настолько, чтобы с этим можно было спорить (когда и кем — не в теле, ниже).
- Правило, которое должно было поймать, — процитированное дословно, если оно есть. Это несущая часть и самая пропускаемая. «Правила нет» и «правило верно, но его всё равно проскочили» зовут противоположные починки, и различает их только цитата. Случай, подтверждающий правило в четвёртый раз, всё равно стоит записи: он говорит, что проблема не в правиле.
- Где промах на самом деле — что часто не там, где показалось сначала.
- Механизм. Почему это случается, а не что случилось. Шаг без собственного подтверждения пропускается по построению, не по невнимательности; починка, снявшая симптом, учит сама себя. Назови форму — и случай перестанет быть одним инцидентом.
- Что бы это закрыло — критерий, не решение. Чинить будешь не ты.
Кто и откуда — контур, харнес, дата — идёт в
записи и остаётся в истории узла;
— только короткий адрес спрашивающего, не проза. Случай, чьё происхождение не проследить, не воспроизвести.
Пиши модус честно. — для того, что видел происходящим;
— для выведенного из чтения кода или прозы. Разница — то, что говорит держателю: воспроизводить это или спорить с этим.
Клади туда, где держат инструмент — адресно
Куда — решает, есть ли в графе твоей работы контур инструмента со стюардом:
- Есть (ты работаешь в графе, где эту поставку и её поверхность разрабатывают) — случай кладётся туда, к тому, кто держит: скилл — в контуре своей поставки, тул — в контуре своей поверхности, дисциплина канала — в своей под-границе. Отдельный граф, где нет ни контура, ни стюарда, тут не адрес: там случай никто из способных починить не увидит.
- Нет (ты работаешь в графе своего проекта, а поставку держат другие) — случай о самой поставке, её скиллах, мосте или тулах кладётся в граф : он открыт всем, и его читают те, кто поставку держит. Ни в граф своего проекта, ни на «ближайшую границу» в нём такой случай не клади — стюарда поставки там нет.
Эту работу делают два ребра, и отвечают они на разные вопросы:
- Якорь ( → узел инструмента или его контур) решает, где случай находят. Ориентирующийся на этом контуре собирает всё заякоренное под ним; случай, не заякоренный нигде, находим лишь тем, кто читает весь граф. Есть узел самого скилла или тула — якорь на него, не на контур: фокус на контуре и так собирает вопрошания своего охвата.
- Адрес ( → роль) решает, в чью очередь он входит. Сентинел делает прогулку от якоря к стюарду контура за тебя; несколько кандидатов — отказ с перечислением, выбери по нему. Случай о методе вообще, не об одной поставке, адресуется роли владельца продукта.
Одно не заменяет другого: адресованный, но не заякоренный — никогда не всплывает там, где предмет пересматривают; заякоренный, но не адресованный — его никто не держит.
Прочти контур прежде, чем класть. iskron_orient(realm=<граф назначения>, focus=<контур инструмента>)
показывает узлы и роли, существующие
сегодня; узел скилла или тула ищи
iskron_search(realm=<граф назначения>, q=<имя скилла или тула>)
. В графе, где поставку разрабатывают, а контура для инструмента нет — якорь на ближайшую границу, в которой он применяется, и это верно, а не лениво. Якорь на узле, которого нет, хуже отсутствия якоря.
Ты должен случаю рассказ, не починку. Напиши так, чтобы читатель, которого там не было, мог воспроизвести и решить. В сессии, где по нему действуют, тебя не будет. Случай входит в очередь роли —
iskron_orient(focus=<роль>)
на входе и по поводу; разговор о починке, если он нужен, — словом в деле на узле инструмента (
iskron_case(action="talk", about=<предмет>)
), кадр приходит адресату и участникам дела. Не припиской в тело случая: тело переписывается под нынешнее знание, а не растёт перепиской.