weaving について
Iskron グラフの保守を支援するスキルです。新しい構造を設計するのではなく、暗黙の関係やライフサイクルの欠落を診断し、修正して再確認します。
主な機能
- 01応答種別ごとに張力を分類
- 02ライフサイクルの受け渡しを接続
- 03矢印の意味を記述
- 04複数アクターの行為を分割
- 05区別後にリンクを再接続
活用シーン
- 01漏出や受け渡しの欠落を修復
- 02説明のないグラフ関係を明確化
- 03現象の分割後にリンクを更新
MCP 対応
`iskron_orient`、`iskron_arrow`、`iskron_look` などの Iskron ツールを使って操作します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ iskron-ai/ skills --skill weavingインストール後、Claude Code で/weavingを入力して読み込まれたか確認します。
詳細
イスクロンでの織り
あなたは織り手です。グラフは構造的には存在しますが、意味的には不完全です。読み、断絶を見つけ、修復します。新しい経路を作り出すのではなく、意図されていたのに結ばれていなかったつながりを見つけます。
設計は創造します。織りは完成させます。
まず、解決のジェスチャー(response_kind)に沿って振り分ける
iskron_orient(lens="tensions") は、それぞれの張力を解決のジェスチャーごとにまとめます。そのすべてがあなたの担当ではありません。
| グループ | ジェスチャー | あなたの担当? |
|---|---|---|
| weave(織る) | 構造を閉じる — leaked、relay-gap、no-actor、no-sense、given_as による orphan、到達不能な upadhi | はい — このスキルの担当(以下の操作) |
| address(応答する) | 問いに答える/問いを閉じる — 未解決のリスク、アンカーのない vimarsha、vimarsha のないバグ | いいえ → inquiry/assembly の議題(超越的な意志を担う) |
| reverify(再検証する) | モードに触れる/モードを更新する — モード間の矛盾、実際の行為に記録が追いついていない変容 | いいえ → 背景、または現場の読み手(確認する/手放す/疑問を提示する)。ノードのモードに触れ、再構成はしません。確認のための接触では、グラフに対してなのか、世界に対してなのか、どの段階かを示します |
隣接先を知る(KNOW YOUR NEIGHBOR — focus が輪郭の場合のみ) | 張力ではなく関係 — 包含のペアが外部の行為によってカバーされている | いいえ → 隣接先のスチュワードを把握します。織るものはありません |
weave グループだけを修復してください。address の問いに「答える」ために構造を作り出したり、reverify クラスのノードを再構成したりしてはいけません。受け入れられたものは修復しません。upeksha にあるリスク、欠陥、インシデント、または現状のまま受け入れられた問いは、望ましくないものとして、承知のうえで引き受けられています。それは作業として閉じられており、「さらに修復する」ことは他者の行為を取り消すことになります。規範上、その置き場所は「受け入れ済み」の表面(作成者、増加のペース、範囲)であり、ペースは assembly が読み取ります。「境界」グループはありません — これは後述する罠です。
まとまりは一つずつ修復しません。 共通の隣接先に集まる同種の行は、区別されていないひとまとまりであり、修復箇所が百個あるわけではありません。まとまりは件数ではなく、問いとして届きます。まとまりのノードに触れたら、見本をコピーして行を修復するのではなく、注釈を残してください。つまり、そのノードに対するまとまりの問いの vimarsha_of に二つ目のアンカーを付け、矢印の意味には、そこで気づいたことを書きます。原因についての問いがまだなければ、原因ノードにアンカーを付け、原因ホロンのスチュワードを宛先として問いを立ててください。規範上、張力レンズはこのようなまとまりを「ここで区別されていないものは何か?」という問いと、すぐに使える呼び出しを添えて一行で表示します。回答に現れるまでは、収束しているかどうかを自分で読み取ってください。区別のための材料は歩みを通じて蓄積され、流れは止まりません。区別そのものはアセンブリの動き(assembly)であり、それへの回答によってまとまり全体が一度に消えます。
lens="tensions" は、独自の種別レジスターによってカバレッジを判定します(検出されたものは行として、検出されなかったものは末尾に表示されます)。ノードカードは、輪郭がノードとともに送るルールに基づきます。どちらか一方が他方を包含するわけではないため、レポート上の「問題なし」はカード上でも「問題なし」を意味しません。カードの警告は、ノードの状態がその警告を正当化する限り存在します。過去に遡って確認する場合は、ノードの履歴を調べてください。has_tension は検出器の部分集合です。各回答のカバレッジは、その見出しで確認してください。focus を輪郭に設定して lens="tensions" から織ってください。focus がなければ、隣接先レンズは表示されません。細い has_tension リストを、グラフに問題がない証拠として読むことは決してしないでください。
Граница — край мира, не разрыв
Граф законно берёт вход и отдаёт выход за собственные пределы, но санкционированного края у него нет — ни группы натяжений, ни пометки: leaked/relay-gap на краю не вычитаются, а читаются долгом моделирования.
Крии края. Пометки входа и выхода у графа нет; край — деяние, у которого одна сторона в мире. На входе — осмотр, чтение контракта, впуск слова, замер, приём заказа: есть utpatti, нет ahara — деяние даёт графу данность внешнего. На выходе — приёмка, сдача, публикация, отправка, восприятие результата тем, ради кого он делался: есть ahara, нет utpatti — продукт принадлежит миру, и «результат принят» как феномен не заводится, иначе он утечёт следом. Деяние гостя может стоять на краю с обеих сторон разом. Актор крии выхода почти всегда 主 или 客. Крия с одной ahara — не недописанная, если её актор — тот, кому отдано; с одной utpatti — если её актор — тот, кто увидел. Продолжать цепь за крией выхода не нужно: подсказка «нет next» после её записи здесь не долг. Своего холона у крии нет — край ложится в холон внешней системы или человека через context её феномена.
Relay-gap, чей феномен приходит извне, гаснет крией наблюдения; leaked, чей феномен уходит из графа, — крией отдачи: подсказки линзы называют оба хода. ВХОДНЫЕ ДЕЙСТВИЯ в обзоре графа (iskron_orient без focus) — деяния, берущие или применяющие то, чего никто не производит: твой материал, каждому нужен производитель, на краю — крия наблюдения; в границе (с focus) этой секции нет — читай натяжения. И никогда не вешай attrs, чтобы заглушить натяжение, — это подавление, а не граница.
Переходы носителей — акты, не натяжения
Мерж → карта и узлы того, что несёт код, не автоматический старт практики. Обнови их по отгруженному, продвинь карту; крия anagata→vartamana — только по свидетельству: актор делает переход, выкатка ввела его в действие или наблюдён прогон на каноническом носителе (reality-audit). Одного мержа недостаточно. Свидетельства нет — оставь крию anagata, поставь на ней вимаршу исполнителю с posed_to: «Началась ли практика? Отвечено, когда назван носитель и свидетельство старта»; исполнитель неизвестен — сначала «Кто действует?» по writing.
Когда исполнение несёт код (мост, тул), мерж не свидетельствует практику. Выкат, увиденный на носителе — версия на бою, — даёт vartamana с anumita: код доступен, его действие ещё выведено. Один наблюдённый прогон (вызов, лог) даёт pratyakshita; чтение исходника прогоном не является.
Шаг вперёд по носителю рода (например, anagata→vartamana, когда практика стартует) и восхождение достоверности (kalpita→anumita→pratyakshita→pramanita) — законные ткаческие акты: совершай их по свидетельству на носителе, не потому, что граф их подразумевает; они не натяжения. Всплывают только подозрительные переходы, и только как reverify-класс — Warning на записи и самогаснущая проверка в iskron_look: воскрешение (atita→vartamana без основания), pramanita→anumita/kalpita без reverify-события, смерть-без-бытия (anagata→atita минуя vartamana; с учётом рода — у риска anagata→atita — законная реализация). Разрешай касанием модуса; никогда не реструктурируй и не читай как стоячее натяжение или счётчик.
Когда ткать (а не проектировать)
| Сигнал | Значение | Действие |
|---|---|---|
lens="tensions" показывает leaked | У феномена есть utpatti, нет ahara | → Замкнуть цикл по операции 5: предмет, уровень, охват. Сначала прочти тело: если оно называет потребителя прозой — это не ложная тревога и не отсутствие связи, а связь, записанная не туда: проведи рёбра всем названным (upadhi дёшев), прозу — в sense. Потребитель — человек или внешняя система → крия отдачи: ahara без utpatti, актор 主/客 |
lens="tensions" показывает relay-gap | У феномена есть ahara, нет utpatti | → Добавить производителя; феномен приходит извне — крия наблюдения (utpatti без ahara); её феномен — в холоне того, откуда он приходит |
ВХОДНЫЕ ДЕЙСТВИЯ в обзоре графа (orient без focus) раздуты | Крии берут или применяют то, чего никто не производит | → Дай производителя: utpatti от деяния к феномену, который они берут; приходит извне — крия наблюдения, чей utpatti он и есть |
| Стрелка без смысла | Немая связь | → Написать sense |
| Крия с двумя actor-стрелками | Скрытая двойная крия | → Расщепить |
| Феномен был один, стало два | Устаревшие стрелки | → Перецепить |
lens="trace" показывает разрыв | Жизненный цикл не связан | → Диагностика → замыкание |
| Много однородных строк сходятся на одном соседе | Масса — одно неразличённое, не сто мест починки | → Не операция: замечание вторым якорем или вопрос массы на причину («Массу не чинят поштучно» выше); различение — assembly |
Основные операции
Каноническая нить замыкания: натяжение → трасса → диагностика → замыкание → перетрассировка (петля подтверждения). Поток — sachverhalt→sachverhalt: «цикл незамкнут» порождается трассированием, потребляется замыканием; «цикл замкнут» подтверждается повторной трассой.
1. Прошивка эстафеты
ТРИГГЕР: lens="trace" показывает разрыв ЖЦ ИЛИ lens="tensions" — leaked/relay-gap
ДЕЛАЙ:
1. Найди разрыв: iskron_orient(lens="trace", focus=<феномен>) → где зазор
2. Анализ отдачи: utpatti без потребителя → кто должен подхватить?
3. Анализ приёма: ahara без производителя → откуда это берётся?
4. Связующего феномена нет → создай sachverhalt
5. Прошей: iskron_arrow(action="link") ahara/utpatti
6. Проверь: iskron_orient(lens="trace", focus=<феномен>) → цикл связан?
АНТИПАТТЕРН: глушить натяжение через attrs вместо замыкания структуры
2. Написание смысла
ТРИГГЕР: у стрелки нет sense, или sense дублирует имя цели
ДЕЛАЙ:
1. Прочитай оба конца: iskron_look на источник и цель
2. Спроси: ПОЧЕМУ эта связь существует? Что цель ДЕЛАЕТ для источника?
3. Пиши sense по типу стрелки:
- next → прашна: вопрос да/нет, на который агент отвечает из своей ситуации
✓ «Путь построен — где он может сломаться?»
✗ «Перейти к следующему шагу» (не вопрос)
- upadhi → «почему этот контекст ЗДЕСЬ»: что феномен даёт именно этой крие
✓ «при проектировании: каждый жизненный цикл должен быть замкнут»
✗ «принцип замыкания жизненного цикла» (дублирует имя феномена)
- arose_from → «что породило этот вопрос»
- ahara → «что потребляется и почему»
4. iskron_arrow(action="link") или iskron_arrow(action="update") — записать sense
СИГНАЛ плохого sense: он говорит то же, что имя целевого феномена
3. Расщепление двойной крии
ТРИГГЕР: у крии 2+ actor-стрелки, или описание подразумевает двух акторов с разными мотивациями
СИГНАЛЫ:
- Две actor-стрелки в iskron_look
- В описании «а затем другой агент/роль…»
- Паринама описывает ДВА качественных перехода
- Разные масштабы времени в одной крие
ДЕЛАЙ:
1. Определи две роли и их мотивации
2. Создай две крии, у каждой один actor
3. Свяжи через next (если последовательны) или через передачу sachverhalt (utpatti → ahara)
4. Перенеси стрелки с исходной на подходящую дочернюю
5. Исходную — удалить (различения не несла: всё ушло в дочерние) или visarjana (несла, больше не держим); ложный тезис не удаляют, а опровергают и хранят
6. Читай блок CHECKS: в ответе каждой фабрики (они самопроверяются) — обе новые крии чисты?
ОСНОВА: вызов = коммуникация, не вложение (π-исчисление, scope extrusion)
4. Перецепка после различения
ТРИГГЕР: феномен был один, теперь различён на два (или больше). Старые стрелки указывают на неразличённое целое.
ПРИМЕР: «Config» различён на «Runtime Config» + «Build Config». У крии K ahara → «Config». Какой config K потребляет?
ДЕЛАЙ:
1. Найди все стрелки на старый феномен: iskron_look
2. Для каждой: какой из различённых феноменов верен?
3. iskron_arrow(action="reconnect") — перенаправить (атомарно, никогда наполовину)
4. Старый феномен опустел от стрелок → visarjana или удаление
5. iskron_look на задетые крии — читай блок CHECKS: (reconnect — правка, нужен re-look)
5. Замыкание жизненного цикла
ТРИГГЕР: lens="trace" показывает разрыв ЖЦ у феномена
ПУТЬ: предмет → диагностика → замыкание → перетрассировка
ДЕЛАЙ:
0. НАЗОВИ предмет, уровень и границу охвата: конфигурация, версия, действующий
экземпляр — или обязанность хранения относительно сохраняемого участника.
Прочитанная опора не потреблена (upadhi, не ahara).
1. ДИАГНОСТИРУЙ природу разрыва:
a. Нет конца (leaked: utpatti есть, ahara нет) — сначала проверь, не сосед ли
вне охвата чтения тот, кто его берёт; не сосед — долг модели
b. Нет производителя (relay-gap: ahara есть, utpatti нет)
c. Неверный уровень: конец не того предмета, что порождение
d. Унаследованное замыкание: узел под contains-зонтом, чей родитель несёт
тот же предметный цикл, — цикл наследуется. Не разрыв; оставь.
2. ЗАМКНИ:
a. Нет конца — вырази действительное: потребление, прекращение актуальности
или отдачу на краю, завершающую именно названное участие. Уничтожение —
лишь один из концов (Config рождён в «Bootstrap» → снят в «Teardown» того
же уровня). Последний феномен берёт тот, кто снаружи → крия отдачи: ahara
без utpatti, актор 主/客; феномена «принято» не заводи — он утечёт следом.
Конец обязанности хранителя может сохранить и передать участника — не
утверждай его уничтожения
b. Нет порождения — производитель; приходит извне → крия наблюдения:
utpatti без ahara; её феномен — в холоне внешней системы. Деяние, не пометка
c. Конец ещё не установлен — сохрани замысел: запланированная крия (anagata,
kalpita/anumita, воля по действительному отношению — обычно chanda) и
вопрос с условием ответа; anagata+upeksha — не заглушка
d. Унаследованное замыкание (1d): не латай ребёнка по одному
3. ПЕРЕТРАССИРУЙ: iskron_orient(lens="trace", focus=<феномен>) → цикл связан?
Связанная модель — не вердикт о мире: он на своём носителе (reality-audit)
4. Всё ещё разорван → петля
ПРИНЦИП: у каждого ding названы порождение и конец на одном предметном уровне.
Leaked не глуши attrs и не удаляй участника ради счётчика; право хранить,
передать, уничтожить — от обязанности и законной политики.
Дерево решения: какая операция?
Старт: iskron_orient(realm=..., lens="tensions", focus=<контур>, verbose=true)
однородные строки сходятся на одном соседе (строка массы в ответе или видно самому)?
→ не операция: узел из массы — замечание вторым якорем vimarsha_of на него;
вопрошания на причине нет — поставь его на причину, адресат стюард холона причины;
дальше по дереву идут только строки вне массы
leaked-феномен?
→ iskron_orient(lens="trace", focus=<феномен>) # для феномена авто-вперёд
→ цикл разорван? → Операция 5 (замыкание)
→ цикл связан, но нет потребителя? → Операция 1 (прошивка эстафеты)
relay-gap?
→ iskron_orient(lens="trace", focus=<потребляющая крия>) # для крии авто-назад — trace и relay теперь одна линза
→ нет производителя → Операция 1 (добавить производителя; извне — крию наблюдения)
феномен-сирота?
→ iskron_look: принадлежит ли какой-то крие?
→ нет → прошить к релевантной крие; не держится — удалить (различения не нёс), опровергнуть и хранить (нёс ложный тезис) или отпустить (был верен, не нужен)
→ да, но стрелки без смысла → Операция 2 (написание смысла)
no-actor на крие?
→ вимарша стюарду холона по writing, «Кто действует?»; до ответа actor не ставь
→ ответ назвал одну роль → iskron_arrow(action="link") actor со смыслом
→ ответ назвал две роли → Операция 3 (расщепление)
структурных натяжений нет, но граф ощущается неполным?
→ Читай крии руками: iskron_look на ключевые
→ стрелки без смысла? → Операция 2
→ два актора? → Операция 3
→ феномены, которые различались? → Операция 4
Входы ткачества
Фаза 2 проектирования — по design, «Фаза 2: прямое ткачество». Прочие входы:
- Трассирование: trace показал разрыв → Операция 1 или 5
- Натяжение: структурная проблема → дерево решения выше
- Впуск шабды: внешний вход обнажил различение → Операция 4
- Доводка: накопленные вимарши требуют структурного ответа → любая операция
- Событие работы (мерж, выкат, решение, закрытие дела): граф догоняет сделанное тремя частями, каждая названа, хотя бы «ноль, потому что…». Легло — новые переходы, феномены, рёбра. Сдвинулось — модусы по свидетельству, закрытые вопросы. Отпущено — тела переписаны под нынешнее без старого текста, вытесненное отпущено или ушло в прошлое, устаревшие стрелки сняты (Операция 4). Граф догоняет тем же ходом, что событие, — в графе, не строкой в деле.
Ритм
- Сторож блуждания — по entry («Экономия — на выдаче»); чтение узлов, которые правишь, им не считается
- Пере-ориентируйся каждые 5–10 узлов
- После правки (reconnect/update): iskron_look на задетый узел — непройденные проверки рендерятся в CHECKS:. После создания CHECKS приходят в ответе самой фабрики.
- Вплетя в существующий узел, перечитай его тело, не только CHECKS: верно ли ещё то, что оно говорит об описываемом? Ни один детектор этого не покрывает: реестр ловит рвущуюся структуру, а ложная проза не рвёт ничего (описание непусто, узел свежетронут, стрелки целы, модусы верны). Тяжелее всего на узлах-контрактах — протокол, маршрут, формат кадра или адреса существуют, чтобы никто не ходил к источнику, и устаревшее там обманывает с авторитетом.
- После работы с циклом: iskron_orient(lens="trace", focus=…) — подтверди связность
- Прежде чем назвать ткачество законченным: чего ещё это коснулось? Волну ведёт integrity; один узел починен, пока соседи описывают старую форму, — полдела.
- Порядок батча: феномены → крии → стрелки