# Node полезен сам по себе. Граф превращает работу в систему.

Kavor не требует отказываться от любимого coding agent, прятать терминал или превращать каждое решение в очередной
чат. Он размещает участников, инструменты и контекст на одном Canvas, чтобы было видно, кто работает, с чем и в каких
границах.

Каждый полноценный элемент этого Canvas — **Node**. CodingAgent — это Node. Specification — тоже. Sticky Note,
Terminal, File и Trigger находятся в том же пространстве, потому что каждый из них может участвовать в работе и
отвечает за свою часть процесса.

Node уже полезен сам по себе. Когда вы создаёте **Connection**, эта польза становится явной возможностью. Когда
несколько Connections образуют граф, контекст, выполнение, память и совместная работа перестают быть разбросаны по
изолированным окнам и сессиям.

Модель выглядит так:

**Node → Connection → граф → решение человека**

Эта последовательность показывает, как работа приобретает структуру. Connections — не сохранённые стрелки и не
автоматизация, запускающая следующий блок. Это видимые отношения между Nodes.

![CodingAgents, Specification, Sticky Note, Terminal, File и Trigger, соединённые на Canvas в Kavor](https://media.agentkavor.com/editorial/nodes-and-connections/graph.b499a1b842e8.jpg)

*Canvas может объединить долговечный замысел, общую память, выполнение, файлы и запланированную причину действия,
не скрывая участников и их Connections.*

## Что на самом деле меняет Connection

Connection отвечает на практический вопрос: **что эти два Nodes могут делать вместе?**

В зависимости от пары CodingAgent может работать со Specification, писать в Sticky Note, управлять Terminal,
считать File явной частью области работы или общаться с другим CodingAgent. Connection также может передать Terminal
канонический путь к File или разбудить в заданное время CodingAgent с активной сессией.

Одновременно Connection задаёт границу:

- Nodes, расположенные рядом на Canvas, не получают доступ друг к другу;
- упоминание Node в сообщении не даёт дополнительных возможностей;
- поддерживаются не все сочетания Nodes;
- Guardrail может ограничить возможность, которую предоставляет Connection;
- граф делает контекст доступным, но не одобряет действия автоматически.

Результат менее похож на магию, зато полезнее: структуру можно проверить до, во время и после работы.

## Шесть Nodes

### CodingAgent: ваш любимый harness как участник графа

CodingAgent — это привычный вам нативный provider, работающий в собственном терминальном интерфейсе. Kavor не
заменяет Claude Code, Codex или Google Antigravity универсальным чатом, а сохраняет опыт каждого harness и размещает
его на Canvas.

У каждого CodingAgent может быть ясная роль. Если harness поддерживает соответствующие возможности, он сохраняет
нативные настройки provider, модели и уровня effort. Можно выделить Spec Writer, сосредоточенного на вопросах и
решениях, Builder для реализации и Reviewer, который проверяет и оспаривает результат.

Соединённые CodingAgents могут обмениваться асинхронными сообщениями. Эти разговоры остаются видны в панели Messages,
и при необходимости вы можете вмешаться. Connections со Specifications, Files, Sticky Notes и Terminals показывают,
какие именно ресурсы участвуют в работе.

Это тот же harness, но теперь его контекст и возможности видны.

### Specification: замысел, который переживает сессию

Specification хранит решения, область работы, ограничения и критерии приёмки в долговечном Markdown. Она может
описывать основу архитектуры, интеграцию, модель предметной области, функцию, модуль или ограниченную программу
исправлений.

Specification можно написать вручную или совместно с CodingAgent. Для сложных тем стоит использовать лучшее
доступное рассуждение ещё до реализации. Глубокое обдумывание на этом этапе обычно обходится дешевле, чем устранение
неоднозначностей позже.

У Specifications есть lifecycle. **Draft** предназначен для исследования и принятия решений. **Ready** означает,
что контракт можно реализовывать. **In progress**, **Blocked** и **Done** делают состояние работы видимым. **Done**
имеет смысл только тогда, когда критерии приёмки действительно выполнены.

Одна Specification, соединённая с agents разных ролей, может направлять автора, исполнителя и проверяющего, не
полагаясь на память единственного разговора.

### Sticky Note: общая рабочая память

Sticky Note — это стикер на Canvas. В нём можно записывать вопросы, гипотезы, временные решения, наблюдения и следующие
шаги, как в любой быстрой заметке.

Connection с CodingAgent добавляет второго автора. Agent может вести заметку вместе с вами: собирать открытые
решения во время подготовки Specification, отмечать то, что требует вашего внимания при реализации, или отвечать на
вопрос «что уже сделано, что происходит сейчас и что будет дальше?», не пряча это состояние в истории чата.

Sticky Notes хорошо подходят для неформальной и видимой рабочей памяти. Когда решение становится долговечным
контрактом для реализации и будущей поддержки, его следует перенести в Specification, а не навсегда оставлять в
заметке.

### Terminal: выполнение, которое остаётся видимым

Terminal сохраняет shell в том же визуальном Workspace. Можно переключаться между terminals, следить за логом,
выполнять проверки или оставаться подключённым к удалённой машине, не теряя окружающий Canvas.

Когда подключён CodingAgent, вы можете работать в одном Terminal. Agent может просматривать output, выполнять
разрешённые команды, отслеживать связанный запуск и помогать с диагностикой. Ввод человека всегда имеет приоритет,
а Guardrail может сделать Connection доступной только для чтения.

Files и Specifications также могут передавать свои пути в Terminal через переменные окружения. Trigger способен
доставить запланированную команду прямо в активную сессию shell.

Terminal не прячет выполнение за непрозрачной автоматизацией. Процесс, команда и результат остаются видимыми.

### File: файл как участник Canvas

File — это файл. Ценность состоит в том, что его канонический источник становится видимым и явным в графе.

Connection с CodingAgent позволяет точно обозначить файл, который нужно прочитать, проверить или изменить. На Canvas
можно также держать перед глазами текст, изображение или PDF, пока вы организуете остальную работу.

Connection с Terminal позволяет открыть абсолютный путь File через переменную окружения. Так script, SQL-файл,
конфигурацию или другой материал можно наглядно использовать как вход команды, не копируя пути между окнами.

File не превращается в одноразовое attachment. Он остаётся настоящим источником в filesystem.

### Trigger: видимая причина активности

Trigger планирует действие во времени. Он может доставить команду в Terminal, подобно cron операционной системы,
или отправить ясный prompt в CodingAgent с активной сессией.

Особенно полезен Trigger, когда его цель уже соединена с другими Nodes. Он может разбудить agent, который должен
проверить File, выполнить проверки в Terminal, написать отчёт в Sticky Note и запросить независимую проверку у
другого CodingAgent.

Так время в календаре может запустить небольшую автономную или полуавтономную систему. Trigger начинает активность,
а граф предоставляет контекст, инструменты, память и совместную работу.

Trigger не решает сам, что стоит делать, не расширяет разрешения, не запускает оставленную вами выключенной сессию и
имеет только одну прямую цель: CodingAgent или Terminal.

## Когда Nodes образуют граф

Ценность Canvas проявляется, когда у каждого Node есть своя ответственность, а Connections выражают реальную
потребность. Эту последовательность показывают три графа.

### От замысла к проверке

**Specification → Builder → Reviewer → решение человека**

Specification хранит контракт. Builder реализует его. Reviewer сопоставляет результат с критериями приёмки. Sticky
Note сохраняет наблюдения и рабочие решения, а Terminal предоставляет доказательства — например тесты и проверки.

Connections не выполняют эту последовательность автоматически. Они делают нужных участников и возможности
достижимыми в одном графе.

### Плановое обслуживание

**Trigger → Maintainer**

Maintainer соединён с File, содержащим входные данные, с Terminal для проверок, со Sticky Note для отчёта и с
Reviewer для независимой оценки.

Trigger доставляет prompt в заданное время, если Kavor работает, а сессия цели активна. CodingAgent действует с тем
же контекстом и в тех же границах, которые у него уже были. Вернувшись в Workspace, вы можете проверить результаты,
сообщения и доказательства.

### Контролируемая операционная команда

**Trigger → Terminal**

File с SQL или script передаёт свой путь в Terminal через переменную окружения. Trigger доставляет запланированную
команду в активную сессию. CodingAgent, соединённый с Terminal, может помочь проанализировать результат, пока процесс
остаётся видимым для вас.

Этот граф автоматизирует причину и выполнение, но не делает вид, что система сама понимает, что считать успехом.

## Начинайте с работы, а не с количества Nodes

Большой Canvas не обязательно лучше. Начните с минимальной структуры, которая делает результат проверяемым:

1. определите, что должно произойти;
2. добавьте Specification, если решения, область или критерии должны сохраниться;
3. выберите CodingAgent и задайте ему ясную роль;
4. подключите File, когда нужно явно обозначить конкретную область работы;
5. подключите Terminal, когда задаче требуется выполнение или доказательства;
6. используйте Sticky Note, когда человеку и agent нужна общая рабочая память;
7. добавьте другой CodingAgent, когда независимая проверка или параллельная работа действительно улучшит результат;
8. добавьте Trigger, когда время является оправданной причиной активности.

Цель не в том, чтобы заполнить Canvas. Нужно построить систему, достаточно небольшую для понимания и достаточно
полную, чтобы сохранить замысел, выполнение, доказательства и решение.

## Что дальше

- Посмотрите [матрицу поддерживаемых Connections](./connections.md), чтобы точно узнать возможности каждой пары.
- [Замкните первый цикл](./first-loop.md) со Specification, двумя CodingAgents и Sticky Note.
- Узнайте, [как выбирать CodingAgents и роли](./agents-and-roles.md), чтобы разделить формулирование, реализацию,
  проверку и выпуск.
- Вернитесь к странице [Что такое Kavor?](./what-is-kavor.md), чтобы ещё раз посмотреть на полную модель продукта.
