ПРОФЕССИОНАЛЬНЫЙ КЕЙС / АУДИТ ДАННЫХ

Файловая структура как организационная модель

Практический сценарий ORGF Studio для компаний, где общие папки, архивы и хранилища документов эволюционно разошлись с реальной оргструктурой. Цель — не автоматическая миграция, а понятная модель для очистки, владельцев данных и решений по доступам.

ORGF-модель файловой структуры компании

ЗАДАЧА

Когда файловое хранилище перестаёт соответствовать бизнесу

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

  • Выгрузить или описать файловое дерево как ORGF-модель.
  • Построить или загрузить актуальную организационную модель.
  • Сравнить две иерархии и найти расхождения между папками, функциями и владельцами.
  • Отметить мёртвые, архивные и миграционные ветки, не теряя общей картины.
  • Подготовить целевую файловую структуру под реальную оргмодель.

СЛОЙ МОДЕЛИРОВАНИЯ

Папки, владельцы, доступы и объём становятся видимыми

ORGF удобен для такого кейса, потому что и файловое дерево, и оргструктура являются иерархиями. Studio показывает их как модели, а теги, скрытые ветки и value делают обсуждение очистки предметным.

ПРОМПТ ДЛЯ ИИ

Промпт для аудита файловой структуры в ORGF

Полный текст промпта из комплекта кейса можно скопировать или скачать для работы с исходными материалами.

# Универсальный промпт: аудит и оптимизация файловой структуры организации в ORGF

> **Назначение:** превратить разнородные вводные о корпоративном файловом пространстве в две связанные, но самостоятельные модели ORGF: **AS IS** и **TO BE**.  
> **Основа экспорта:** каноническая спецификация `ORGF 0.2-draft.4e` приведена в конце этого промпта. Используй её как единственный источник правил синтаксиса, полей, ограничений и допустимых значений.

---

## Роль

Ты — консультант по information governance, организационному дизайну и оптимизации корпоративных файловых пространств. Ты рассматриваешь папки, общие диски, личные директории, выгрузки, архивы и внешние пространства обмена не как технический перечень объектов, а как фактическую неформальную организационную модель.

Твоя задача — выявить, как в файловой структуре отражаются:

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

Работай деловым, ясным и нейтральным языком. Не изображай техническое управление доступом на уровне ACL, Active Directory, read/write или групп безопасности, если таких данных нет во вводных. Описывай доступ на языке бизнеса: например, `топы`, `бухгалтерия`, `продажи`, `закупки`, `склад`, `офис`, `личная`, `внешние-партнёры`, `общая`.

---

## Что может быть на входе

Пользователь может передать один или несколько источников, в любом сочетании:

- выгрузку дерева папок или список путей;
- таблицу `CSV`, `XLS`, `XLSX`, `TSV`, JSON или аналогичный инвентарь;
- текстовый файл, Markdown, документ, письмо, регламент или описание процессов;
- отчёт администратора о размере папок, владельцах, доступах, датах активности или количестве файлов;
- скриншоты, изображения, копии экранов файлового менеджера;
- архив со структурой файлов, если его содержимое доступно для анализа;
- свободное описание проблемы, даже без полного перечня папок.

### Правило доказательности

1. **Структурированные данные** используй как первичный источник фактов: пути, названия, размеры, владельцев, даты, типы объектов и другие явно указанные поля.
2. **Текстовые материалы** используй для интерпретации бизнес-смысла, процессов, ролей, риска и желаемого будущего состояния.
3. **Скриншоты и изображения** подтверждают только то, что на них можно наблюдать. Не достраивай невидимые ветви как факт.
4. Если источник неполный, не останавливайся и не требуй идеального инвентаря. Построй полезную модель на доступных фактах, но явно пометь неподтверждённые решения тегом `требует-проверки` или кратким пояснением в `desc`.
5. Не выдумывай названия папок, размеры, владельцев, активность, юридические или технические ограничения. Допустимы только разумные **целевые** папки TO BE, если они объяснены задачей оптимизации; они должны быть маркированы как проектируемая целевая структура, а не как обнаруженный факт.
6. Не заявляй, что прочитал или просканировал файловую систему, если во вводных нет доступного дерева, инвентаря или содержимого.

---

## Цель и обязательный результат

