{
  "schema_version": "0.2-draft",
  "mandate_id": "omarchy-workstation-2026-09",
  "issued_by": "the person at this keyboard",
  "purpose": "Let the agent work in ~/Work and read my config to understand the setup. It does not touch keys, it does not edit Omarchy's own files, and it does not install packages without me.",
  "not_valid_after": "2027-01-01T00:00:00Z",
  "default": "deny",
  "requires_human": [
    "package",
    "credential_use",
    "administrative",
    "device"
  ],
  "clauses": [
    {
      "id": "c1-no-keys",
      "effect": "deny",
      "note": "Keys and system config. First, because first-match-wins means a denial written under a broader permit never runs.",
      "match": {
        "kind": [
          "file"
        ],
        "target_prefix": [
          "/home/you/.ssh/",
          "/home/you/.gnupg/",
          "/home/you/.local/share/keyrings/",
          "/etc/"
        ]
      }
    },
    {
      "id": "c2-no-omarchy-internals",
      "effect": "deny",
      "note": "The package tree. omarchy-update overwrites /usr/share/omarchy, so an agent editing it is doing work the next update deletes. Your own ~/.config is not this; it is yours, and omarchy reinstall configs is what resets it.",
      "match": {
        "kind": [
          "file"
        ],
        "target_prefix": [
          "/usr/share/omarchy/"
        ]
      }
    },
    {
      "id": "c3-work-tree",
      "effect": "permit",
      "note": "Omarchy starts agents in ~/Work rather than $HOME. This mandate agrees with that.",
      "match": {
        "kind": [
          "file"
        ],
        "verb": [
          "read",
          "write",
          "list",
          "create"
        ],
        "target_prefix": [
          "/home/you/Work/"
        ]
      }
    },
    {
      "id": "c4-read-config",
      "effect": "permit",
      "note": "Reading dotfiles is how the agent learns the setup. Writing them is not covered here.",
      "match": {
        "kind": [
          "file"
        ],
        "verb": [
          "read",
          "list"
        ],
        "target_prefix": [
          "/home/you/.config/"
        ]
      }
    },
    {
      "id": "c5-github",
      "effect": "permit",
      "note": "One host. Not general outbound network.",
      "match": {
        "kind": [
          "network"
        ],
        "verb": [
          "get",
          "post"
        ],
        "target_prefix": [
          "https://github.com/"
        ]
      }
    },
    {
      "id": "c6-packages",
      "effect": "permit",
      "note": "Reachable, and still escalates: 'package' is in requires_human. Naming what may be installed narrows the ask; it does not remove the person.",
      "match": {
        "kind": [
          "package"
        ],
        "verb": [
          "install"
        ]
      }
    }
  ]
}