Technology

Проверяемая архитектура переносимого цифрового состояния

Recoverable связывает два представления состояния с данными ревизии, проверяет каждый требуемый компонент и только затем принимает решение о восстановлении.

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

01

Object model

Три роли образуют проверяемое состояние одной ревизии

В этой модели FP — fixed representation (фиксированное представление), ED — editable state (редактируемое состояние), а R — revision data (данные ревизии). Для ревизии i обозначения FPᵢ и EDᵢ описывают два компонента, а Rᵢ логически связывает их как один согласованный набор.

Descriptors/hashes Hfpᵢ и Hedᵢ позволяют сверить содержимое FPᵢ и EDᵢ с ожидаемыми описаниями. Их наличие не означает, что Hfpᵢ и Hedᵢ обязаны быть физически вложены в Rᵢ: формат может разместить данные иначе, сохранив проверяемую связь.

FPᵢФиксированное представлениеHfpᵢ
EDᵢРедактируемое состояниеHedᵢ
Rᵢ связывает оба компонента
RᵢЛогическая связь одной ревизииHfpᵢ + Hedᵢ

Что доказывает схема: Rᵢ связывает описания FPᵢ и EDᵢ как компоненты одной ревизии. Чего она не доказывает: что эти данные физически вложены друг в друга или обязаны храниться рядом.

02

Integrity model

Локальная целостность и согласованность отвечают на разные вопросы

Сначала Recoverable отдельно проверяет требуемые компоненты: соответствует ли FPᵢ descriptor/hash Hfpᵢ и соответствует ли EDᵢ descriptor/hash Hedᵢ. Положительный локальный результат подтверждает целостность конкретного компонента, но ещё не подтверждает, что пара принадлежит одной ревизии.

После локальных проверок revision check сопоставляет компоненты с Rᵢ. Только сочетание локальной целостности и согласованной связи может открыть путь восстановления.

FPᵢ / HfpᵢЛокальная проверка пройденаverified
EDᵢ / HedᵢЛокальная проверка пройденаverified
Revision checkRᵢ связывает именно эту паруconsistency gate

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

03

Revision consistency

Два целых компонента могут образовать смешанную ревизию

FP18 и ED17 могут независимо пройти локальную проверку: содержимое каждого соответствует собственному descriptor/hash. Но их номера и проверяемые связи относятся к разным ревизиям, поэтому вместе они не образуют согласованный набор.

Совместная упаковка, имя файла или порядок компонентов не заменяют revision consistency. При обнаружении mixed revision восстановление ED блокируется.

FP18Локальная целостность: passrevision 18
ED17Локальная целостность: passrevision 17
Mixed revisionRestore blockedнесогласованный набор

Что доказывает схема: локально целые FP18 и ED17 не проходят совместную проверку. Чего она не доказывает: что один из компонентов обязательно повреждён или что FP нельзя безопасно просмотреть.

04

Restore decision

Наличие ED не равно разрешению на восстановление

ED может присутствовать в переносимом объекте, но передача этого состояния приложению начинается только после verification gate. При положительном результате adapter при необходимости преобразует уже проверенное ED в форму, понятную прикладной среде.

При отрицательном результате restore path для ED закрывается. Это не означает автоматическое уничтожение объекта: в предусмотренном формате FP может оставаться доступным для просмотра или другой безопасной операции.

Portable objectFP + ED + revision datacandidate set
Verification gateIntegrity + revision consistencydecision point
Если обе проверки пройдены ↓
Restore allowedПроверенное ED передаётся adapter / приложениюpositive path
Если хотя бы одна проверка не пройдена ↓
Restore blockedED не передаётся приложениюnegative path

Что доказывает схема: restore — отдельное решение после проверки. Чего она не доказывает: что отказ восстановления ED делает недоступным любое использование FP.

05

Revision lifecycle

Редактирование создаёт новый полный набор

После успешной проверки EDᵢ может быть восстановлено и передано приложению. Результат редактирования не подменяет один компонент внутри старой ревизии: формируется ревизия i+1 со своими FP, ED, descriptors/hashes и revision data.

Так сохраняется различие между неизменным согласованным набором ревизии i и новым согласованным набором ревизии i+1.

Ревизия iFPᵢ + EDᵢ + Rᵢcomplete set
Verify + restoreEDᵢ разрешено для приложенияallowed path
ИзменениеПриложение редактирует состояниеrevision change
Ревизия i+1FPᵢ₊₁ + EDᵢ₊₁ + Rᵢ₊₁new complete set

Что доказывает схема: изменение выпускает новый согласованный набор ревизии i+1. Чего она не доказывает: что допустимо заменить только ED внутри уже выпущенной ревизии i.

06

Optional correspondence

Карта соответствия дополняет модель, но не определяет её

Некоторые форматы могут хранить опциональную карту между элементами фиксированного представления и объектами редактируемой структуры. Она помогает прикладным сценариям связывать область результата, слой, параметрический элемент или другой объект с соответствующей частью ED.

Correspondence map не обязательна для каждого Recoverable object, не заменяет integrity/revision checks и не обещает универсальное восстановление в любом приложении. Если карта присутствует, формат должен явно определить её идентификаторы, ревизию и назначение.

FPᵢ elementsЭлементы фиксированного результатаrepresentation IDs
Optional correspondenceЯвная карта для ревизии iformat-defined
EDᵢ structureОбъекты редактируемого состоянияapplication IDs

Что доказывает схема: конкретный формат может явно связать элементы FPᵢ и EDᵢ. Чего она не доказывает: что такая карта обязательна, выполняет проверки целостности или сама восстанавливает состояние приложения.

07

Production pipeline · EOC v0.27.0

Объект проходит единый серверный контур до итогового решения

POST /v1/integration/ingest создаёт job и ревизию объекта, упаковывает EOC, выполняет strict verify, определяет формат, применяет policy, формирует evidence, сохраняет артефакты и записывает события. Результат выражается машинным решением ALLOW / REJECT / QUARANTINE. Gateway обращается к внутреннему /api/integration/ingest только после проверки credential и scope.

В проверенной non-production конфигурации EOC service 0.27.0 метаданные и события сохраняются в PostgreSQL, а артефакты проходят через S3-совместимый storage adapter. Для S3-клиента подтверждены запись, чтение, удаление, SHA-256 integrity, idempotency, безопасные ключи и изоляция tenant/project. Компенсация откатывает частично записанные данные при ошибке операции. Production rollout этого storage-контура требует отдельной runtime-проверки.

01Ingestjob · object · revision
02Verify + policystrict · format · rules
03Evidence + storagedescriptors · ledger
04DecisionALLOW · REJECT · QUARANTINE

Проверено в release-smoke: решение ALLOW, политика ACCEPTED, 15 сохранённых артефактов, 9 событий ingest и 3 события reverify. Это контрольный сценарий релиза, а не статистика всех production-операций.

Разделение ролей в модели Recoverable
ОбъектПроверкаРезультат
FPᵢ и HfpᵢЛокальная целостность фиксированного представленияFPᵢ соответствует своему descriptor/hash
EDᵢ и HedᵢЛокальная целостность редактируемого состоянияEDᵢ соответствует своему descriptor/hash
FPᵢ + EDᵢ + RᵢСогласованность компонентов одной ревизииRestore allowed либо Restore blocked