Как это устроено
Триады R/W/A
У каждого инструмента одна роль. R — чтение: ничего не меняет, повторять безопасно. W — запись одного узла по адресу: предсказуемо и без каскадов. A — действие: меняет сразу несколько мест, работает полиморфно или управляет живым процессом, например отладчиком.
Правила
- R — Read. Идемпотентное чтение. Анализ, сколь угодно сложный — граф вызовов, проверка запроса, ревью прав, — тоже R, если ничего не меняет. Клиенты могут одобрять такие вызовы без вопросов: инструмент помечен как «только чтение».
- W — Write. Одна мутация одного узла: создать, изменить, удалить то, что названо в адресе. Без анализа и каскадов. Перед записью — снапшот (Снапшоты).
- A — Action. Действие, которое трогает много мест или разные виды объектов: переименование метода с обновлением вызовов, заимствование объекта в расширение, права сразу в N ролях, откат к снапшоту, шаг отладчика.
- Тип цели — в адресе или в глаголе. У инструментов нет параметра вида «kind»: что создаётся, видно из адреса (
…Attribute.ИНН) или из названия операции (create_method,add_hook).
Триады по доменам
| Домен | R | W | A |
|---|---|---|---|
| Проекты | project_read, test_read |
project_write |
project_action |
| Метаданные | metadata_read, metadata_graph |
metadata_write |
metadata_action |
| Код | code_read, code_graph |
code_write |
code_action |
| Формы | form_read |
form_write |
— |
| Макеты | spreadsheet_read |
spreadsheet_write |
— |
| Отчёты СКД | dcs_read, composition_settings_read |
dcs_write, composition_settings_write |
— |
| Запросы | query_read, runtime_read |
— | — |
| Права | rights_read |
rights_write |
rights_action |
| Отладка | debug_read |
debug_write |
debug_action |
| Снапшоты | snapshot_read |
snapshot_write |
snapshot_action |
| Сквозные | search, validate, platform_docs |
— | — |
Как выбрать инструмент
- Нужно узнать — берите R своего домена. Не знаете, где искать, —
search. - Нужно поменять одно место — W: адрес и
definitionс новыми свойствами. Контракт — грань#helpу парного R. - Изменение расходится по конфигурации — A: переименование с вызовами —
code_action rename_method, права сразу во многих ролях —rights_action, откат —snapshot_action. - Перед удалением или сужением типа — R-анализ: кто использует объект (
metadata_graph), кто вызывает метод (code_graph).
Роль и лицензия
Роль не определяет доступ. Без ключа работают четыре инструмента чтения — project_read, metadata_read, code_read, search. Остальные, включая другие R, — по подписке или во время бесплатного доступа (Лицензия и бесплатный доступ).
Нашли ошибку — предложите правку.обновлено 30.09.2026