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

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


sharixopen:knowledge:domain:documents

Различия

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

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

sharixopen:knowledge:domain:documents [2026/10/17 20:49] – [sharixknowledge] approved package sx_knowledge_api_opensharixopen:knowledge:domain:documents [2026/10/31 16:25] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open
Строка 4: Строка 4:
     "page": "sharixopen:knowledge:domain:documents",     "page": "sharixopen:knowledge:domain:documents",
     "area": "open",     "area": "open",
-    "type": "reference",+    "type": "contract",
     "title": "Логические документы, проверка и переиспользование",     "title": "Логические документы, проверка и переиспользование",
     "status": "review",     "status": "review",
Строка 12: Строка 12:
             "ShariXKnowledgeOpenKnowledgeDomainStart",             "ShariXKnowledgeOpenKnowledgeDomainStart",
             "ShariXKnowledgeOpenKnowledgeDomainStrequest",             "ShariXKnowledgeOpenKnowledgeDomainStrequest",
-            "ShariXKnowledgeOpenKnowledgeDomainRequirements"+            "ShariXKnowledgeOpenKnowledgeDomainRequirements", 
 +            "ShariXKnowledgeOpenKnowledgeArchitectureModelownership", 
 +            "ShariXKnowledgeClassification"
         ]         ]
     },     },
     "extensions": {     "extensions": {
         "taxonomy": {         "taxonomy": {
-            "domain": "reference", +            "domain": "documents", 
-            "lifecycle": "unspecified",+            "lifecycle": "implemented", 
 +            "component": "dbsynce documents, documents_core, tickets",
             "parents": [             "parents": [
                 "ShariXKnowledgeOpenKnowledgeDomainStart"                 "ShariXKnowledgeOpenKnowledgeDomainStart"
             ],             ],
-            "terms": []+            "terms": [ 
 +                "audience_developer", 
 +                "audience_integrator", 
 +                "audience_administrator", 
 +                "audience_support", 
 +                "audience_reviewer", 
 +                "audience_ai", 
 +                "product_sharix_open", 
 +                "product_shared", 
 +                "material_contract", 
 +                "topic_documents_lifecycle", 
 +                "topic_security_object_access", 
 +                "topic_security_requirements" 
 +            ]
         },         },
-        "glossary": []+        "glossary": [], 
 +        "classification": { 
 +            "schema": "sharix.knowledge.classification.v1", 
 +            "products": [ 
 +                "sharix_open", 
 +                "shared" 
 +            ], 
 +            "audiences": [ 
 +                "developer", 
 +                "integrator", 
 +                "administrator", 
 +                "support", 
 +                "reviewer", 
 +                "ai" 
 +            ], 
 +            "material": "contract", 
 +            "topics": [ 
 +                "documents/lifecycle", 
 +                "security/object_access", 
 +                "security/requirements" 
 +            ], 
 +            "tag_terms": [ 
 +                "audience_developer", 
 +                "audience_integrator", 
 +                "audience_administrator", 
 +                "audience_support", 
 +                "audience_reviewer", 
 +                "audience_ai", 
 +                "product_sharix_open", 
 +                "product_shared", 
 +                "material_contract", 
 +                "topic_documents_lifecycle", 
 +                "topic_security_object_access", 
 +                "topic_security_requirements" 
 +            ], 
 +            "registry_document": "ShariXKnowledgeClassification", 
 +            "state_meaning": "implemented — проверены исходники, не runtime; not_applicable — концепция/нормативный контракт без утверждения готовой функции; review — редакционный статус" 
 +        }, 
 +        "source_evidence": [ 
 +            { 
 +                "repository": "sharix-open-backend", 
 +                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", 
 +                "path": "models/documents.py", 
 +                "sha256": "3a6f0ac50a211beede66f46e07302d16e2e02f99e117fab5bfbe738731c0c3cf" 
 +            }, 
 +            { 
 +                "repository": "sharix-open-backend", 
 +                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", 
 +                "path": "lib/document_drafts.py", 
 +                "sha256": "383b117f01fdd9d16de3ceb9afb1ccf0bf3104c4966b23e987b8a90e9a46f071" 
 +            }, 
 +            { 
 +                "repository": "sharix-open-backend", 
 +                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", 
 +                "path": "lib/document_verification.py", 
 +                "sha256": "1692ec40fb8503368a38e154dc4c53644c25a825efc91a87b34bde8065b387bb" 
 +            }, 
 +            { 
 +                "repository": "sharix-open-backend", 
 +                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", 
 +                "path": "lib/documents_core.py", 
 +                "sha256": "a006973508b0b8032d8f3460cda9a462abcfe05c8f5b4b99fa93c3dcd94d1e0b" 
 +            }, 
 +            { 
 +                "repository": "sharix-open-backend", 
 +                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", 
 +                "path": "lib/requirement_checks.py", 
 +                "sha256": "5a73a6e71307e734f0c0e480fd14a825a7a22242811e2523b7f25157224cf34c" 
 +            }, 
 +            { 
 +                "repository": "sharix-open-backend", 
 +                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b", 
 +                "path": "lib/document_file_access.py", 
 +                "sha256": "1a064832e72737c07a3cbcc0a4bb96c0d4ef5f46678031b759d57f2044c5844f" 
 +            } 
 +        ], 
 +        "editorial_review": { 
 +            "date": "2026-10-31", 
 +            "scope": "Конкретные объекты/действия/границы и списки по owning code; концепции отделены от существующих операций", 
 +            "runtime_checked": false, 
 +            "source_files_verified": 6 
 +        }
     },     },
