bots-garden/mini-mepublic Fork
⑂ 76ef2d2
Commits
⬇ Clone ▾
git clone https://git.rickub.com/bots-garden/mini-me.git
git clone ssh://git@rickub.com/bots-garden/mini-me.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

🛟 Updated.Unverified

k33g committed 2026-10-06T04:51:38+02:00 Browse files
76ef2d2 parent: 9d1939f
modified .tickets/issues/0059-how-to-start-in-yolo-mode.yaml +93 -2
@@ -6,7 +6,7 @@ author:
66 name: k33g
77 email: ph.charriere@gmail.com
88 createdAt: 2026-10-01T04:39:53.878Z
9-updatedAt: 2026-10-01T06:30:00.000Z
9+updatedAt: 2026-10-03T10:00:00.000Z
1010 labels:
1111 - kind::feature
1212 - priority::low
@@ -103,4 +103,95 @@ tasks:
103103 email: ph.charriere@gmail.com
104104 createdAt: 2026-10-01T06:30:00.000Z
105105 updatedAt: 2026-10-01T06:30:00.000Z
106-comments: []
106+ - id: 7
107+ title: "Per-tool permission: bashTool/editTools accept true | false | ask (config validation, defaults unchanged)"
108+ state: open
109+ priority: none
110+ author:
111+ name: k33g
112+ email: ph.charriere@gmail.com
113+ createdAt: 2026-10-03T10:00:00.000Z
114+ updatedAt: 2026-10-03T10:00:00.000Z
115+ - id: 8
116+ title: "Line mode: a terminal permission prompt (y once / s session / n reject) so `ask` works there too"
117+ state: open
118+ priority: none
119+ author:
120+ name: k33g
121+ email: ph.charriere@gmail.com
122+ createdAt: 2026-10-03T10:00:00.000Z
123+ updatedAt: 2026-10-03T10:00:00.000Z
124+ - id: 9
125+ title: "Decide precedence between the per-tool value, the global `permissions` key and --yolo"
126+ state: open
127+ priority: none
128+ author:
129+ name: k33g
130+ email: ph.charriere@gmail.com
131+ createdAt: 2026-10-03T10:00:00.000Z
132+ updatedAt: 2026-10-03T10:00:00.000Z
133+ - id: 10
134+ title: "Ship `permissions:` (commented, explained) in agent.*.yaml, demo*/ and config.samples/"
135+ state: open
136+ priority: none
137+ author:
138+ name: k33g
139+ email: ph.charriere@gmail.com
140+ createdAt: 2026-10-03T10:00:00.000Z
141+ updatedAt: 2026-10-03T10:00:00.000Z
142+ - id: 11
143+ title: "mm --ask: let the caller forbid or confirm the asked agent's tools (ticket 73 open task)"
144+ state: open
145+ priority: none
146+ author:
147+ name: k33g
148+ email: ph.charriere@gmail.com
149+ createdAt: 2026-10-03T10:00:00.000Z
150+ updatedAt: 2026-10-03T10:00:00.000Z
151+comments:
152+ - id: 1
153+ author:
154+ name: claude
155+ email: noreply@anthropic.com
156+ createdAt: 2026-10-03T10:00:00.000Z
157+ body: |
158+ **Addition (user, 2026-10-03): permissions per tool.**
159+
160+ Today (verified in the code):
161+ - `bashTool` and `editTools` are booleans: they say whether the tool
162+ EXISTS, not whether to ask. `bashTool: ask` is a YAML error (cannot
163+ unmarshal a string into bool).
164+ - `permissions: auto|ask` is a separate, GLOBAL, top-level key
165+ (internal/config/config.go:166). It is read by the window mode only.
166+ With `ask`, every tool that calls Allow waits for a/s/r: bash
167+ (tools.go:268), write_file and edit_file (files.go:243, 280),
168+ fetch_content when it saves (fetchcontent.go:104), lsp rename
169+ (lsp.go:284), one plan action (plan.go:576). read_file and read_skill
170+ never ask. All or nothing: no way to ask for bash but not for edits.
171+ - The line mode and -p have NO gate: the tools only go through Allow when
172+ a ui.Sink is active (tools.go:212), and the REPL installs none.
173+ - `permissions` appears in NO shipped config (agent.*.yaml, demo*/,
174+ config.samples/): users do not find it.
175+ - Since ticket 73, `mm --ask <agent>` always allows the asked agent's
176+ tools (Lucy wrote capital_info.txt twice in demo-llmman during tests).
177+
178+ Proposal:
179+ - `bashTool: true | false | ask`, `editTools: true | false | ask` (and the
180+ same for fetchContentTool / lsp rename if wanted): `ask` = the tool
181+ exists and every call waits for the user; `true` = runs at once;
182+ `false` = not declared. Defaults unchanged (true).
183+ - Keep the global `permissions` as the default for tools without a
184+ per-tool value; a per-tool value wins. --yolo (this ticket) turns
185+ every `ask` into `true` for the run.
186+ - Make `ask` work in the LINE mode too: a small terminal prompt before
187+ the call (`run bash: ls -la? [y]es once / [s]ession / [n]o`), in the
188+ REPL's input loop (it already owns stdin and Ctrl+C). -p (one-shot,
189+ non-interactive) cannot ask: `ask` there = reject, with a clear
190+ "[command rejected: -p cannot ask]" so scripts do not hang.
191+ - ACP keeps the editor's dialog whatever the value; `true` could skip it
192+ (that is the --yolo question already open above).
193+
194+ Open questions:
195+ 1. Precedence: per-tool value > `permissions` > default — OK?
196+ 2. In -p mode, should `ask` reject (safe, proposed) or allow?
197+ 3. Should `ask` for editTools cover read_file too (today never gated)?
@@ -6,7 +6,7 @@ author:
6 name: k33g6 name: k33g
7 email: ph.charriere@gmail.com7 email: ph.charriere@gmail.com
8 createdAt: 2026-10-01T04:39:53.878Z8 createdAt: 2026-10-01T04:39:53.878Z
9-updatedAt: 2026-10-01T06:30:00.000Z9+updatedAt: 2026-10-03T10:00:00.000Z
10 labels:10 labels:
11 - kind::feature11 - kind::feature
12 - priority::low12 - priority::low
@@ -103,4 +103,95 @@ tasks:
103 email: ph.charriere@gmail.com103 email: ph.charriere@gmail.com
104 createdAt: 2026-10-01T06:30:00.000Z104 createdAt: 2026-10-01T06:30:00.000Z
105 updatedAt: 2026-10-01T06:30:00.000Z105 updatedAt: 2026-10-01T06:30:00.000Z
106-comments: []106+ - id: 7
107+ title: "Per-tool permission: bashTool/editTools accept true | false | ask (config validation, defaults unchanged)"
108+ state: open
109+ priority: none
110+ author:
111+ name: k33g
112+ email: ph.charriere@gmail.com
113+ createdAt: 2026-10-03T10:00:00.000Z
114+ updatedAt: 2026-10-03T10:00:00.000Z
115+ - id: 8
116+ title: "Line mode: a terminal permission prompt (y once / s session / n reject) so `ask` works there too"
117+ state: open
118+ priority: none
119+ author:
120+ name: k33g
121+ email: ph.charriere@gmail.com
122+ createdAt: 2026-10-03T10:00:00.000Z
123+ updatedAt: 2026-10-03T10:00:00.000Z
124+ - id: 9
125+ title: "Decide precedence between the per-tool value, the global `permissions` key and --yolo"
126+ state: open
127+ priority: none
128+ author:
129+ name: k33g
130+ email: ph.charriere@gmail.com
131+ createdAt: 2026-10-03T10:00:00.000Z
132+ updatedAt: 2026-10-03T10:00:00.000Z
133+ - id: 10
134+ title: "Ship `permissions:` (commented, explained) in agent.*.yaml, demo*/ and config.samples/"
135+ state: open
136+ priority: none
137+ author:
138+ name: k33g
139+ email: ph.charriere@gmail.com
140+ createdAt: 2026-10-03T10:00:00.000Z
141+ updatedAt: 2026-10-03T10:00:00.000Z
142+ - id: 11
143+ title: "mm --ask: let the caller forbid or confirm the asked agent's tools (ticket 73 open task)"
144+ state: open
145+ priority: none
146+ author:
147+ name: k33g
148+ email: ph.charriere@gmail.com
149+ createdAt: 2026-10-03T10:00:00.000Z
150+ updatedAt: 2026-10-03T10:00:00.000Z
151+comments:
152+ - id: 1
153+ author:
154+ name: claude
155+ email: noreply@anthropic.com
156+ createdAt: 2026-10-03T10:00:00.000Z
157+ body: |
158+ **Addition (user, 2026-10-03): permissions per tool.**
159+
160+ Today (verified in the code):
161+ - `bashTool` and `editTools` are booleans: they say whether the tool
162+ EXISTS, not whether to ask. `bashTool: ask` is a YAML error (cannot
163+ unmarshal a string into bool).
164+ - `permissions: auto|ask` is a separate, GLOBAL, top-level key
165+ (internal/config/config.go:166). It is read by the window mode only.
166+ With `ask`, every tool that calls Allow waits for a/s/r: bash
167+ (tools.go:268), write_file and edit_file (files.go:243, 280),
168+ fetch_content when it saves (fetchcontent.go:104), lsp rename
169+ (lsp.go:284), one plan action (plan.go:576). read_file and read_skill
170+ never ask. All or nothing: no way to ask for bash but not for edits.
171+ - The line mode and -p have NO gate: the tools only go through Allow when
172+ a ui.Sink is active (tools.go:212), and the REPL installs none.
173+ - `permissions` appears in NO shipped config (agent.*.yaml, demo*/,
174+ config.samples/): users do not find it.
175+ - Since ticket 73, `mm --ask <agent>` always allows the asked agent's
176+ tools (Lucy wrote capital_info.txt twice in demo-llmman during tests).
177+
178+ Proposal:
179+ - `bashTool: true | false | ask`, `editTools: true | false | ask` (and the
180+ same for fetchContentTool / lsp rename if wanted): `ask` = the tool
181+ exists and every call waits for the user; `true` = runs at once;
182+ `false` = not declared. Defaults unchanged (true).
183+ - Keep the global `permissions` as the default for tools without a
184+ per-tool value; a per-tool value wins. --yolo (this ticket) turns
185+ every `ask` into `true` for the run.
186+ - Make `ask` work in the LINE mode too: a small terminal prompt before
187+ the call (`run bash: ls -la? [y]es once / [s]ession / [n]o`), in the
188+ REPL's input loop (it already owns stdin and Ctrl+C). -p (one-shot,
189+ non-interactive) cannot ask: `ask` there = reject, with a clear
190+ "[command rejected: -p cannot ask]" so scripts do not hang.
191+ - ACP keeps the editor's dialog whatever the value; `true` could skip it
192+ (that is the --yolo question already open above).
193+
194+ Open questions:
195+ 1. Precedence: per-tool value > `permissions` > default — OK?
196+ 2. In -p mode, should `ask` reject (safe, proposed) or allow?
197+ 3. Should `ask` for editTools cover read_file too (today never gated)?
added .tickets/issues/0074-memory-memgpt-hierarchic-memory.yaml +14 -0
new file mode 100644
@@ -0,0 +1,14 @@
1+# Managed by IssueSpec. Hand edits are welcome; keep the schema valid.
2+id: 74
3+title: MEMORY-MEMGPT (hierarchic memory)
4+state: open
5+author:
6+ name: k33g
7+ email: ph.charriere@gmail.com
8+createdAt: 2026-10-04T15:12:36.643Z
9+updatedAt: 2026-10-04T15:12:50.958Z
10+labels:
11+ - priority::high
12+body: ""
13+tasks: []
14+comments: []
new file mode 100644
@@ -0,0 +1,14 @@
1+# Managed by IssueSpec. Hand edits are welcome; keep the schema valid.
2+id: 74
3+title: MEMORY-MEMGPT (hierarchic memory)
4+state: open
5+author:
6+ name: k33g
7+ email: ph.charriere@gmail.com
8+createdAt: 2026-10-04T15:12:36.643Z
9+updatedAt: 2026-10-04T15:12:50.958Z
10+labels:
11+ - priority::high
12+body: ""
13+tasks: []
14+comments: []
modified INSTALL.MACOS.md +1 -1
@@ -2,7 +2,7 @@
22
33 ```bash
44 # download the binary release in https://rickub.com/bots-garden/mini-me/releases
5-VERSION=0.2.5
5+VERSION=0.2.6
66 curl -fsSLO "https://rickub.com/bots-garden/mini-me/releases/download/v${VERSION}/mm-${VERSION}-darwin-arm64"
77 chmod +x ./mm-${VERSION}-darwin-arm64
88 xattr -cr ./mm-${VERSION}-darwin-arm64
@@ -2,7 +2,7 @@
2 2
3 ```bash3 ```bash
4 # download the binary release in https://rickub.com/bots-garden/mini-me/releases4 # download the binary release in https://rickub.com/bots-garden/mini-me/releases
5-VERSION=0.2.55+VERSION=0.2.6
6 curl -fsSLO "https://rickub.com/bots-garden/mini-me/releases/download/v${VERSION}/mm-${VERSION}-darwin-arm64"6 curl -fsSLO "https://rickub.com/bots-garden/mini-me/releases/download/v${VERSION}/mm-${VERSION}-darwin-arm64"
7 chmod +x ./mm-${VERSION}-darwin-arm647 chmod +x ./mm-${VERSION}-darwin-arm64
8 xattr -cr ./mm-${VERSION}-darwin-arm648 xattr -cr ./mm-${VERSION}-darwin-arm64
modified docker-sbx-v3/build.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx-v3/check-kits.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx-v3/kits/mm-acp/mm-acp.yaml +1 -1
@@ -48,7 +48,7 @@ args:
4848 pattern: '^[a-z0-9][a-z0-9._/:-]*$'
4949 buildArg: MM_IMAGE
5050 tag:
51- default: "0.2.5"
51+ default: "0.2.6"
5252 description: >-
5353 Tag of the template image: mm's version without the "v", as
5454 docker-sbx-v3/build.sh tags it (and rewrites this default to). Also the
@@ -48,7 +48,7 @@ args:
48 pattern: '^[a-z0-9][a-z0-9._/:-]*$'48 pattern: '^[a-z0-9][a-z0-9._/:-]*$'
49 buildArg: MM_IMAGE49 buildArg: MM_IMAGE
50 tag:50 tag:
51- default: "0.2.5"51+ default: "0.2.6"
52 description: >-52 description: >-
53 Tag of the template image: mm's version without the "v", as53 Tag of the template image: mm's version without the "v", as
54 docker-sbx-v3/build.sh tags it (and rewrites this default to). Also the54 docker-sbx-v3/build.sh tags it (and rewrites this default to). Also the
modified docker-sbx-v3/kits/mm-tui/mm-tui.yaml +1 -1
@@ -48,7 +48,7 @@ args:
4848 pattern: '^[a-z0-9][a-z0-9._/:-]*$'
4949 buildArg: MM_IMAGE
5050 tag:
51- default: "0.2.5"
51+ default: "0.2.6"
5252 description: >-
5353 Tag of the template image: mm's version without the "v", as
5454 docker-sbx-v3/build.sh tags it (and rewrites this default to). Also the
@@ -48,7 +48,7 @@ args:
48 pattern: '^[a-z0-9][a-z0-9._/:-]*$'48 pattern: '^[a-z0-9][a-z0-9._/:-]*$'
49 buildArg: MM_IMAGE49 buildArg: MM_IMAGE
50 tag:50 tag:
51- default: "0.2.5"51+ default: "0.2.6"
52 description: >-52 description: >-
53 Tag of the template image: mm's version without the "v", as53 Tag of the template image: mm's version without the "v", as
54 docker-sbx-v3/build.sh tags it (and rewrites this default to). Also the54 docker-sbx-v3/build.sh tags it (and rewrites this default to). Also the
modified docker-sbx-v3/publish.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx-v3/push-kits.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx-v3/sync-kits.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/build.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/mcp/github-mcp.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/publish.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/push-kits.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/sync-kits.sh +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/template/mm-acp-info +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified docker-sbx/template/mm-tui +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified tests/tool-order/proxy.py +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644
modified tests/tool-order/session.py +0 -0
old mode 100755
new mode 100644
old mode 100755
new mode 100644