{
  "hooksConfig": {
    "enabled": true,
    "notifications": true
  },
  "hooks": {
    "BeforeAgent": [
      {
        "name": "harness-resume",
        "type": "command",
        "command": "EH=$(command -v epic-harness 2>/dev/null || for p in /usr/local/bin/epic-harness ~/.cargo/bin/epic-harness; do if [ -x \"$p\" ]; then echo \"$p\"; break; fi; done); test -n \"$EH\" && \"$EH\" resume || echo '[harness] epic-harness not found'",
        "description": "Restore session snapshot, load project memory and evolved skills",
        "timeout": 30000
      }
    ],
    "AfterAgent": [
      {
        "name": "harness-reflect",
        "type": "command",
        "command": "EH=$(command -v epic-harness 2>/dev/null || for p in /usr/local/bin/epic-harness ~/.cargo/bin/epic-harness; do if [ -x \"$p\" ]; then echo \"$p\"; break; fi; done); test -n \"$EH\" && \"$EH\" reflect || echo '[harness] epic-harness not found'",
        "description": "Analyze session observations, evolve skills, gate improvements, save metrics",
        "timeout": 30000
      }
    ],
    "BeforeModel": [
      {
        "name": "harness-guard",
        "type": "command",
        "command": "EH=$(command -v epic-harness 2>/dev/null || for p in /usr/local/bin/epic-harness ~/.cargo/bin/epic-harness; do if [ -x \"$p\" ]; then echo \"$p\"; break; fi; done); test -n \"$EH\" && \"$EH\" guard || echo '[harness] epic-harness not found'",
        "description": "Scan prompt context for dangerous shell patterns and blocked commands",
        "timeout": 30000
      }
    ],
    "AfterModel": [
      {
        "name": "harness-observe",
        "type": "command",
        "command": "EH=$(command -v epic-harness 2>/dev/null || for p in /usr/local/bin/epic-harness ~/.cargo/bin/epic-harness; do if [ -x \"$p\" ]; then echo \"$p\"; break; fi; done); test -n \"$EH\" && \"$EH\" observe || echo '[harness] epic-harness not found'",
        "description": "Record multi-dimensional tool usage scores",
        "timeout": 30000,
        "async": true
      },
      {
        "name": "harness-mem-observe",
        "type": "command",
        "command": "EH=$(command -v epic-harness 2>/dev/null || for p in /usr/local/bin/epic-harness ~/.cargo/bin/epic-harness; do if [ -x \"$p\" ]; then echo \"$p\"; break; fi; done); test -n \"$EH\" && \"$EH\" mem-observe || true",
        "description": "Auto-record architectural decisions and patterns to unified memory store",
        "timeout": 30000,
        "async": true
      }
    ]
  },
  "mcpServers": {
    "harness-mem": {
      "command": "epic-harness",
      "args": ["mem", "mcp"],
      "type": "local"
    }
  }
}