-    "content_sha256": "dd11bfcadb4f1312a9fb0a5a547e031eec780cc7b50bdec5c21e6698f0ce7867",+    "content_sha256": "21f4e401f16b220e70ba26740db2fee7cf3bf82c6b81a5dcb573007d491294de",
     "schema": 1     "schema": 1
 } }
Строка 33: Строка 130:
 ~~NOCACHE~~ ~~NOCACHE~~
  
-**Тип:** contract · **Статус:** сведения требуют сверки с действующей установкой; архитектурные правила сформулированы как целевой контракт.+**Назначение:** [[sharixopen:knowledge:classification:materials|Контракт]]. **Продукт:** [[sharixopen:knowledge:classification:products|ShariX Open]] · [[sharixopen:knowledge:classification:products|Общий компонент]]. 
 + 
 +**Для кого:** [[sharixopen:knowledge:classification:audiences|Разработчик]] · [[sharixopen:knowledge:classification:audiences|Интегратор]] · [[sharixopen:knowledge:classification:audiences|Администратор]] · [[sharixopen:knowledge:classification:audiences|Поддержка]] · [[sharixopen:knowledge:classification:audiences|Рецензент и приёмщик]] · [[sharixopen:knowledge:classification:audiences|Нейросеть]]. 
 + 
 +**Темы:** [[sharixopen:knowledge:classification:topics|Документы → Жизненный цикл]] · [[sharixopen:knowledge:classification:topics|Доступ → Объектные права]] · [[sharixopen:knowledge:classification:topics|Доступ → Требования]]. 
 + 
 + 
 + 
 +===== Что является документом ShariX Open ===== 
 +  * **Documents** — логическая запись документа в предметной области: тип, владелец/контекст, данные текущего draft и его revision. 
 +  * **DocumentFile** — изменяемые файлы draft; они не заменяют историю проверки. 
 +  * **DocumentTypeDefinition** — schema структурированных полей, file policy, identity fields и verification policy типа. 
 +  * **DocumentVersion** — проверенная редакция: draft_revision, structured data, expiry, identity fingerprint, уровень/источник/автор проверки и Ticket. 
 +  * **DocumentVersionFile** — снимок файла проверенной версии, включая исходный public ID, имя, размер и SHA-256. 
 + 
 +Файл, логический документ, проверенная версия и заявка ST_REQUEST — четыре разных объекта. Их наличие не следует обозначать одной отметкой «документ готов». 
 + 
 +===== Изменение draft ===== 
 +  - Provisioning создаёт либо переиспользует draft в области target/user/type; тип документа сам не даёт доступ к произвольной записи другого пользователя. 
 +  - replace_document_draft меняет только mutable файлы/данные и проверяет file policy. 
 +  - Изменения данных, файлов и определённых полей сдвигают draft_revision. 
 +  - Старая verified version остаётся в истории; её актуальность относительно нового draft оценивается отдельно. 
 + 
 +Создание draft не подтверждает достоверность сведений. Нельзя переписывать историческую версию ради исправления текущего файла. 
 + 
 +===== Проверка конкретной редакции ===== 
 +Каноническая ''create_verified_document_version'' под блокировкой сверяет: 
 + 
 +  * ожидаемую draft_revision с текущей; 
 +  * контракт ''document-verification-v1'', public ID документа и revision в verification Ticket; 
 +  * идентичность документа по настроенным identity fields; 
 +  * данные и файлы именно проверяемой версии. 
 + 
 +Если draft изменился после запроса, нужна новая заявка проверки. Если после реальной проверки изменились identity fields, требуется новая логическая Documents запись. Успех создаёт новую Version/VersionFile и обновляет current_verified_version; обычные save/delete проверенной истории запрещены моделью. 
 + 
 +===== Как evidence подходит требованию ===== 
 +Чистый ''dbsynce.lib.documents_core'' проверяет schema, identity, expiry, наличие содержимого и минимальный уровень проверки. Он не импортирует ORM, не ходит в сеть и не выдаёт права. 
 + 
 +  * Совместимое актуальное evidence может удовлетворить требование. 
 +  * При существующем содержимом со слабой/отсутствующей/stale проверкой результат — ''needs_verification'', а не требование заново загрузить всё. 
 +  * Несовместимость, expiry, conflict и отсутствие содержимого — отдельные исходы. 
 +  * Ранжирование не должно предпочитать хост только по его имени; источник и применимость учитываются через контракт evidence. 
 + 
 +===== Область, переиспользование и доступ ===== 
 +  * Признак is_global не равен разрешению передавать все файлы любому сервису. 
 +  * Межхостовое reuse требует отдельного действующего согласия и сохранения provenance. 
 +  * Обычная оценка requirements использует локально материализованные данные, а не синхронный сетевой запрос. 
 +  * Object-level доступ к логическому документу/версии проверяется отдельно: владелец, администратор либо допустимый Ticket/resource/provider context по canonical policy. 
 +  * Знание URL или public ID файла не является основанием доступа. 
 + 
 +Shared semantics могут использоваться другими продуктами, включая Platform; владение их закрытыми моделями и внутренние операции описываются отдельно ответственными этого продукта. Изменения shared передаются им для проверки и принятия. 
 + 
 +===== Диагностика ===== 
 +Сопоставьте document public ID, owner/context, draft_revision, current_verified_version, verification Ticket, schema/identity и expire_date. Затем проверьте evidence state и отдельно file ACL. Не заменяйте отказ доступа повторной загрузкой, а stale verification — редактированием исторической Version.
  
