Содержание

Как поддерживать классификацию и рубрикатор

Навигация: База знаний → Рубрикатор → Поддержка классификации.

Назначение: Практическое руководство. Продукт: ShariX Open.

Для кого: Администратор · Разработчик · Рецензент и приёмщик · Нейросеть.

Темы: База знаний → Навигация · Разработка → Методы.

Эта инструкция описывает порядок сопровождения структуры базы знаний, согласованный 31.10.2026. При создании или существенном изменении статьи обновляются её текст, классификация и навигационные связи. Одной видимой подписи или ссылки недостаточно: те же признаки должны присутствовать в метаданных, которые читает Wiki API и из которых строится граф.

Что хранится и где

Одна статья остаётся в одном постоянном месте. Если она подходит нескольким аудиториям и темам, ей назначаются несколько признаков; создавать копии текста в каждом разделе не нужно. По умолчанию достаточно одного основного родителя. Дополнительного родителя следует вводить только при действительном включении в другой раздел и с проверкой отсутствия циклов.

Как выбрать признаки статьи

  1. Проверить место публикации. Публичная Wiki описывает ShariX Open, разрешённые общие контракты и границы закрытых модулей. Внутренние подробности Platform и закрытых компонентов остаются в intrawiki. Shared означает совместное использование, а не открытую лицензию. Метки продукта и аудитории не заменяют ACL и не выдают доступ.
  2. Выбрать продукт и применимость. Для материалов ShariX Open использовать sharix_open; shared добавлять, когда описываемый компонент или общий контракт действительно используется несколькими продуктами. Не добавлять shared автоматически ко всем страницам.
  3. Указать аудиторию. Выбирать тех, кому статья помогает выполнить определённую работу: developer, integrator, operator, administrator, reviewer, support, service_owner, designer, ai. Не перечислять все аудитории ради охвата. Метка ai уместна, когда статья задаёт контекст или требования к результату автоматизированной работы.
  4. Выбрать назначение material. Например, architecture — устройство и границы; contract — условия операций; policy — правила; development_method — подход к разработке; howto — порядок действий; checklist — критерии проверки; scenario — процесс с участниками и ожиданиями; index — указатель. Поясняющий замысел отмечать concept и явно отделять от реализованного поведения.
  5. Выбрать предметные темы. Брать существующий путь из указателя тем, например orders/lifecycle или handlers/blockly. Можно назначить несколько точных тем. Не подменять предметную тему названием аудитории или продукта.
  6. Указать domain, component и native type. Domain задаёт крупную предметную область, component — затронутый компонент; type должен соответствовать допустимому типу Wiki API. Эти поля дополняют классификацию, а не заменяют её.

Текущие допустимые native type: policy, architecture, decision, contract, component, procedure, requirement, verification, reference. Например, процедура с material=howto имеет type=procedure; описание критериев — type=verification; раздел со ссылками — type=reference и material=index. Не нужно придумывать type=tutorial: если это учебное объяснение или упражнение, место материала — Moodle; Wiki содержит применение и разработку продукта.

Как различать состояние текста и состояние реализации

Надпись reference · unspecified возникала, когда крупная область и состояние оставались общими значениями по умолчанию. Исправление состоит в содержательном выборе признаков. Reference остаётся нормальным типом настоящего указателя или справки; not_applicable не является синонимом «не проверено».

Как добавить или изменить метку

  1. Открыть нужный указатель и проверить существующие названия и определения. Близкую по смыслу метку переиспользовать; не заводить developer и programmers для одного и того же понятия.
  2. Для действительно новой категории выбрать короткий устойчивый код и русское понятное название. В графе используются идентификаторы из строчных латинских букв, цифр, подчёркивания и дефиса: первый символ — буква, общая длина от 2 до 64 символов. Строки вроде «API capability» и «BPMN» вместо кодов не подходят.
  3. Соблюдать семейства кодов: audience_developer, product_sharix_open, material_contract, topic_orders_lifecycle. Обычные предметные понятия, например order, ticket, blockly, могут иметь собственные коды без этих префиксов.
  4. Определить новый код в extensions.glossary подходящего указателя и дать понятное объяснение в его тексте. Тема orders/lifecycle хранится в classification.topics как путь, а соответствующая метка графа — topic_orders_lifecycle. Сам путь со слешем не следует записывать вместо кода термина.
  5. Добавить код в taxonomy.terms статьи и синхронно в classification.tag_terms; products, audiences, material и topics должны соответствовать тем же признакам. Registry_document указывает на id рубрикатора своей области.
  6. Добавить статью в подходящие пункты текстовых указателей. Изменение аудитории или темы требует обновить не только её заголовочный блок, но и обратную навигацию в указателях.
  7. При переименовании смысла сначала найти все назначения и ссылки. Нельзя удалить определение старой метки, оставив статьи со старым кодом. Разделение или объединение понятий выполнять осмысленно, сохраняя понятный маршрут к материалам.

У вложенной темы есть два представления: машинный путь и вложенные заголовки указателя. Путь сам по себе не создаёт ребро между двумя узлами-терминами. Существующий граф связывает документ с определённой меткой; вложенная предметная структура раскрывается в указателе. Не объявлять автоматическую онтологию реализованной только потому, что в имени темы появился слеш.

Как выбрать связи документов

Для каждой связи проверить существование целевого id и доступность в области публикации. Публичный материал не должен раскрывать внутренние ссылки и закрытые сведения ради полноты графа. Обычная Wiki-ссылка полезна читателю, но не заменяет типизированную связь.

Порядок обновления и приёмка

  1. Получить актуальный документ через getDocument, список через listDocuments и граф через knowledgeGraph. Проверить id, page, текущий хеш, родителей и действующие определения меток. Старый локальный экспорт не считать подтверждением текущего состояния.
  2. При содержательной правке свериться с источниками сведений и актуальным кодом. Отдельно указать вывод по исходникам и результат проверки работающей установки; не выдавать одно за другое.
  3. Сохранить постоянные id и page. Исправление неверного старого parent-id выполнять по установленному соответствию действующему документу, не придумывая новый раздел с тем же заголовком.
  4. Подготовить согласованный пакет: статья, необходимые определения и изменённые указатели. Для обновления использовать текущий base_sha256; проверить точный состав и выполнить previewPackage. Конфликт или блокирующую ошибку устранить до publishPackage.
  5. Соблюдать текущие лимиты: до 100 документов в стандартном пакете, manifest.json до 256 KiB и встроенные metadata каждой страницы до 16 KiB. Сохранять доказательства источников, не дублируя один объёмный набор в нескольких полях.
  6. После публикации повторно получить страницы через getDocument и сопоставить итоговые SHA-256. При неопределённом результате записи сначала перечитать страницы; повторный publish без сверки недопустим.
  7. Получить свежий knowledgeGraph: родитель существует, есть contains, цепочка до корня не зациклена; назначения дают uses_term, определения — defines_term; точные отношения указывают на ожидаемые документы. У отредактированных страниц нет необъяснённых reference/unspecified.
  8. Открыть опубликованные страницы и указатели. Проверить списки, видимый блок классификации, ссылки в обе стороны и переходы к конкретным подразделам. Эта Wiki транслитерирует русские заголовки: «Требования» имеет адрес #trebovanija. Фрагмент брать из фактического HTML id, а не вычислять русскими подчёркиваниями.
  9. Сохранить состав публикации, квитанции, результаты GET/графа и остаток очереди в рабочем журнале. Уведомления выполнять по действующему поручению владельца; они не заменяют проверку публикации.

В текущем viewer есть фильтры domain и lifecycle, но нет отдельных выпадающих полей продукта и аудитории. Для этих измерений использовать указатели и API-классификацию. Для общих терминов включить режим «Все документы» и отношение «Использует термин». Если выбрано более 160 узлов, сузить область; отсутствие большой картинки не означает отсутствия связей в данных.

Требования к работе нейросети

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