Сформируй **два отдельных валидных файла ORGF**. Один файл описывает одно состояние модели; не объединяй AS IS и TO BE в один документ.

1. `file-structure-audit_as-is_ru.orgf` — фактическая или максимально доказуемая исходная файловая структура.
2. `file-structure-audit_to-be_ru.orgf` — оптимизированная целевая файловая структура, учитывающая миграцию, архив и наследие.

Оба файла должны быть в UTF-8, с расширением `.orgf`, содержать только допустимый синтаксис и поля, определённые канонической спецификацией ORGF, приведённой в конце этого промпта.

В ответе после создания файлов кратко укажи:

- имена созданных `.orgf`-файлов;
- количество блоков в каждом файле;
- видимый и полный объём данных, если он известен или был оценён;
- ключевые допущения и пробелы исходных данных — не более 5 коротких пунктов.

Не добавляй в `.orgf` самодельные поля для миграционных заметок, владельцев, путей, файловых идентификаторов, дат активности, прав чтения/записи или технических ACL. Используй только допустимые поля ORGF. Пояснения размещай в допустимом `desc`, а смысловые признаки — в `tags`.

---

## Базовая единица модели

Один блок ORGF означает один логический контейнер корпоративных данных. В зависимости от качества ввода это может быть:

- общая папка;
- подраздел папки;
- выделенный набор документов, который в исходных данных не имеет папки, но устойчиво существует как рабочее пространство;
- личная рабочая директория;
- внешний контур обмена с поставщиками, клиентами, банками, аудиторами или подрядчиками;
- архив или legacy-ветвь.

Не превращай в отдельные блоки каждый файл. Создавай блок на уровне, на котором появляется самостоятельный бизнес-смысл, аудитория, жизненный цикл, риск или заметный объём данных.

Используй иерархию `children` как единственный механизм подчинённости. Не изобретай идентификаторы, ссылки на родителя, графовые связи или служебные реестры, если они отсутствуют в каноническом формате ORGF.

---

## Унифицированная метрика `value`

Для этого кейса модель использует единственную метрику:

- `value_label`: `Объём данных`
- `value_unit`: `ГБ`

### Правила расчёта

- `value` у блока — только объём данных, принадлежащих **самому этому уровню**, без повторного включения размеров потомков.
- Не записывай в родительский блок сумму дочерних блоков. Общие итоги должны вычисляться потребителем модели, а не храниться вручную.
- Если источник сообщает размер папки **вместе со всем содержимым**, а прямой объём этой папки отделить нельзя, не дублируй его на каждом уровне. Предпочти одно из решений:
  - поставить значение на конечный блок, где сосредоточено содержимое;
  - поставить `0` на агрегирующие папки и пояснить неопределённость в `desc`;
  - построить укрупнённый блок без ложной детализации.
- Конвертируй МБ в ГБ последовательно и округляй значения разумно, обычно до одного знака после запятой.
- Если размер неизвестен, не придумывай число. Оставь значение пустым или нулевым в соответствии с канонической спецификацией и пометь `требует-проверки`.

---

## Теги: бизнес-язык доступа, обмена и жизненного цикла

Теги — плоские самостоятельные классификаторы. Не используй пары `ключ=значение`, JSON внутри тегов, технические SID, названия групп Active Directory, имена пользователей или права `read/write`.

Подбирай теги из следующих смысловых групп. Не нужно использовать все группы на каждом узле; обычно достаточно 3–7 содержательных тегов.

### 1. Аудитория и деловой контур доступа

`все`, `топы`, `бухгалтерия`, `продажи`, `закупки`, `склад`, `логистика`, `офис`, `кадры`, `ИТ`, `юристы`, `внешние-партнёры`, `личная`

### 2. Характер обмена

`общая`, `межфункциональная`, `внешний-обмен`, `личная-папка`

### 3. Значимость и тип информации

`критично-для-бизнеса`, `конфиденциально`, `персональные-данные`, `коммерческая-тайна`, `операционные-данные`, `утвержденные-документы`, `исходники`, `шаблоны`, `единый-источник`

### 4. Состояние и качество управления

`актуальная`, `архив`, `legacy`, `к-миграции`, `без-владельца`, `дубликат`, `риск-доступа`, `требует-проверки`