-**Раздел:** [[sharixopen:knowledge:domain:start|Доменная модель заказов и исполнения]]+Связанные страницы: [[sharixopen:knowledge:domain:requirements|requirements/effective access]], [[sharixopen:knowledge:domain:st_request|ST_REQUEST]] и [[sharixopen:knowledge:architecture:model_ownership|владение моделями]].
  
-===== Модель ===== +===== Проверенные источники ===== 
-Documents — логический типизированный объект; DocumentVersion хранит версии, файлы и проверочное свидетельство. Определение типа задаёт схему, обязательные поля и правила идентификации. +Проверено по Git-исходникам 31.10.2026. Состояние исходников отделено от состояния конкретной установки; команды ниже при редакционной проверке не выполнялись, бизнес-данные и значения секретов не читались.
-===== Черновик и проверка ===== +
-Создание документа ещё не подтверждает его достоверность. Проверка проходит через ''ST_REQUEST'', сохраняет актуальный запрос, результат и provenance. Подтверждённую версию не редактируют; для новой редакции необходим новый цикл. +
-===== Локальное и общее ===== +
-Не всякий документ синхронизируется. Для глобального документа используется явный признак области; другой сервис получает только разрешённый результат проверки и контекст, требуемый для решения. +
-===== Защита ===== +
-Факт совпадения полей, видимость файла и согласие на cross-host reuse проверяются независимо. Сервис не должен автоматически копировать все вложения из другого контекста.+
  
-===== Связанные понятия ===== +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/models/documents.py|sharix-open-backend / models/documents.py]]. 
-  * [[sharixopen:knowledge:domain:st_request|ST_REQUEST: запросы документов и проверок]] +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/document_drafts.py|sharix-open-backend / lib/document_drafts.py]]. 
-  * [[sharixopen:knowledge:domain:requirements|Требования, проверки и effective access]]+  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/document_verification.py|sharix-open-backend / lib/document_verification.py]]. 
 +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/documents_core.py|sharix-open-backend / lib/documents_core.py]]. 
 +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/requirement_checks.py|sharix-open-backend / lib/requirement_checks.py]]. 
 +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/document_file_access.py|sharix-open-backend / lib/document_file_access.py]].
  
 ~~SHARIX_KNOWLEDGE_RELATED~~ ~~SHARIX_KNOWLEDGE_RELATED~~
  
sharixopen/knowledge/domain/documents.txt · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX