@@ -12,34 +12,43 @@ hornet_agent (uid)
1212│ ├── settings.json # pi config
1313│ ├── skills/ → ~/hornet/pi/skills/
1414│ └── extensions/ → ~/hornet/pi/extensions/
15- └── ~/hornet/ # this repo
16- ├── start.sh # launch script
17- ├── setup.sh # install from scratch
18- ├── SECURITY.md # trust boundaries & threat model
19- ├── bin/
20- │ ├── hornet-docker # Docker wrapper (blocks escalation)
21- │ ├── harden-permissions.sh # Lock down pi state files
22- │ ├── security-audit.sh # Check security posture
23- │ └── setup-firewall.sh # Port-based network lockdown
24- ├── slack-bridge/
25- │ ├── bridge.mjs # Slack ↔ pi bridge (Socket Mode)
26- │ └── package.json
27- └── pi/
28- ├── settings.json
29- ├── skills/
30- │ ├── control-agent/SKILL.md
31- │ └── dev-agent/SKILL.md
32- └── extensions/
33- ├── zen-provider.ts
34- ├── auto-name.ts
35- ├── control.ts
36- ├── todos.ts
37- ├── agentmail/
38- ├── email-monitor/
39- ├── kernel/
40- ├── files.ts
41- ├── context.ts
42- └── loop.ts
15+ ├── ~/hornet/ # this repo
16+ │ ├── start.sh # launch script
17+ │ ├── setup.sh # install from scratch
18+ │ ├── SECURITY.md # trust boundaries & threat model
19+ │ ├── hooks/
20+ │ │ └── pre-commit # self-modification guardrail (installed root-owned)
21+ │ ├── bin/ # security scripts (all protected)
22+ │ │ ├── hornet-docker # Docker wrapper (blocks escalation)
23+ │ │ ├── hornet-safe-bash # Bash wrapper (blocks dangerous commands)
24+ │ │ ├── harden-permissions.sh # Lock down pi state files
25+ │ │ ├── security-audit.sh # 24-check security audit
26+ │ │ ├── scan-extensions.mjs # Cross-pattern static analysis
27+ │ │ ├── setup-firewall.sh # Port-based network lockdown
28+ │ │ └── redact-logs.sh # Secret scrubber for session logs
29+ │ ├── slack-bridge/
30+ │ │ ├── bridge.mjs # Slack ↔ pi bridge (Socket Mode)
31+ │ │ ├── security.mjs # Security functions (protected)
32+ │ │ └── package.json
33+ │ └── pi/
34+ │ ├── settings.json
35+ │ ├── skills/
36+ │ │ ├── control-agent/SKILL.md
37+ │ │ ├── dev-agent/SKILL.md
38+ │ │ └── sentry-agent/SKILL.md
39+ │ └── extensions/
40+ │ ├── tool-guard.ts # Tool call interception (protected)
41+ │ ├── sentry-monitor.ts # Sentry API integration
42+ │ ├── zen-provider.ts # OpenCode Zen LLM provider
43+ │ ├── auto-name.ts # Session naming via env var
44+ │ ├── control.ts, context.ts, files.ts, loop.ts, todos.ts
45+ │ ├── agentmail/, email-monitor/, kernel/
46+ │ └── ...
47+ ├── ~/workspace/ # project repos + worktrees
48+ │ ├── modem/ # product app
49+ │ ├── website/ # marketing site
50+ │ └── worktrees/ # git worktrees for dev-agent branches
51+ └── ~/scripts/ # agent-authored operational scripts
4352```
4453
4554## Identity
@@ -50,7 +59,7 @@ hornet_agent (uid)
5059| ** GitHub** | [ hornet-fw] ( https://github.com/hornet-fw ) |
5160| ** Email** | hornet@modem.codes → hornet@agentmail.to |
5261| ** LLM** | Claude Opus 4.6 via OpenCode Zen |
53- | ** Pi agent** | control-agent (spawns dev-agent) |
62+ | ** Pi agent** | control-agent (spawns dev-agent + sentry-agent ) |
5463
5564## Security
5665
@@ -63,6 +72,7 @@ See [SECURITY.md](SECURITY.md) for full trust boundaries and threat model.
6372- Prompt injection detection logging in the Slack bridge
6473- Secrets in ` ~/.config/.env ` (600 perms, not in repo)
6574- SSH key owner-only (700/600 perms)
75+ - ** Self-modification guardrails** : root-owned pre-commit hook + tool-guard rules prevent agent from weakening its own security tooling
6676
6777### Security Scripts
6878
@@ -94,6 +104,11 @@ sudo su - hornet_agent -c 'vim ~/.config/.env'
94104# AGENTMAIL_API_KEY=...
95105# KERNEL_API_KEY=...
96106# HORNET_SECRET=...
107+ # SLACK_BOT_TOKEN=xoxb-...
108+ # SLACK_APP_TOKEN=xapp-...
109+ # SLACK_ALLOWED_USERS=U01234,U56789
110+ # SENTRY_AUTH_TOKEN=...
111+ # HORNET_ALLOWED_EMAILS=you@example.com
97112```
98113
99114## Launch
@@ -102,7 +117,7 @@ sudo su - hornet_agent -c 'vim ~/.config/.env'
102117sudo -u hornet_agent /home/hornet_agent/hornet/start.sh
103118```
104119
105- This starts the ** control-agent** , which automatically spawns a ** dev-agent** in a tmux session .
120+ This starts the ** control-agent** , which automatically spawns a ** dev-agent** and ** sentry-agent ** in tmux sessions, and starts the Slack bridge .
106121
107122## Monitoring
108123
@@ -118,18 +133,18 @@ sudo -u hornet_agent tmux ls
118133
119134The control-agent runs in the foreground terminal where you launched ` start.sh ` .
120135
121- ### Watch the dev-agent
136+ ### Watch the dev-agent / sentry-agent
122137
123138``` bash
124139sudo -u hornet_agent tmux attach -t dev-agent
140+ sudo -u hornet_agent tmux attach -t sentry-agent
125141```
126142
127143Detach without killing: ` Ctrl+b ` then ` d `
128144
129145### Kill everything
130146
131147``` bash
132- # Kill all hornet processes (pi sessions + tmux)
133148sudo -u hornet_agent pkill -u hornet_agent
134149```
135150
0 commit comments