🛟 Updated.
eafbba2 parent: cbfcb19 modified
.tickets/issues/0075-add-kronk-provider.yaml +14 -2 | @@ -1,12 +1,12 @@ | ||
| 1 | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | 2 | id: 75 |
| 3 | 3 | title: Add Kronk provider |
| 4 | -state: open | |
| 4 | +state: closed | |
| 5 | 5 | author: |
| 6 | 6 | name: k33g |
| 7 | 7 | email: ph.charriere@gmail.com |
| 8 | 8 | createdAt: 2026-10-06T03:58:37.611Z |
| 9 | -updatedAt: 2026-11-11T07:00:31.000Z | |
| 9 | +updatedAt: 2026-11-11T08:01:26.000Z | |
| 10 | 10 | labels: |
| 11 | 11 | - kind::feature |
| 12 | 12 | - priority::medium |
| @@ -330,4 +330,16 @@ comments: | ||
| 330 | 330 | |
| 331 | 331 | Seen with Qwopus: a turn ended with the answer only in the reasoning |
| 332 | 332 | (`⚠ empty answer`). That comes from the model, not from the provider. |
| 333 | + - id: 3 | |
| 334 | + author: | |
| 335 | + name: k33g | |
| 336 | + email: ph.charriere@gmail.com | |
| 337 | + createdAt: 2026-11-11T08:01:26.000Z | |
| 338 | + body: | | |
| 339 | + Merged into main (cbfcb19). Closed at the user's request. | |
| 340 | + | |
| 341 | + Task 9 stays open as a reminder; these points were never checked live: | |
| 342 | + - a real `autoPull` download; | |
| 343 | + - a compaction; | |
| 344 | + - a protected Kronk (`KRONK_TOKEN`). | |
| 333 | 345 | |
| @@ -1,12 +1,12 @@ | |||
| 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | id: 75 | 2 | id: 75 |
| 3 | title: Add Kronk provider | 3 | title: Add Kronk provider |
| 4 | -state: open | 4 | +state: closed |
| 5 | author: | 5 | author: |
| 6 | name: k33g | 6 | name: k33g |
| 7 | email: ph.charriere@gmail.com | 7 | email: ph.charriere@gmail.com |
| 8 | createdAt: 2026-10-06T03:58:37.611Z | 8 | createdAt: 2026-10-06T03:58:37.611Z |
| 9 | -updatedAt: 2026-11-11T07:00:31.000Z | 9 | +updatedAt: 2026-11-11T08:01:26.000Z |
| 10 | labels: | 10 | labels: |
| 11 | - kind::feature | 11 | - kind::feature |
| 12 | - priority::medium | 12 | - priority::medium |
| @@ -330,4 +330,16 @@ comments: | |||
| 330 | 330 | ||
| 331 | Seen with Qwopus: a turn ended with the answer only in the reasoning | 331 | Seen with Qwopus: a turn ended with the answer only in the reasoning |
| 332 | (`⚠ empty answer`). That comes from the model, not from the provider. | 332 | (`⚠ empty answer`). That comes from the model, not from the provider. |
| 333 | + - id: 3 | ||
| 334 | + author: | ||
| 335 | + name: k33g | ||
| 336 | + email: ph.charriere@gmail.com | ||
| 337 | + createdAt: 2026-11-11T08:01:26.000Z | ||
| 338 | + body: | | ||
| 339 | + Merged into main (cbfcb19). Closed at the user's request. | ||
| 340 | + | ||
| 341 | + Task 9 stays open as a reminder; these points were never checked live: | ||
| 342 | + - a real `autoPull` download; | ||
| 343 | + - a compaction; | ||
| 344 | + - a protected Kronk (`KRONK_TOKEN`). | ||
| 333 | 345 | ||
modified
.tickets/issues/0183-acp-use-the-client-s-fs-and-terminal-services-wh.yaml +58 -3 | @@ -6,12 +6,12 @@ author: | ||
| 6 | 6 | name: k33g |
| 7 | 7 | email: ph.charriere@gmail.com |
| 8 | 8 | createdAt: 2026-10-31T16:39:23.000Z |
| 9 | -updatedAt: 2026-11-11T00:28:50.000Z | |
| 9 | +updatedAt: 2026-11-11T08:07:23.000Z | |
| 10 | 10 | labels: |
| 11 | 11 | - enhancement |
| 12 | 12 | - kind::feature |
| 13 | 13 | - tools |
| 14 | -milestone: v1.0.6 | |
| 14 | +milestone: v2.0.0 | |
| 15 | 15 | epic: ACP integration |
| 16 | 16 | body: | |
| 17 | 17 | ## Context |
| @@ -53,6 +53,41 @@ body: | | ||
| 53 | 53 | - The permission / hook flow (`session/request_permission`, hooks) still |
| 54 | 54 | applies before any delegated operation. |
| 55 | 55 | - Tested with Zed. |
| 56 | + | |
| 57 | + ## Where the delegated work runs (mm in a sandbox, editor on the host) | |
| 58 | + | |
| 59 | + **Today.** Today, ACP works when mm runs in a sandbox and the editor runs on the host: | |
| 60 | + - The editor starts mm in the sandbox and talks to it over stdin/stdout. | |
| 61 | + - Only messages cross that link: the prompt, the answers, and the `tool_call` updates to display. | |
| 62 | + - The tools execute inside the sandbox. | |
| 63 | + | |
| 64 | + **What delegation changes.** With delegation, mm asks the editor to perform the action, so the action runs on the HOST. The two services differ: | |
| 65 | + | |
| 66 | + - **`fs/*`: safe in sbx direct mode (the default).** The project is mounted at the same path inside and outside the sandbox. The editor reads and writes the same file mm would, and an unsaved buffer is even more up to date. | |
| 67 | + - Exception: in `--clone` mode, the sandbox works on its own clone. The editor would then write to the host's copy, not to the sandbox's. | |
| 68 | + - **`terminal/*`: leaves the sandbox.** A delegated `bash` command would run on the host, in the editor's terminal. | |
| 69 | + - It would run without the sandbox's network policy, isolation and installed tools. | |
| 70 | + - For example, an `rm -rf`, or a `curl` to a host the sandbox blocks, would run from the host. | |
| 71 | + | |
| 72 | + ## Proposed defaults | |
| 73 | + | |
| 74 | + - **`fs`**: used when the client advertises it. A config key can turn it off, which is needed for clone mode. | |
| 75 | + - **`terminal`**: off unless the agent file turns it on, e.g. `acp.clientTerminal: true`. | |
| 76 | + - Alternatively, on by default but off when mm detects it runs in a sandbox. This is to be decided. | |
| 77 | + - Enabling it must be a conscious choice, because it takes commands out of the sandbox. | |
| 78 | + - Proposed key names, to be confirmed: `acp.clientFs` and `acp.clientTerminal`. They follow the `acp.clientTools` block of ticket 202. | |
| 79 | + | |
| 80 | + ## Implementation notes | |
| 81 | + | |
| 82 | + - **`edit_file`** = `fs/read_text_file`, then mm applies the exact replacements, then `fs/write_text_file`. The diff returned to the model is still computed by mm. | |
| 83 | + - **`bash` via the terminal** must keep: | |
| 84 | + - `bashTimeout` (kill the terminal when it is reached); | |
| 85 | + - `maxOutput` truncation, aligned with the terminal's `outputByteLimit`; | |
| 86 | + - the `previewLines` echo; | |
| 87 | + - the exit code from `terminal/wait_for_exit`. | |
| 88 | + - Not concerned: `lsp`, `fetch_content`, MCP tools, `read_skill`, client tools (ticket 202). | |
| 89 | + - To check: that acp-go-sdk v0.13.5 exposes these calls on the agent side, as it exposes `CallExtension` for ticket 202. | |
| 90 | + - Suggested order: `fs` first (low risk), then `terminal`. | |
| 56 | 91 | tasks: |
| 57 | 92 | - id: 1 |
| 58 | 93 | title: Read and store fs/terminal client capabilities at initialize |
| @@ -86,6 +121,14 @@ tasks: | ||
| 86 | 121 | name: k33g |
| 87 | 122 | email: ph.charriere@gmail.com |
| 88 | 123 | createdAt: 2026-10-31T16:39:23.000Z |
| 124 | + - id: 6 | |
| 125 | + title: "Config keys: acp.clientFs (default on) and acp.clientTerminal (default off, or off in a sandbox) — decide and document" | |
| 126 | + state: open | |
| 127 | + priority: high | |
| 128 | + author: | |
| 129 | + name: k33g | |
| 130 | + email: ph.charriere@gmail.com | |
| 131 | + createdAt: 2026-11-11T08:07:01.000Z | |
| 89 | 132 | - id: 5 |
| 90 | 133 | title: Manual test in Zed |
| 91 | 134 | state: open |
| @@ -94,4 +137,16 @@ tasks: | ||
| 94 | 137 | name: k33g |
| 95 | 138 | email: ph.charriere@gmail.com |
| 96 | 139 | createdAt: 2026-10-31T16:39:23.000Z |
| 97 | -comments: [] | |
| 140 | +comments: | |
| 141 | + - id: 1 | |
| 142 | + author: | |
| 143 | + name: k33g | |
| 144 | + email: ph.charriere@gmail.com | |
| 145 | + createdAt: 2026-11-11T08:07:01.000Z | |
| 146 | + body: | | |
| 147 | + Clarification from the discussion of 2026-11-11. | |
| 148 | + | |
| 149 | + The sandbox question only matters for `terminal`. `fs` delegation targets | |
| 150 | + the same files in sbx direct mode, because the project is mounted at the | |
| 151 | + same path. `terminal` delegation moves command execution from the sandbox | |
| 152 | + to the host. | |
| @@ -6,12 +6,12 @@ author: | |||
| 6 | name: k33g | 6 | name: k33g |
| 7 | email: ph.charriere@gmail.com | 7 | email: ph.charriere@gmail.com |
| 8 | createdAt: 2026-10-31T16:39:23.000Z | 8 | createdAt: 2026-10-31T16:39:23.000Z |
| 9 | -updatedAt: 2026-11-11T00:28:50.000Z | 9 | +updatedAt: 2026-11-11T08:07:23.000Z |
| 10 | labels: | 10 | labels: |
| 11 | - enhancement | 11 | - enhancement |
| 12 | - kind::feature | 12 | - kind::feature |
| 13 | - tools | 13 | - tools |
| 14 | -milestone: v1.0.6 | 14 | +milestone: v2.0.0 |
| 15 | epic: ACP integration | 15 | epic: ACP integration |
| 16 | body: | | 16 | body: | |
| 17 | ## Context | 17 | ## Context |
| @@ -53,6 +53,41 @@ body: | | |||
| 53 | - The permission / hook flow (`session/request_permission`, hooks) still | 53 | - The permission / hook flow (`session/request_permission`, hooks) still |
| 54 | applies before any delegated operation. | 54 | applies before any delegated operation. |
| 55 | - Tested with Zed. | 55 | - Tested with Zed. |
| 56 | + | ||
| 57 | + ## Where the delegated work runs (mm in a sandbox, editor on the host) | ||
| 58 | + | ||
| 59 | + **Today.** Today, ACP works when mm runs in a sandbox and the editor runs on the host: | ||
| 60 | + - The editor starts mm in the sandbox and talks to it over stdin/stdout. | ||
| 61 | + - Only messages cross that link: the prompt, the answers, and the `tool_call` updates to display. | ||
| 62 | + - The tools execute inside the sandbox. | ||
| 63 | + | ||
| 64 | + **What delegation changes.** With delegation, mm asks the editor to perform the action, so the action runs on the HOST. The two services differ: | ||
| 65 | + | ||
| 66 | + - **`fs/*`: safe in sbx direct mode (the default).** The project is mounted at the same path inside and outside the sandbox. The editor reads and writes the same file mm would, and an unsaved buffer is even more up to date. | ||
| 67 | + - Exception: in `--clone` mode, the sandbox works on its own clone. The editor would then write to the host's copy, not to the sandbox's. | ||
| 68 | + - **`terminal/*`: leaves the sandbox.** A delegated `bash` command would run on the host, in the editor's terminal. | ||
| 69 | + - It would run without the sandbox's network policy, isolation and installed tools. | ||
| 70 | + - For example, an `rm -rf`, or a `curl` to a host the sandbox blocks, would run from the host. | ||
| 71 | + | ||
| 72 | + ## Proposed defaults | ||
| 73 | + | ||
| 74 | + - **`fs`**: used when the client advertises it. A config key can turn it off, which is needed for clone mode. | ||
| 75 | + - **`terminal`**: off unless the agent file turns it on, e.g. `acp.clientTerminal: true`. | ||
| 76 | + - Alternatively, on by default but off when mm detects it runs in a sandbox. This is to be decided. | ||
| 77 | + - Enabling it must be a conscious choice, because it takes commands out of the sandbox. | ||
| 78 | + - Proposed key names, to be confirmed: `acp.clientFs` and `acp.clientTerminal`. They follow the `acp.clientTools` block of ticket 202. | ||
| 79 | + | ||
| 80 | + ## Implementation notes | ||
| 81 | + | ||
| 82 | + - **`edit_file`** = `fs/read_text_file`, then mm applies the exact replacements, then `fs/write_text_file`. The diff returned to the model is still computed by mm. | ||
| 83 | + - **`bash` via the terminal** must keep: | ||
| 84 | + - `bashTimeout` (kill the terminal when it is reached); | ||
| 85 | + - `maxOutput` truncation, aligned with the terminal's `outputByteLimit`; | ||
| 86 | + - the `previewLines` echo; | ||
| 87 | + - the exit code from `terminal/wait_for_exit`. | ||
| 88 | + - Not concerned: `lsp`, `fetch_content`, MCP tools, `read_skill`, client tools (ticket 202). | ||
| 89 | + - To check: that acp-go-sdk v0.13.5 exposes these calls on the agent side, as it exposes `CallExtension` for ticket 202. | ||
| 90 | + - Suggested order: `fs` first (low risk), then `terminal`. | ||
| 56 | tasks: | 91 | tasks: |
| 57 | - id: 1 | 92 | - id: 1 |
| 58 | title: Read and store fs/terminal client capabilities at initialize | 93 | title: Read and store fs/terminal client capabilities at initialize |
| @@ -86,6 +121,14 @@ tasks: | |||
| 86 | name: k33g | 121 | name: k33g |
| 87 | email: ph.charriere@gmail.com | 122 | email: ph.charriere@gmail.com |
| 88 | createdAt: 2026-10-31T16:39:23.000Z | 123 | createdAt: 2026-10-31T16:39:23.000Z |
| 124 | + - id: 6 | ||
| 125 | + title: "Config keys: acp.clientFs (default on) and acp.clientTerminal (default off, or off in a sandbox) — decide and document" | ||
| 126 | + state: open | ||
| 127 | + priority: high | ||
| 128 | + author: | ||
| 129 | + name: k33g | ||
| 130 | + email: ph.charriere@gmail.com | ||
| 131 | + createdAt: 2026-11-11T08:07:01.000Z | ||
| 89 | - id: 5 | 132 | - id: 5 |
| 90 | title: Manual test in Zed | 133 | title: Manual test in Zed |
| 91 | state: open | 134 | state: open |
| @@ -94,4 +137,16 @@ tasks: | |||
| 94 | name: k33g | 137 | name: k33g |
| 95 | email: ph.charriere@gmail.com | 138 | email: ph.charriere@gmail.com |
| 96 | createdAt: 2026-10-31T16:39:23.000Z | 139 | createdAt: 2026-10-31T16:39:23.000Z |
| 97 | -comments: [] | 140 | +comments: |
| 141 | + - id: 1 | ||
| 142 | + author: | ||
| 143 | + name: k33g | ||
| 144 | + email: ph.charriere@gmail.com | ||
| 145 | + createdAt: 2026-11-11T08:07:01.000Z | ||
| 146 | + body: | | ||
| 147 | + Clarification from the discussion of 2026-11-11. | ||
| 148 | + | ||
| 149 | + The sandbox question only matters for `terminal`. `fs` delegation targets | ||
| 150 | + the same files in sbx direct mode, because the project is mounted at the | ||
| 151 | + same path. `terminal` delegation moves command execution from the sandbox | ||
| 152 | + to the host. | ||
modified
.tickets/issues/0194-better-understanding-of-the-code.yaml +1 -2 | @@ -6,9 +6,8 @@ author: | ||
| 6 | 6 | name: k33g |
| 7 | 7 | email: ph.charriere@gmail.com |
| 8 | 8 | createdAt: 2026-11-07T04:16:22.000Z |
| 9 | -updatedAt: 2026-11-11T00:29:35.282Z | |
| 9 | +updatedAt: 2026-11-11T08:01:50.134Z | |
| 10 | 10 | labels: [] |
| 11 | -milestone: v1.0.6 | |
| 12 | 11 | epic: Documentation |
| 13 | 12 | body: "" |
| 14 | 13 | tasks: |
| @@ -6,9 +6,8 @@ author: | |||
| 6 | name: k33g | 6 | name: k33g |
| 7 | email: ph.charriere@gmail.com | 7 | email: ph.charriere@gmail.com |
| 8 | createdAt: 2026-11-07T04:16:22.000Z | 8 | createdAt: 2026-11-07T04:16:22.000Z |
| 9 | -updatedAt: 2026-11-11T00:29:35.282Z | 9 | +updatedAt: 2026-11-11T08:01:50.134Z |
| 10 | labels: [] | 10 | labels: [] |
| 11 | -milestone: v1.0.6 | ||
| 12 | epic: Documentation | 11 | epic: Documentation |
| 13 | body: "" | 12 | body: "" |
| 14 | tasks: | 13 | tasks: |
modified
.tickets/issues/0197-how-to-use-mini-me-to-help-making-suggestions-wh.yaml +1 -2 | @@ -6,9 +6,8 @@ author: | ||
| 6 | 6 | name: k33g |
| 7 | 7 | email: ph.charriere@gmail.com |
| 8 | 8 | createdAt: 2026-11-07T08:02:50.274Z |
| 9 | -updatedAt: 2026-11-11T00:30:34.700Z | |
| 9 | +updatedAt: 2026-11-11T08:02:21.966Z | |
| 10 | 10 | labels: [] |
| 11 | -milestone: v1.0.6 | |
| 12 | 11 | epic: Documentation |
| 13 | 12 | body: "" |
| 14 | 13 | tasks: [] |
| @@ -6,9 +6,8 @@ author: | |||
| 6 | name: k33g | 6 | name: k33g |
| 7 | email: ph.charriere@gmail.com | 7 | email: ph.charriere@gmail.com |
| 8 | createdAt: 2026-11-07T08:02:50.274Z | 8 | createdAt: 2026-11-07T08:02:50.274Z |
| 9 | -updatedAt: 2026-11-11T00:30:34.700Z | 9 | +updatedAt: 2026-11-11T08:02:21.966Z |
| 10 | labels: [] | 10 | labels: [] |
| 11 | -milestone: v1.0.6 | ||
| 12 | epic: Documentation | 11 | epic: Documentation |
| 13 | body: "" | 12 | body: "" |
| 14 | tasks: [] | 13 | tasks: [] |