Commit a480af1
committed
fix(opencode): restore grep/glob/bash for dreamer subagent permissions
Audit of the live OpenCode DB showed real-world hidden-subagent tool
usage:
historian (compartment):
read 7, grep 3
dreamer (consolidate / verify / improve / archive-stale / smart-notes):
bash 114, ctx_memory 57, grep 26, read 21, glob 4, ctx_reduce 1
The previous commit (571d014) locked dreamer to
read + ctx_memory + ctx_search + ctx_note, which would have broken:
- smart-note evaluation, which task-prompts.ts explicitly tells the
model to perform via gh / git / curl / file reads under bash
- the verify task git log --oneline --since=... step (line 243)
- the verify task grep-schema-for-defaults instruction (line 81)
- the improve task find/grep directory inventory (lines 266-268)
Add grep, glob, and bash to DREAMER_ALLOWED_TOOLS. task, edit, write,
webfetch, websearch remain denied — dreamer must not spawn subagents
or commit changes, and smart-note URL fetches go through bash + curl
instead of webfetch to keep one shell surface.
Historian 3 historical grep calls were the model improvising rather
than following its prompt (which makes no mention of grep). Historian
job is summarizing the input it is given, not exploring the repo, so
the read-only restriction stands. If a real summarization task ever
needs grep we can add it then.
Sidekick had no real-world calls captured (it is a recent feature with
low usage). Its prompt allows ONLY ctx_search, so the
ctx_search + ctx_memory allow-list stands.
Tests updated: 1476 pass / 0 fail (+3 dreamer-specific assertions).
Comments in permissions.ts now cite the DB-observed call counts so a
future audit can verify the allow-list against fresh telemetry.1 parent 571d014 commit a480af1
2 files changed
Lines changed: 83 additions & 22 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
76 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
77 | 88 | | |
78 | 89 | | |
79 | 90 | | |
80 | 91 | | |
81 | 92 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
86 | 110 | | |
87 | 111 | | |
88 | 112 | | |
| |||
113 | 137 | | |
114 | 138 | | |
115 | 139 | | |
116 | | - | |
| 140 | + | |
117 | 141 | | |
118 | 142 | | |
119 | 143 | | |
120 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
121 | 148 | | |
122 | 149 | | |
123 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
54 | 59 | | |
55 | 60 | | |
56 | 61 | | |
| |||
88 | 93 | | |
89 | 94 | | |
90 | 95 | | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
96 | 122 | | |
97 | | - | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
98 | 132 | | |
99 | 133 | | |
100 | 134 | | |
| |||
0 commit comments