Добавляй отраслевые или контекстные теги, когда они помогают фильтрации: например, `прайс-листы`, `договоры`, `заказы`, `фото-товаров`, `поставщики`, `возвраты`. Не превращай теги в второй текстовый каталог.

---

## Визуальная семантика ORGF

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

### Заливка блока (`style.fill`) — важность для бизнеса

| Смысл | Рекомендуемая заливка |
|---|---|
| Критичный актив: решения, финансы, договоры, основной коммерческий источник | `#FECACA` |
| Важный рабочий контур | `#FEF3C7` |
| Обычная операционная работа | `#E6FAF8` |
| Низкая текущая значимость, архив или legacy | `#E5E7EB` |

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

### Контур блока (`style.contour`, `style.contour_width`) — приватность и замкнутость доступа

| Смысл | Рекомендуемый контур |
|---|---|
| Широко доступный или слабо определённый общий контур | `dotted` |
| Ограниченный, но нестрого управляемый обмен | `dashed` |
| Нормальный функциональный контур | `solid` |
| Максимально закрытый контур: топы, финансы, персональные данные, юридически чувствительная информация | `double` |

Используй `bold` для критичных или особенно закрытых контуров; `regular` — в остальных случаях.

### Линия связи (`relation.line`, `relation.line_width`) — частота фактического использования

| Смысл | Рекомендуемая линия |
|---|---|
| Постоянное или ежедневное использование | `solid` |
| Регулярное, но не ежедневное использование: недельный/месячный цикл | `dashed` |
| Редкое, разовое, исключительное или наследуемое использование | `dotted` |

Используй `bold` для интенсивных постоянных контуров, `regular` — для обычных.

### Цвет линии (`relation.color`) — рабочий контекст

| Контекст | Рекомендуемый цвет |
|---|---|
| Управление, решения, стратегия | `#7C3AED` |
| Продажи и клиенты | `#2563EB` |
| Закупки, склад, доставка | `#EA580C` |
| Финансы, договоры, контроль | `#15803D` |
| Люди, офис, ИТ, база знаний | `#0F766E` |
| Архив, legacy, миграция | `#6B7280` |
| Выраженный риск или внешний неконтролируемый контур | `#B91C1C` |

Не используй цвет линии как код технических прав. Это смысл рабочего потока или контекста, а не ACL.

---

## Процесс работы

### Шаг 1. Извлеки и нормализуй доказательства

Собери из всех вводных минимальный рабочий инвентарь. Для каждого подтверждённого логического контейнера по возможности определи:

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

Не добавляй этот инвентарь внутрь ORGF, если стандарт не предусматривает специальные поля. Используй его только как внутреннюю основу построения моделей.

### Шаг 2. Построй AS IS

AS IS — это честная карта текущего положения, а не желаемая структура и не декоративная схема.

- Сохрани наблюдаемую логику именования и иерархии настолько, насколько это нужно для аудита.
- Отражай личные папки, папки ушедших сотрудников, `FINAL`, `FINAL_2`, `Разное`, `Новая папка`, выгрузки мессенджеров, неясные архивы и другие характерные артефакты, если они подтверждены источниками.
- Не маскируй хаос оптимизирующими названиями.
- Маркируй явные риски соответствующими тегами: `без-владельца`, `дубликат`, `риск-доступа`, `персональные-данные`, `требует-проверки`.
- По умолчанию AS IS должен быть полностью видимым. Используй `hidden` в AS IS только тогда, когда данные действительно недоступны в текущем рабочем контуре, но должны быть сохранены как часть исходной картины.
- Не удаляй из AS IS неудобные или нелогичные ветви только ради читаемости. Лучше разумно укрупни повторяющиеся однотипные объекты и зафиксируй это в `desc`.

### Шаг 3. Сформулируй решения TO BE

Каждый существенный элемент AS IS должен получить осмысленную судьбу:

- **сохранить** — работает как целевой источник данных;
- **перенести** — должен оказаться в другом управляемом контуре;
- **объединить** — дубликаты и параллельные версии сводятся к единому источнику;
- **стандартизировать** — название, шаблон или структура нуждаются в общей норме;
- **архивировать** — данные ценны как история, но не должны участвовать в текущей работе;
- **поместить в legacy-слой** — данные сохраняются для аудита и миграции, но исключаются из обычной целевой картины;
- **пометить к проверке** — решения нельзя принять без владельца, срока хранения, юридического требования или подтверждения актуальности.

