挑战
当文件存储不再反映业务
企业文件库往往与组织图同时起步。多年的项目、重组和手工访问规则可能使它变成一个独立结构。团队不再清楚谁拥有某个分支、哪些内容可以删除、哪些文件夹重复了某项职能,或哪些权限已与责任不匹配。
- 将文件树导出或描述为 ORGF 模型。
- 构建或导入当前组织模型。
- 比较两种层级,识别文件夹、职能和所有者之间的不匹配。
- 在不丢失整体视图的前提下标记过时、归档和迁移分支。
- 准备与实际运营模式一致的目标文件结构。
专业案例/数据治理
一个面向共享文件夹、档案和文档库逐渐偏离真实运营模式的组织的实用 ORGF Studio 场景。目标不是自动迁移,而是建立可读模型,以支持清理、数据归属和访问决策。
挑战
企业文件库往往与组织图同时起步。多年的项目、重组和手工访问规则可能使它变成一个独立结构。团队不再清楚谁拥有某个分支、哪些内容可以删除、哪些文件夹重复了某项职能,或哪些权限已与责任不匹配。
建模层
ORGF 非常适合该案例,因为文件树和组织图都是层级结构。Studio 将它们呈现为模型,而标签、隐藏分支和 value 让清理讨论更具体。
AI 提示词(英文原文)
案例包中提供完整英文提示词,可复制或下载后用于处理源材料。
# Universal Prompt: Audit and Optimise an Organisation’s File Structure in ORGF
> **Purpose:** transform mixed evidence about a corporate file environment into two related but independent ORGF models: **AS IS** and **TO BE**.
> **Export basis:** the canonical `ORGF 0.2-draft.4e` specification is included at the end of this prompt. Treat it as the sole source of truth for syntax, fields, constraints, and permitted values.
---
## Role
You are a consultant in information governance, organisational design, and corporate file-structure optimisation. You do not treat folders, shared drives, personal directories, exports, archives, and external exchange spaces as a technical inventory. You treat them as the organisation’s actual, often undocumented operating model for knowledge, ownership, access, and decision-making.
Your task is to identify how the file structure reveals:
- actual areas of responsibility and ownership of organisational knowledge;
- established access audiences and informal sharing patterns;
- business-critical data and their duplicates;
- dependence on named individuals, former employees, messaging apps, and temporary channels;
- archives, obsolete processes, and data requiring migration;
- a target logic for storage, access, and data lifecycle management.
Use clear, neutral business language. Do not simulate technical access control at the ACL, Active Directory, read/write, or security-group level unless that information is explicitly provided. Describe access in business terms, for example: `executive-team`, `finance`, `sales`, `procurement`, `warehouse`, `office`, `personal`, `external-partners`, or `shared`.
---
## Possible inputs
The user may provide one or more sources in any combination:
- a folder-tree export or a list of file paths;
- a `CSV`, `XLS`, `XLSX`, `TSV`, JSON file, or a similar inventory;
- a text file, Markdown file, document, email, policy, or process description;
- an administrator’s report on folder size, owners, access audiences, activity dates, or file counts;
- screenshots, images, or file-manager screen captures;
- an archive containing a file structure, where its contents are accessible for analysis;
- a free-form problem statement, even without a complete folder inventory.
### Evidence standard
1. Treat **structured data** as the primary source of facts: paths, names, sizes, owners, dates, object types, and other explicitly stated fields.
2. Use **textual materials** to interpret business purpose, processes, roles, risks, and desired future state.
3. Screenshots and images support only what is directly observable in them. Do not infer unseen branches as facts.
4. When the source is incomplete, do not stop or demand a perfect inventory. Build the most useful model possible from the available evidence, but mark unsupported decisions with the `needs-validation` tag or a brief note in `desc`.
5. Do not invent folder names, sizes, owners, activity levels, legal constraints, or technical limitations. Reasonable **TO BE** folders are allowed when they are justified by the optimisation objective; label them as designed target structure, not as discovered facts.
6. Do not claim to have read or scanned a file system unless an accessible tree, inventory, or file content was actually supplied.
---
## Objective and required deliverables
Create **two separate, valid ORGF files**. Each file must describe one model state only; do not combine AS IS and TO BE in the same document.
1. `file-structure-audit_as-is_en.orgf` — the actual or most evidence-based current file structure.
2. `file-structure-audit_to-be_en.orgf` — the optimised target file structure, including migration, archive, and legacy treatment.
Both files must be UTF-8, use the `.orgf` extension, and contain only syntax and fields permitted by the canonical ORGF specification included at the end of this prompt.
After creating the files, provide a concise summary with:
- the names of the generated `.orgf` files;
- the block count in each file;
- visible and full data volume, where known or estimated;
- no more than five short assumptions or source-data gaps.
Do not add custom ORGF fields for migration notes, owners, paths, file IDs, activity dates, read/write permissions, or technical ACLs. Put concise explanation in the permitted `desc` field and meaningful classifications in `tags`.
---
## Basic unit of the model
One ORGF block represents one logical corporate data container. Depending on the quality of the input, it may be:
- a shared folder;
- a subfolder;
- a distinct document set that has no explicit folder in the source but clearly exists as a stable working space;
- a personal working directory;
- an external exchange area for suppliers, customers, banks, auditors, or contractors;
- an archive or legacy branch.
Do not turn every individual file into a separate block. Create a block at the level where a distinct business purpose, audience, lifecycle, risk, or material data volume becomes visible.
Use the `children` hierarchy as the only parent-child mechanism. Do not invent identifiers, parent references, graph links, or administrative registers that are not part of the canonical ORGF format.
---
## Standard `value` metric
For this use case, the model uses one metric only:
- `value_label`: `Data volume`
- `value_unit`: `GB`
### Calculation rules
- A block’s `value` is only the data volume belonging to **that level itself**; it must not include its descendants again.
- Do not enter the sum of child blocks on the parent block. Aggregate totals must be computed by the model consumer, not stored manually.
- When the source reports a folder size **including all its contents** and the folder’s direct volume cannot be separated, do not duplicate that size at every level. Prefer one of these options:
- assign the value to the terminal block where the content is concentrated;
- assign `0` to aggregate folders and explain the uncertainty in `desc`;
- build a more aggregated block instead of fabricating precision.
- Convert MB to GB consistently and round sensibly, normally to one decimal place.
- When a size is unknown, do not invent a number. Leave the value empty or use zero, in line with the canonical specification, and mark the block `needs-validation`.
---
## Tags: the business language of access, sharing, and lifecycle
Tags are flat, independent classifiers. Do not use `key=value` pairs, JSON inside tags, technical SIDs, Active Directory group names, user names, or `read/write` permissions.
Choose tags from the following semantic groups. Do not use every group on every node; three to seven meaningful tags are usually sufficient.
### 1. Access audience and business perimeter
`all-staff`, `executive-team`, `finance`, `sales`, `procurement`, `warehouse`, `logistics`, `office`, `people`, `it`, `legal`, `external-partners`, `personal`
### 2. Sharing pattern
`shared`, `cross-functional`, `external-sharing`, `personal-workspace`
### 3. Importance and information type
`business-critical`, `confidential`, `personal-data`, `commercially-sensitive`, `operational-data`, `approved-documents`, `working-files`, `templates`, `source-of-truth`
### 4. Lifecycle and governance quality
`current`, `archive`, `legacy`, `migration-candidate`, `no-owner`, `duplicate`, `access-risk`, `needs-validation`
Add sector-specific or context-specific tags when they improve filtering, for example: `price-lists`, `contracts`, `orders`, `product-images`, `suppliers`, or `returns`. Do not turn tags into a second text catalogue.
---
## ORGF visual semantics
Use visual attributes consistently. They must explain the model rather than decorate it.
### Block fill (`style.fill`) — business importance
| Meaning | Recommended fill |
|---|---|
| Critical asset: decisions, finance, contracts, primary commercial source | `#FECACA` |
| Important working area | `#FEF3C7` |
| Standard operating work | `#E6FAF8` |
| Lower current importance, archive, or legacy | `#E5E7EB` |
Use another colour only when there is a clear local reason and the overall model semantics remain consistent.
### Block contour (`style.contour`, `style.contour_width`) — privacy and access enclosure
| Meaning | Recommended contour |
|---|---|
| Widely accessible or weakly defined shared area | `dotted` |
| Restricted but loosely governed exchange | `dashed` |
| Standard functional area | `solid` |
| Highly restricted area: executive, finance, personal data, or legally sensitive information | `double` |
Use `bold` for critical or especially restricted areas; use `regular` otherwise.
### Relationship line (`relation.line`, `relation.line_width`) — actual frequency of use
| Meaning | Recommended line |
|---|---|
| Continuous or daily use | `solid` |
| Regular but not daily use: weekly or monthly cycle | `dashed` |
| Rare, one-off, exceptional, or legacy use | `dotted` |
Use `bold` for intensive, continuous working patterns and `regular` otherwise.
### Relationship colour (`relation.color`) — operating context
| Context | Recommended colour |
|---|---|
| Governance, decisions, strategy | `#7C3AED` |
| Sales and customers | `#2563EB` |
| Procurement, warehouse, delivery | `#EA580C` |
| Finance, contracts, control | `#15803D` |
| People, office, IT, knowledge base | `#0F766E` |
| Archive, legacy, migration | `#6B7280` |
| Material risk or uncontrolled external area | `#B91C1C` |
Do not use relationship colour as a technical access-rights code. It represents operating context or workflow meaning, not ACL.
---
## Working process
### Step 1. Extract and normalise evidence
Build a minimum working inventory from all inputs. For every confirmed logical container, identify where possible:
- source path or location in the tree;
- observed name;
- data volume;
- likely access audience;
- whether the space is shared, personal, or external;
- business importance;
- lifecycle state: current, archive, legacy, duplicate, no-owner, or migration-candidate;
- basis of the conclusion: inventory fact, textual fact, or assumption.
Do not include this inventory inside ORGF when the standard provides no dedicated fields. Use it only as the internal basis for constructing the models.
### Step 2. Build AS IS
AS IS is an honest map of the current reality, not a desired structure or decorative diagram.
- Preserve the observed naming and hierarchy where needed for the audit.
- Represent personal folders, folders of departed employees, `FINAL`, `FINAL_2`, `Misc`, `New Folder`, messaging-app exports, unclear archives, and other distinctive artefacts when they are supported by the source material.
- Do not disguise disorder by applying optimised names.
- Mark clear risks with appropriate tags such as `no-owner`, `duplicate`, `access-risk`, `personal-data`, and `needs-validation`.
- By default, AS IS should be fully visible. Use `hidden` in AS IS only where data are genuinely inaccessible from the current working perimeter but still need to remain part of the initial picture.
- Do not remove inconvenient or illogical branches from AS IS merely to improve readability. Instead, aggregate repeating, similar objects sensibly and state the aggregation in `desc`.
### Step 3. Define TO BE decisions
Every material AS IS element must have a meaningful destination:
- **retain** — it already works as the target source of data;
- **move** — it belongs in another governed area;
- **consolidate** — duplicates and parallel versions are combined into a single source;
- **standardise** — the name, template, or structure needs a shared standard;
- **archive** — the data retain historical value but should not participate in current work;
- **place in the legacy layer** — the data are retained for audit and migration but excluded from the ordinary target view;
- **mark for validation** — no decision is justified without an owner, retention period, legal requirement, or confirmation of currency.
Do not assert that data can be physically deleted unless retention, ownership, and backup requirements are evidenced. When in doubt, archive the content or place it in the legacy layer.
### Step 4. Build TO BE
TO BE must be organised around work and corporate ownership of knowledge, not around surnames, individual devices, or historically accidental names.
Use only the top-level branches supported by the organisation’s context. The following is a typical but not mandatory framework:
```text
Corporate File Estate
├─ 01_Governance and Decisions
├─ 02_Commercial and Customers
├─ 03_Procurement, Warehouse and Delivery
├─ 04_Finance, Contracts and Control
├─ 05_People, Office and IT
├─ 90_Standards, Templates and Knowledge Base
├─ 98_External Exchange
└─ 99_Legacy and Migration [hidden]
```
TO BE rules:
- Functional branches reflect durable workflows, not a temporary organisation chart.
- Every material folder must have a clear business meaning in `name` and a concise explanation in `desc`.
- Critical working documents should be placed in branches tagged `source-of-truth` wherever justified.
- Personal spaces must not be the primary home for corporate decisions, contracts, financial data, key price lists, customer data, or operating registers.
- Represent external exchange as a separate perimeter: suppliers, customers, banks, auditors, and contractors. Do not mix it with an internal working folder without a reason.
- Do not create empty standard sections merely for visual symmetry.
### Step 5. Use `hidden` as governed legacy
In TO BE, create one hidden branch named `99_Legacy and Migration` or an equivalent that fits the organisation’s context.
Place confirmed but no-longer-target artefacts there: personal folders of former employees, historical copies, obsolete exports, old templates, outdated price lists, closed projects, migration copies, and other legacy material.
Mandatory rules:
- All descendants of the hidden branch must also be explicitly marked `hidden: true`.
- The legacy branch must not hold current daily working sources merely to make the target diagram look clean.
- In hidden mode, the branch is excluded from the visible tree and calculations; in unhidden mode, it reveals the true scale of the inherited footprint.
- Use muted fill, dotted lines, and grey relationship colours for legacy unless the business context requires another treatment.
### Step 6. Self-check before export
Validate both files:
1. YAML is syntactically valid and encoded as UTF-8 without BOM.
2. Only fields and permitted values from the appended canonical ORGF specification are used.
3. One file represents one model; AS IS and TO BE are not combined.
4. Hierarchy is expressed solely through `children`.
5. `value` is not duplicated between parents and descendants; totals are not entered manually.
6. Each file uses one consistent `value_label` and `value_unit`.
7. Tags are short, independent classifiers rather than `key=value` pairs.
8. Every descendant of a hidden branch also has `hidden: true`.
9. Descriptions are short and human-readable: they explain the purpose rather than reproduce the full inventory.
10. Colours, contours, and lines are applied consistently and have intelligible management semantics.
11. TO BE has no unjustified dependence of critical corporate data on personal folders.
12. Names, descriptions, and tags are localised into the requested language; technical folder names are retained only in AS IS when they serve as audit evidence.
---
## Quality standard for the final model
A strong model allows a reader to answer these questions within seconds:
- Where are the largest data volumes?
- Which data are business-critical?
- Which audiences effectively have access to key organisational knowledge?
- Where do corporate documents live in personal, unclear, or external perimeters?
- Which branches are sources of truth, and which are duplicates or legacy?
- How much data are excluded from the ordinary target view but still require archiving, migration, or management decisions?
Do not optimise for the highest possible number of blocks. Use exactly as many levels as needed to make distinctions in function, access, criticality, usage frequency, data volume, or lifecycle visible.
---
## Canonical ORGF 0.2-draft.4e specification
The canonical reference text is reproduced below. Do not shorten it, reconstruct it from memory, or substitute an earlier or different format version. Where this prompt conflicts with the specification, the specification takes precedence.
```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
本案例展示了将文件结构与组织模型并行审视时使用 ORGFORMAT 的一种可能方式。
它不能替代信息安全、档案管理、法律、合规、数据保护或技术访问控制要求。关于保留、访问、个人数据和迁移的决定应由相关业务、IT、安全和法律专家作出。