Files
Work/Documentation/POSIX-Structure.md
T

3.5 KiB

POSIX Structure

Note: regenerate the external filetree link if you want the hosted visual tree to reflect the new .cbor and .jsonc paths.

Personal or Organization (server)/
├── settings.cbor
├── catalog/
│   ├── packs/
│   │   └── pack-<slug>/
│   │       ├── manifest.jsonc
│   │       └── entries/
│   │           └── app-<slug>/
│   │               └── manifest.jsonc
│   └── standalone/
│       └── app-<slug>/
│           └── manifest.jsonc
├── departments/
│   └── department-<slug>/
│       ├── settings.cbor
│       ├── users.cbor
│       └── teams/
│           └── team-<slug>/
│               ├── settings.cbor
│               └── users.cbor
├── projects/
│   └── project-<slug>/
│       ├── settings.cbor
│       ├── home.cbor
│       ├── acl.cbor
│       ├── children/
│       │   └── folder-<slug>/
│       │       ├── folder.cbor
│       │       ├── acl.cbor
│       │       └── children/
│       │           └── project-<slug>/
│       │               ├── settings.cbor
│       │               ├── home.cbor
│       │               ├── acl.cbor
│       │               ├── children/
│       │               └── tree/
│       └── tree/
│           ├── item-<slug>/
│           │   ├── item.cbor
│           │   ├── schema.json
│           │   └── data.cbor
│           └── folder-<slug>/
│               ├── folder.cbor
│               └── item-<slug>/
│                   ├── item.cbor
│                   ├── schema.json
│                   └── data.cbor
└── users/
    ├── settings.cbor
    ├── data.cbor
    └── personals/
        └── personal-<slug>/
            ├── layout.cbor
            ├── settings.cbor
            ├── home.cbor
            └── tree/

File Responsibilities

  • settings.cbor — Machine-owned metadata and presentation config for the thing, such as display name, icon, description, and simple settings.
  • layout.cbor — Machine-owned layout configuration for the current server or personal space.
  • home.cbor — Machine-owned home surface configuration, such as widgets, sections, and how they are arranged.
  • folder.cbor — Machine-owned metadata for a folder node in a tree.
  • item.cbor — Machine-owned instance metadata for a created item, including what it is and how it should behave.
  • schema.json — The structure expected by that item's data.
  • data.cbor — The machine-owned content or state data for that item.
  • manifest.jsonc — Human-facing catalog definition metadata, including versioning, description, capabilities, and comments for reusable apps or entries.
  • users.cbor — Machine-owned user membership or assignment data for departments and teams.
  • acl.cbor — Machine-owned access control data for projects and folders.

Format Rules

  • Use *.jsonc for catalog manifests that may be authored or reviewed by humans.
  • Use *.cbor for machine-owned POSIX state and metadata files where parse speed, compactness, and backupability matter more than direct editability.
  • Keep schema.json as JSON so it remains compatible with JSON Schema tooling and validation flows.