Skip to content
  • rules
  • guards

Focus guard

Agent layer only: rules and guards for a careful session. No panel.

What it does

Parts for the agent stay off until you approve them.

  • rulesRules the agent follows while the morph is on, as seriously as your project’s own instructions.
  • guardsA check on every matching action the agent tries: refuse it, or ask you first.

Rules the agent follows

Prefer small, reviewable changes. Say which file a change touches before touching it. Never run destructive git commands without asking.

Guards on agent actions

  • deny*rm -rf* on shell, No recursive deletes while Focus guard is on.
  • ask*--force* on git, A force push rewrites shared history.
  • ask**/.env* on edit_file, Secrets files need a second look.

Install

proxysoul/Empryo/morphs/focus-guard.json
  1. Copy the reference above.
  2. In the Empryo desktop app, open Cells & Morphs → Start from… → Install from GitHub and paste it.
  3. Or ask the agent to “install proxysoul/Empryo/morphs/focus-guard.json”.

Will it run for you

Requirements

Empryo
3.7.2+Empryo 3.7.2+, runs on 3.10.2-beta
Platforms
macOS, Linux and Windows
Works in
Desktop app and Terminal app

Runs on Empryo 3.10.2-beta, the current release.

Network access

Declares no network access outside your machine.

Rules and guards stay off until you approve them in Cells & Morphs.

Source

This morph lives at morphs/focus-guard.json in proxysoul/Empryo.

Read the whole file
morphs/focus-guard.json
{
  "schemaVersion": 1,
  "name": "Focus guard",
  "description": "Agent layer only: rules and guards for a careful session. No panel.",
  "requires": {
    "empryo": ">=3.7.2"
  },
  "instructions": "Prefer small, reviewable changes. Say which file a change touches before touching it. Never run destructive git commands without asking.",
  "guards": [
    {
      "tool": "shell",
      "match": "*rm -rf*",
      "decision": "deny",
      "reason": "No recursive deletes while Focus guard is on."
    },
    {
      "tool": "git",
      "match": "*--force*",
      "decision": "ask",
      "reason": "A force push rewrites shared history."
    },
    {
      "tool": "edit_file",
      "match": "**/.env*",
      "decision": "ask",
      "reason": "Secrets files need a second look."
    }
  ],
  "signature": {
    "alg": "ed25519",
    "key": "MCowBQYDK2VwAyEAy6SPFCi/cYx+XTFd5b7LjJnM5YUMNqsNGKU3fPCLU8Y=",
    "sig": "SI0BdSoLdpoxgWeugCsMk0/vEW7UFbo4JdogGY84OlJWN1JhHoQ0t3RrAUzBm4jznN+RlqBdz58fHr5gX/tHCA=="
  }
}