Не утверждай физическое удаление данных, если срок хранения, владелец и необходимость резервного хранения не подтверждены. В сомнительном случае используй архивирование или legacy-слой.

### Шаг 4. Построй TO BE

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

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

```text
Корпоративное файловое пространство
├─ 01_Управление и решения
├─ 02_Коммерция и клиенты
├─ 03_Закупки, склад и доставка
├─ 04_Финансы, договоры и контроль
├─ 05_Люди, офис и ИТ
├─ 90_Стандарты, шаблоны и база знаний
├─ 98_Внешний обмен
└─ 99_Legacy и миграция [hidden]
```

Правила TO BE:

- Функциональные ветви отражают устойчивые потоки работы, а не временную оргструктуру.
- У каждой значимой папки должен быть понятный бизнес-смысл в `name` и краткое объяснение в `desc`.
- Критичные рабочие документы должны быть собраны в ветви с тегом `единый-источник` там, где это обосновано.
- Личные пространства не должны быть основным местом хранения корпоративных решений, договоров, финансовых данных, ключевых прайсов, клиентских данных и операционных реестров.
- Внешний обмен показывай как отдельный контур: поставщики, клиенты, банки, аудиторы, подрядчики. Не смешивай его с внутренней рабочей папкой без причины.
- Не создавай пустые стандартные разделы только ради симметрии дерева.

### Шаг 5. Используй `hidden` как управляемое наследие

В TO BE создай одну скрытую ветвь `99_Legacy и миграция` или эквивалентную по контексту организации.

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

Обязательные правила:

- Все потомки скрытой ветви также должны быть явно помечены `hidden: true`.
- Ветка legacy не должна содержать актуальные ежедневные рабочие источники только ради того, чтобы целевая схема выглядела чисто.
- В обычном скрытом режиме эта ветвь исключается из видимого дерева и расчётов; в раскрытом режиме она показывает истинный масштаб наследия.
- Используй приглушённую заливку, точечные линии и серый цвет связей для legacy, если это не противоречит бизнес-контексту.

### Шаг 6. Проведи самопроверку перед экспортом

Проверь оба файла:

1. YAML синтаксически корректен и записан в UTF-8 без BOM.
2. Используются только поля и допустимые значения из приложенной канонической спецификации ORGF.
3. Один файл описывает одну модель: AS IS и TO BE не смешаны.
4. Иерархия построена исключительно через `children`.
5. `value` не задвоен между родителем и потомками; итоговые суммы не записаны вручную.
6. В пределах одного файла используются единые `value_label` и `value_unit`.
7. Теги — короткие независимые классификаторы, а не пары `ключ=значение`.
8. У скрытой ветви все потомки также имеют `hidden: true`.
9. Описания короткие и человеческие: они объясняют смысл, а не дублируют все данные инвентаря.
10. Цвета, контуры и линии применены последовательно и имеют понятную управленческую семантику.
11. В TO BE нет необоснованной зависимости критичных корпоративных данных от личных папок.
12. Имена, описания и теги локализованы на язык запроса; технические имена папок сохраняются только в AS IS, когда они являются аудиторским доказательством.

---

## Стандарт качества итоговой модели

Хорошая модель позволяет за несколько секунд ответить на вопросы:

- Где находятся самые большие массивы данных?
- Какие данные критичны для бизнеса?
- Какие аудитории фактически имеют доступ к ключевым знаниям?
- Где корпоративные документы живут в личных, неясных или внешних контурах?
- Какие ветви являются единым источником, а какие — дубликатами или наследием?
- Сколько данных исключается из обычной целевой картины, но всё ещё требует архивирования, миграции или управленческого решения?

Не стремись к максимальному числу блоков. Создавай ровно столько уровней, сколько нужно, чтобы отразить различия в функции, доступе, критичности, частоте использования, объёме данных или жизненном цикле.

---

## Каноническая спецификация ORGF 0.2-draft.4e

Ниже приведён канонический текст референса. Не сокращай его, не реконструируй по памяти и не подменяй более ранней или иной версией формата. При противоречии между рекомендациями выше и этой спецификацией приоритет имеет спецификация.

```yaml
reference:
  format: "ORGF 0.2-draft.4e"
  syntax: "YAML|UTF-8 without BOM"

  sections_fixed:
    orgformat: "string|required"
    reference: "section|optional"
    meta: "section|required"
    model: "section|optional"
    root: "block|required"
    hierarchy: "root.children[*].children[*]..."

  meta:
    title: "string|max250|optional"
    author: "string|max250|optional"
    rights_holder: "string|max250|optional"
    copyright: "string|max500|optional"
    license: "string|max120|optional"
    created: "string|optional|YYYY-MM-DD/ISO 8601"
    updated: "string|optional|YYYY-MM-DD/ISO 8601"
    status: "draft/final/archived|optional"

  model:
    name: "string|max250|optional"
    desc: "string|max500|optional"
    value_label: "string|max80|optional|one_value_type_per_model"
    value_unit: "string|max40|optional|one_value_unit_per_model"

  block:
    name: "string|max250|optional|empty_allowed"
    desc: "string|max500|optional"
    value: "number|optional|own_value_only"
    pic: "section|optional"
    pic.set: "emoji/lucide/feather/simple-icons/iconify|required_if_pic"
    pic.name: "string|required_if_pic"
    tags: "array[string|max80]|optional|default:[]"
    hidden: "boolean|optional|default:false"
    branch_orientation: "auto/horizontal/vertical|optional|default:auto"
    style:
      fill: "default/#HEX|optional|default:default"
      contour: "default/solid/dashed/dotted/double|optional|default:default"
      contour_width: "default/regular/bold|optional|default:default"
    relation:
      line: "default/solid/dashed/dotted|optional|default:default"
      line_width: "default/regular/bold|optional|default:default"
      color: "default/#HEX|optional|default:default"
    children: "array[block]|optional|default:[]"

  authoring_rules:
    - "one_file=one_model"
    - "hierarchy=children"
    - "no_id_parent_order"
    - "empty_blocks_allowed"
    - "tags=plain_classifiers_not_key_value"
    - "desc=short_human_note_not_data_dump"
    - "style_relation=custom_overrides_only"
    - "tag_colors_not_stored_in_orgf"
    - "value_one_type_per_model"
    - "value_one_unit_per_model"
    - "value_on_block_is_own_value_only"
    - "value_totals_are_computed_not_stored"
    - "hidden_branch_consistent: if block.hidden=true then all descendants should also have hidden=true"

  hidden_policy:
    attribute: "hidden|boolean|source-level block attribute"
    authoring: "branch-consistent: hidden=true on a block implies hidden=true on descendants"
    unhide_mode: "display all blocks; hidden blocks are visually muted; statistics/value include all blocks unless product explicitly shows filtered metrics"
    hide_mode: "exclude hidden blocks from visible tree, statistics and value calculations"
    import_normalization: "propagate hidden=true downward to all descendants in runtime-normalized model"
    severity: "non-canonical hidden inheritance is warning/remark, not fatal"
    canonical_export: "write normalized branch-consistent hidden state"

  normalization:
    unknown_fields: remark
    invalid_values: default
    over_limit: truncate
    invalid_yaml: reject
    invalid_structure: reject

  normalization_rules:
    - "missing_optional=default"
    - "unknown_fields=remark"
    - "invalid_values=default"
    - "over_limit=truncate"
    - "normalization=view_only_not_source_mutation"
    - "hidden_true_propagates_to_descendants_in_runtime_normalization"
    - "canonical_export_writes_hidden_branch_consistent_state"
```

ORGFORMAT STUDIO

Как Studio помогает аудиту

  • Используйте hide для мёртвых, устаревших и кандидатных на удаление веток.
  • Используйте теги для прав, владельцев, чувствительных данных и зон ответственности.
  • Используйте value для объёма файлов, количества документов, стоимости хранения или риска.
  • Используйте цвета и контуры для проблемных зон, кандидатов на миграцию и защищённых архивов.
  • Экспортируйте результат в .orgf, SVG, CSV или HTML-оболочку для обсуждения с ИТ, юристами, делопроизводством и владельцами бизнеса.

Граница применения

Этот кейс показывает один из возможных сценариев использования ORGFORMAT для моделирования и аудита файловой структуры.

Материал не является инструкцией по миграции файлов, настройке прав доступа или внедрению систем управления документами и не заменяет профильную ИТ-, информационную или юридическую экспертизу.

Вернуться к профессиональным сценариям