Инструменты пользователя

Инструменты сайта


sharixopen:knowledge:development:source_bundle_context

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
sharixopen:knowledge:development:source_bundle_context [2026/10/30 09:56] – [sharixknowledge] approved package sx_knowledge_api_opensharixopen:knowledge:development:source_bundle_context [2026/10/31 11:24] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open
Строка 5: Строка 5:
     "area": "open",     "area": "open",
     "type": "procedure",     "type": "procedure",
-    "title": "Архив исходников, Graphify и выбор контекста",+    "title": "Архив исходников ShariX Open: получение и работа с Graphify",
     "status": "review",     "status": "review",
     "schema_version": 1,     "schema_version": 1,
Строка 18: Строка 18:
         "taxonomy": {         "taxonomy": {
             "domain": "development",             "domain": "development",
-            "lifecycle": "documented",+            "lifecycle": "implemented",
             "parents": [             "parents": [
                 "ShariXKnowledgeMethodsStart"                 "ShariXKnowledgeMethodsStart"
             ],             ],
-            "terms": []+            "terms": [ 
 +                "audience_developer", 
 +                "audience_integrator", 
 +                "audience_reviewer", 
 +                "audience_ai", 
 +                "product_sharix_open", 
 +                "material_howto", 
 +                "topic_development_context", 
 +                "topic_knowledge_source_evidence", 
 +                "source_evidence" 
 +            ], 
 +            "component": "sharix-open-tz"
         },         },
         "source_evidence": [         "source_evidence": [
Строка 50: Строка 61:
             }             }
         ],         ],
-        "reviewed_on": "2026-10-30"+        "reviewed_on": "2026-10-30", 
 +        "editorial_review": { 
 +            "date": "2026-10-30", 
 +            "scope": "Уточнение пяти согласованных статей: конкретные действия, файлы и результаты; без изменения программных контрактов." 
 +        }, 
 +        "license_boundary_review": { 
 +            "date": "2026-10-31", 
 +            "scope": "shared не является лицензией; публичная документация не раскрывает реализацию закрытых модулей", 
 +            "closed_modules_license_code": "sharix-proprietary-v1" 
 +        }, 
 +        "list_format_review": { 
 +            "date": "2026-10-31", 
 +            "scope": "Перечисления полей, результатов и проверок оформлены списками; исходники, команды, таблицы, схемы и лицензионные границы сохранены." 
 +        }, 
 +        "classification": { 
 +            "schema": "sharix.knowledge.classification.v1", 
 +            "products": [ 
 +                "sharix_open" 
 +            ], 
 +            "audiences": [ 
 +                "developer", 
 +                "integrator", 
 +                "reviewer", 
 +                "ai" 
 +            ], 
 +            "material": "howto", 
 +            "topics": [ 
 +                "development/context", 
 +                "knowledge/source_evidence" 
 +            ], 
 +            "tag_terms": [ 
 +                "audience_developer", 
 +                "audience_integrator", 
 +                "audience_reviewer", 
 +                "audience_ai", 
 +                "product_sharix_open", 
 +                "material_howto", 
 +                "topic_development_context", 
 +                "topic_knowledge_source_evidence", 
 +                "source_evidence" 
 +            ], 
 +            "registry_document": "ShariXKnowledgeClassification", 
 +            "state_meaning": "lifecycle относится к описываемому коду, а status к редакции документа; implemented не означает успешный runtime тест" 
 +        }, 
 +        "classification_review": { 
 +            "date": "2026-10-31", 
 +            "source": "Содержание текущей страницы и проверенный словарь классификации", 
 +            "body_scope": "classification_and_navigation_only" 
 +        }
     },     },
-    "content_sha256": "a0c27221d406c709c7f449f9bed9f70bca53c1d176c0aa2b11b29c4c12f240b5",+    "content_sha256": "47e5fab1721cbbdcbe0ebf07f2490fd24915009811b0f11f56279ab19e88e2a1",
     "schema": 1     "schema": 1
 } }
 </sharix-knowledge-meta> </sharix-knowledge-meta>
-====== Архив исходников, Graphify и выбор контекста ======+====== Архив исходников ShariX Open: получение и работа с Graphify ======
 ~~NOCACHE~~ ~~NOCACHE~~
  
 +**Назначение:** [[sharixopen:knowledge:classification:materials#prakticheskoe_rukovodstvo|Практическое руководство]]. **Продукт:** [[sharixopen:knowledge:classification:products#sharix_open|ShariX Open]].
  
-===== Назначение и границы ===== +**Для кого:** [[sharixopen:knowledge:classification:audiences#razrabotchik|Разработчик]] · [[sharixopen:knowledge:classification:audiences#integrator|Интегратор]] · [[sharixopen:knowledge:classification:audiences#recenzent_i_prijomschik|Рецензент и приёмщик]] · [[sharixopen:knowledge:classification:audiences#nejroset|Нейросеть]].
-Публичный ''sharix-open-tz'' предоставляет контекст ShariX Open: опубликованные исходники, их структурные графы и при явном выборе снимок публичной Wiki. Это инструмент на компьютере, готовящем архив. Он не устанавливает приложение и не изменяет сервер. Для чтения и анализа ShariX Open закрытые исходники Platform и внутренняя Wiki не требуются.+
  
-Не путать этот публичный загрузчик с полным внутренним TZ: набор режимов, каталог и формат inventory могут различаться. Команды ниже относятся именно к ''ShariX_Open/sharix-open-tz''.+**Темы:** [[sharixopen:knowledge:classification:topics#isxodnyj_kontekst|Разработка → Исходный контекст]] · [[sharixopen:knowledge:classification:topics#osnovanija_svedenij|База знаний → Основания сведений]].
  
-===== Как получить пакет ===== + 
-Из корня актуального публичного TZ сначала проверить интерфейс и состав. Команды ниже не запускают Django и не меняют БД.+ 
 +Публичный репозиторий ''ShariX_Open/sharix-open-tz'' содержит загрузчик исходников ShariX Open. Он собирает ZIP для чтения кода разработчиком или нейросетью. В пакет можно включить графы связей кода и снимок публичной Wiki. 
 + 
 +**Загрузчик запускается на компьютере, где готовят архив.** Он не устанавливает ShariX Open на сервер. Команды этой страницы относятся к публичному ''sharix-open-tz''; у полного внутреннего TZ другой состав и интерфейс. 
 + 
 + 
 +===== Что относится к публичному пакету ===== 
 +Каталог config/open-repositories.tsv публичного sharix-open-tz перечисляет исходники с указанной семьёй GPL/AGPL. Он не равен списку всех модулей, которые можно установить рядом с ShariX Open. Например, закрытый sharix-service-constructor не включается в публичный архив по признаку shared. 
 + 
 +Проверять LICENSE и COMPLIANCE выбранной версии. Публичная доступность Git сама по себе не заменяет лицензию. В публичный пакет не добавляют: 
 + 
 +  * закрытые модули; 
 +  * их внутренние схемы; 
 +  * их исходные ZIP; 
 +  * производные графы закрытых модулей. 
 + 
 +Общий внутренний архив и публичный пакет имеют разные границы; внутренний пакет нельзя переименовать в публичный. 
 + 
 +Снимок Wiki должен содержать публичные описания и допустимые записи о границе закрытых модулей. Если обнаружено описание внутреннего устройства закрытого компонента, его исправляют у источника, а не размножают по архивам. Детали закрытых компонентов запрашивают у ответственных Platform и хранят в intrawiki. Перечень — [[sharixopen:knowledge:architecture:model_ownership|владение моделями]]. 
 + 
 +===== Как получить архив ===== 
 +Открыть терминал в корне актуального checkout ''sharix-open-tz''. Сначала посмотреть справку и выбранные репозитории:
 <code bash> <code bash>
 ./tools/download_sharix_sources.sh --help ./tools/download_sharix_sources.sh --help
 ./tools/download_sharix_sources.sh --list ./tools/download_sharix_sources.sh --list
 +</code>
 +''--list'' показывает состав без скачивания. Для получения исходников, графов и публичной Wiki выполнить:
 +<code bash>
 ./tools/download_sharix_sources.sh --with-knowledge --graphify-html --output-dir "$HOME/Downloads" ./tools/download_sharix_sources.sh --with-knowledge --graphify-html --output-dir "$HOME/Downloads"
 </code> </code>
-Последняя команда скачивает выбранные исходники и публичную Wiki, строит графы и сохраняет ZIP. Без ''--with-knowledge'' Wiki не включается. ''--graphify-html'' добавляет автономные HTML-представления; JSON и отчёты нужны и без HTML. ''--no-graphify'' — явный режим архива без графов; нельзя выдавать его за полный графовый анализ. Ветка выбирается каталогом или явными ''--branch''/''--branch-all''; не подставлять историческую ветку без проверки задачи.+При успешном завершении в указанном каталоге появится ''sharix-open-context-YYYYMMDD-HHMMSS.zip''. Для создания архива нужны доступ к публичным Git-репозиториям и инструменты, которые проверяет загрузчик. Актуальные требования находятся в его README и ''--help''. 
 + 
 +===== Какие параметры выбирать ===== 
 +^ Параметр ^ Результат ^ 
 +| Без дополнительных параметров | Исходники и графы; снимок Wiki не добавляется. | 
 +| ''--with-knowledge'' | Добавить снимок публичной Wiki в ''knowledge/open.zip''. | 
 +| ''--graphify-html'' | Кроме JSON и отчётов добавить HTML-представления графов для просмотра. | 
 +| ''--no-graphify'' | Явно собрать пакет без графов. Это отдельный режим, а не результат успешного графового анализа. | 
 +| ''--branch-all'' / ''--branch'' | Выбрать другую ветку для всех или отдельного репозитория. Имена и точный синтаксис — в ''--help''. | 
 + 
 +Graphify устанавливается на компьютере, создающем ZIP. Если его нет, интерактивный загрузчик предлагает установку и запрашивает согласие. Без терминала сообщает, как подготовить инструмент или явно выбрать режим без графов. Устанавливать Graphify в виртуальное окружение работающего Django и включать его Git hooks для получения этого архива не требуется. 
 + 
 +===== Что открыть внутри ZIP ===== 
 +^ Путь ^ Содержимое и назначение ^ 
 +| ''README.txt'' | Порядок чтения полученного пакета. | 
 +| ''MANIFEST.tsv'' | Репозиторий, ветка, точный commit, адрес и сведения о лицензии для каждого исходного архива. | 
 +| ''sources/'' | Отдельные ZIP репозиториев приложения. | 
 +| ''context/'' | Архив публичного TZ. Исходные ZIP не содержат историю ''.git''. | 
 +| ''knowledge/open.zip'' | Публичная Wiki, если выбран ''--with-knowledge''. | 
 +| ''graphify/GRAPHIFY_INVENTORY.json'' | Какие репозитории проанализированы, их commits, пути графов и контрольные суммы. | 
 +| ''graphify/open/assembly/graph.json'' | Общий структурный граф кода ShariX Open. | 
 +| ''graphify/open/assembly/ui_design_graph.json'' | Обнаруженные связи интерфейса и дизайна на уровне сборки. | 
 +| ''graphify/open/assembly/UI_DESIGN_REPORT.md'' | Отчёт анализа интерфейса. При выборе HTML рядом создаётся ''ui_design.html''. | 
 +| ''graphify/open/repositories/'' | Результаты анализа отдельных репозиториев. Наличие и пути файлов проверяются по inventory. | 
 + 
 +Отдельные виды графов зависят от содержимого репозитория. Например, анализ интерфейса не требует, чтобы в каждом репозитории был Python-код. Inventory показывает, что было получено или пропущено. 
 + 
 +===== Как использовать пакет для конкретной задачи ===== 
 +  - Назвать вопрос и продукт. По [[sharixopen:knowledge:development:methodology:start|индексу Wiki]] найти нужный модуль и правила его изменения. 
 +  - В ''MANIFEST.tsv'' проверить версию репозитория. В ''GRAPHIFY_INVENTORY.json'' найти соответствующий граф. 
 +  - По графу найти связанные файлы: маршрут, обработчик запроса, модель, шаблон или вызывающий модуль. 
 +  - Прочитать найденный код и относящиеся к нему проверки. Сформулировать вывод с указанием файла и commit. 
 +  - Если вопрос касается работающего сервера, отдельно выяснить его установленную версию, настройки, данные и результат нужного действия. 
 + 
 +Разные графы показывают разные связи:
  
-Graphify устанавливается отдельно на компьютере, формирующем архив. При отсутствии инструмента интерактивный загрузчик предлагает установку с согласием; без терминала выдаёт способ подготовки или явного отказа от графов. Актуальные зависимости и параметры — в README/''--help'' публичного TZ. Не устанавливать Graphify в Django venv работающего сервиса и не включать его Git hooks.+  * **Граф Wiki** — связи страниц документации. 
 +  * **Graphify** — связи элементов исходников. 
 +  * **Анализ UI** — найденные связи шаблонов, CSS, JavaScript и конфигурации.
  
-===== Что находится в архиве ===== +Стрелка на графе помогает выбрать место чтения, но не подтверждает, что этот путь выполнился на сервере или что пользователь имеет нужные права. Неразрешённая динамическая связь остаётся вопросом для проверки.
-^ Часть ^ Назначение ^ +
-| ''MANIFEST.tsv'', ''README.txt'' | Состав пакета и исходные сведения о получении. | +
-| ''sources/'' и ''context/'' | Отдельные Git ZIP опубликованных исходников и публичного TZ, без истории ''.git''. | +
-| ''knowledge/open.zip'' | Снимок публичной Wiki, если выбран ''--with-knowledge''. | +
-| ''graphify/open/'' | Графы кода, UI/дизайна/имён конфигурации, отчёты и сборочные представления. | +
-| ''GRAPHIFY_INVENTORY.json'' в разделе графов | Привязка результатов к Git SHA и контрольным суммам артефактов; точное размещение сверить по README пакета. |+
  
-Исходные архивы и анализ относятся к одному выбранному временному checkout. Сохранённый в исходниках старый граф не служит заменой новой генерации. Проверка неизменности отслеживаемых файлов защищает исходный срез от побочного изменения анализатором. При ошибке анализа загрузчик не должен молча публиковать неполный графовый пакет.+===== Когда архив или граф устарел ===== 
 +Загрузчик создаёт исходный ZIP и граф по одному выбранному временному Git checkout — одной полученной версии репозитория. При анализе проверяется, что отслеживаемые файлы не изменены инструментом. Старый сохранённый граф не подставляется вместо нового анализа; ошибка генерации не должна молча давать неполный пакет.
  
-===== Как выбирать контекст ===== +Если код изменился, для следующего анализа нужен новый пакет соответствующей версии. Переименование графа или ручная замена его хеша не обновляет содержание. Снимок Wiki также относится к моменту получения: текущая страница могла измениться позже.
-Начать с вопроса и нужного продукта. По [[sharixopen:knowledge:development:methodology:start|индексу Wiki]] найти owner и контракт, затем по inventory выбрать соответствующий репозиторий и commit. Граф помогает найти связанные маршруты, модели, шаблоны и consumers; после этого читают конкретные исходники и проверки.+
  
-Граф документов Wiki показывает связи знаний; Graphify показывает статические связи исходников; UI overlay добавляет обнаруженные связи интерфейса. Они дополняют друг друга и не доказывают успешное выполнение программы. Неразрешённая динамическая связь является вопросом для проверки. Наличие стрелки не подтверждает права, целостность БД, внешний callback или завершение пользовательского процесса.+Публичный загрузчик работает с публичным каталогом ShariX Open. Закрытый Git и внутренняя Wiki для него не требуются. В пакет не добавляются:
  
-===== Актуальность и безопасная передача ===== +  * локальные ''.env''; 
-После изменения исходной версии граф того же имени может быть устаревшим. Для нового анализа заново получить нужный срез и сверить inventory, не исправлять вручную контрольную сумму ради отметки актуальности. Снимок Wiki также имеет собственную дату и может отставать от текущей страницы.+  * рабочая БД; 
 +  * журналы; 
 +  * секреты.
  
-В пакет не добавляют локальные ''.env'', credentials, рабочую БД и журналы. Публичный каталог не обращается к закрытым продуктам; недоступный публичный источник — ошибка получения, а не приглашение передать личный токен в чат. Архив помогает анализу, но не является разрешением внедрять изменения.+Если публичный источник недоступен без авторизации, получение останавливается; личный токен в чат для исправления такой ошибки не передают.
  
 ===== Для нейросети ===== ===== Для нейросети =====
-Не читать весь пакет без разбора и не считать граф источником бизнес-истины. Обозначить выбранные версии, найти нужные контракты, проверить исходники и оставить проверяемые ссылки. Если данные не покрывают вопрос, указать конкретный пробел. Передать человеку понятный вывод и способ его применения; правила свидетельств — [[sharixopen:knowledge:development:verification|критерии приёмки]].+Выбирать нужные страницы и исходники по вопросу, а не загружать весь пакет без разбора. Указывать версии, проверять найденные по графу места в коде и отделять неизвестное от результата. Человек должен получить конкретный вывод и способ дальнейшей проверки. Основания выводов описаны в [[sharixopen:knowledge:architecture:source_of_truth|правилах работы со сведениями]], критерии проверки — в [[sharixopen:knowledge:development:verification|приёмке изменений]].
  
 ===== Проверенная исходная база: 30.10.2026 ===== ===== Проверенная исходная база: 30.10.2026 =====
sharixopen/knowledge/development/source_bundle_context.1793354206.txt.gz · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX