Skip to content

Commit cd31a97

Browse files
fix(goal): update docs
Statistics: 34 files changed, 697 insertions, 152 deletions Summary: - Dirs: .vdisplay=12, src=10, .=3, .nlp2dsl=2, packages=2, tests=2 - Exts: .py=14, .json=10, .less=2, .md=2, .yaml=2, .yml=1 - A/M/D: 12/22/0 - Added: .vdisplay/2026-06-10T14-32-42Z__local__cli/README.md, .vdisplay/2026-06-10T14-32-42Z__local__cli/env.json, .vdisplay/2026-06-10T14-32-42Z__local__cli/index.jsonl, .vdisplay/2026-06-10T14-32-42Z__local__cli/index.pb, .vdisplay/2026-06-10T14-32-42Z__local__cli/projections/backend_scores.json, .vdisplay/2026-06-10T14-32-42Z__local__cli/projections/control_state.json, .vdisplay/2026-06-10T14-32-42Z__local__cli/projections/map_health.json, .vdisplay/2026-06-10T14-32-42Z__local__cli/session.json ... - Symbols: _auto_readiness_can_continue_without_plugin, build_daemon_metadata, _source_root, _resolve_source_root, _chat_selectors_for Added files: - .vdisplay/2026-06-10T14-32-42Z__local__cli/README.md (+27/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/env.json (+7/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/index.jsonl (+4/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/index.pb (+0/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/projections/backend_scores.json (+1/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/projections/control_state.json (+29/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/projections/map_health.json (+4/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/session.json (+44/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/steps/0001/command.dsl.txt (+1/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/steps/0001/diagnostics.json (+1/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/steps/0001/request.json (+62/-0) - .vdisplay/2026-06-10T14-32-42Z__local__cli/steps/0001/result.json (+73/-0) Modified files: - .github/workflows/native-ide-matrix.yml (+3/-3) - .koru/project.json (+1/-1) - .nlp2dsl/environment.doql.less (+30/-30) - .nlp2dsl/registry/environment.doql.less (+30/-30) - README.md (+3/-3) - goal.yaml (+16/-16) - packages/coru/src/coru/cli.py (+172/-50) - packages/coru/tests/test_coru_cli.py (+4/-0) - plugins/koru-autopilot-vscode/package.json (+2/-2) - src/koru/autonomous_readiness.py (+3/-1) - src/koru/autonomous_runtime.py (+35/-3) - src/koru/autonomy/env.py (+7/-0) - src/koru/autopilot/cli_parser.py (+6/-0) - src/koru/autopilot/commands/manage.py (+8/-2) - src/koru/autopilot/daemon_cli.py (+4/-1) - src/koru/autopilot/install_manager.py (+21/-3) - src/koru/integrations/vdisplay_client.py (+26/-3) - src/koruide/daemon/metadata.py (+17/-2) - src/koruide/plugin_version.py (+1/-1) - tests/test_autonomous_readiness.py (+30/-0) - ... and 2 more Implementation notes (heuristics): - Type inferred from file paths + diff keywords + add/delete ratio - Scope prefers 'goal' when goal/* is touched; otherwise based on top-level dirs - For <=6 files: generate short per-file notes from added lines (defs/classes/click options/headings) - A/M/D derived from git name-status; per-file +X/-X from git numstat Co-authored-by: Koru Agent <agent@coru.dev>
1 parent 66d42a9 commit cd31a97

40 files changed

Lines changed: 727 additions & 159 deletions

.github/workflows/native-ide-matrix.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
import sys
4242
4343
args = set(sys.argv[1:])
44-
version = os.environ.get("KORU_FAKE_EXTENSION_VERSION", "0.2.5")
44+
version = os.environ.get("KORU_FAKE_EXTENSION_VERSION", "0.2.6")
4545
if "--list-extensions" in args and "--show-versions" in args:
4646
print(f"semcod.koru-autopilot-vscode@{version}")
4747
elif "--list-extensions" in args:
@@ -80,7 +80,7 @@ jobs:
8080
KORU_HEADLESS: "1"
8181
KORU_HEADLESS_ALLOW_AUTOPILOT: "1"
8282
KORU_AUTOPILOT_ALLOW_KEYBOARD_FALLBACK: "1"
83-
KORU_FAKE_EXTENSION_VERSION: "0.2.5"
83+
KORU_FAKE_EXTENSION_VERSION: "0.2.6"
8484
XDG_RUNTIME_DIR: ${{ runner.temp }}
8585
run: python -m pytest tests/test_docker_ide_matrix.py -q
8686

@@ -105,6 +105,6 @@ jobs:
105105
env:
106106
KORU_AUTOPILOT_IDE: ${{ matrix.ide }}
107107
KORU_AUTOPILOT_INSTANCE: ${{ matrix.ide }}
108-
KORU_FAKE_EXTENSION_VERSION: "0.2.5"
108+
KORU_FAKE_EXTENSION_VERSION: "0.2.6"
109109
XDG_RUNTIME_DIR: ${{ runner.temp }}
110110
run: python -m koru.cli autopilot manage --ide "${{ matrix.ide }}" --format json

.koru/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
"runtime_dir": ".planfile/.koru",
55
"schema": "koru.project/v1",
66
"source": "auto",
7-
"updated_at": "2026-06-10T09:50:07.502880+00:00"
7+
"updated_at": "2026-06-10T14:50:08.690701+00:00"
88
}

.nlp2dsl/environment.doql.less

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// DOQL system map — koru
22
// role: LLM-generated schema (SystemMapIR → DOQL)
33
// format: nlp2dsl.system_map.v1
4-
// generated: 2026-06-09T13:22:46.987386+00:00
4+
// generated: 2026-06-10T14:50:11.216782+00:00
55

66
environment[name="koru"] {
7-
generated_at: "2026-06-09T13:22:42.022447+00:00";
7+
generated_at: "2026-06-10T14:50:09.959789+00:00";
88
}
99

1010
data {
@@ -13,20 +13,20 @@ data {
1313
desktop.canvas_width: 8416;
1414
desktop.display_count: 3;
1515
desktop.displays: [{'id': 'DP-1', 'width': 4096, 'height': 2560, 'left': 0, 'top': 1304, 'is_primary': False, 'output': 'DP-1', 'index': 0}, {'id': 'DP-2', 'width': 4320, 'height': 7680, 'left': 4096, 'top': 0, 'is_primary': True, 'output': 'DP-2', 'index': 1}, {'id': 'HDMI-1', 'width': 4096, 'height': 2560, 'left': 0, 'top': 3864, 'is_primary': False, 'output': 'HDMI-1', 'index': 2}];
16-
desktop.ide_calibration.cursor: {'ide': 'cursor', 'chat_x': 8151, 'chat_y': 68, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 4055, 'display_y': 68, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'};
17-
desktop.ide_calibration.jetbrains: {'ide': 'jetbrains', 'chat_x': 2058, 'chat_y': 2137, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 2058, 'display_y': 833, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'};
18-
desktop.ide_calibration.main: {'ide': 'main', 'chat_x': 4020, 'chat_y': 3547, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 4020, 'display_y': 2243, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'};
19-
desktop.ide_calibration.vscode: {'ide': 'vscode', 'chat_x': 1498, 'chat_y': 3629, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 1498, 'display_y': 2325, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'};
20-
desktop.ide_calibration.windsurf: {'ide': 'windsurf', 'chat_x': 7531, 'chat_y': 970, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3435, 'display_y': 970, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'};
16+
desktop.ide_calibration.cursor: {'ide': 'cursor', 'chat_x': 8151, 'chat_y': 68, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 4055, 'display_y': 68, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'};
17+
desktop.ide_calibration.jetbrains: {'ide': 'jetbrains', 'chat_x': 7652, 'chat_y': 825, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3556, 'display_y': 825, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'};
18+
desktop.ide_calibration.main: {'ide': 'main', 'chat_x': 4020, 'chat_y': 3547, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 4020, 'display_y': 2243, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'};
19+
desktop.ide_calibration.vscode: {'ide': 'vscode', 'chat_x': 1498, 'chat_y': 3629, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 1498, 'display_y': 2325, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'};
20+
desktop.ide_calibration.windsurf: {'ide': 'windsurf', 'chat_x': 7531, 'chat_y': 970, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3435, 'display_y': 970, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'};
2121
desktop.ide_calibration_count: 5;
22-
desktop.ide_calibrations: [{'ide': 'cursor', 'chat_x': 8151, 'chat_y': 68, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 4055, 'display_y': 68, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'}, {'ide': 'jetbrains', 'chat_x': 2058, 'chat_y': 2137, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 2058, 'display_y': 833, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'}, {'ide': 'main', 'chat_x': 4020, 'chat_y': 3547, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 4020, 'display_y': 2243, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'}, {'ide': 'vscode', 'chat_x': 1498, 'chat_y': 3629, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 1498, 'display_y': 2325, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'}, {'ide': 'windsurf', 'chat_x': 7531, 'chat_y': 970, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3435, 'display_y': 970, 'window_id': None, 'calibrated_at': '2026-06-08T13:34:27.347043+00:00'}];
22+
desktop.ide_calibrations: [{'ide': 'cursor', 'chat_x': 8151, 'chat_y': 68, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 4055, 'display_y': 68, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'}, {'ide': 'jetbrains', 'chat_x': 7652, 'chat_y': 825, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3556, 'display_y': 825, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'}, {'ide': 'main', 'chat_x': 4020, 'chat_y': 3547, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 4020, 'display_y': 2243, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'}, {'ide': 'vscode', 'chat_x': 1498, 'chat_y': 3629, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-1', 'display_output': 'DP-1', 'display_x': 1498, 'display_y': 2325, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'}, {'ide': 'windsurf', 'chat_x': 7531, 'chat_y': 970, 'config_path': '/home/tom/.koru/ide-os-injector.json', 'source': 'global', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3435, 'display_y': 970, 'window_id': None, 'calibrated_at': '2026-06-09T14:35:37.703691+00:00'}];
2323
desktop.platform: "linux";
24-
desktop.pointer: {'x': 7631, 'y': 1451, 'screen': 0, 'window_id': '913', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3535, 'display_y': 1451};
24+
desktop.pointer: {'x': 7524, 'y': 679, 'screen': 0, 'window_id': '913', 'display_id': 'DP-2', 'display_output': 'DP-2', 'display_x': 3428, 'display_y': 679};
2525
desktop.pointer_display: "DP-2";
26-
desktop.pointer_display_x: 3535;
27-
desktop.pointer_display_y: 1451;
28-
desktop.pointer_x: 7631;
29-
desktop.pointer_y: 1451;
26+
desktop.pointer_display_x: 3428;
27+
desktop.pointer_display_y: 679;
28+
desktop.pointer_x: 7524;
29+
desktop.pointer_y: 679;
3030
desktop.session: "ubuntu:GNOME";
3131
desktop.window_count: 0;
3232
mcp.commands[koru_desktop_uri_get_getv_var].alias.desktop_uri_get_getv_var: "desktop uri get getv var";
@@ -202,7 +202,7 @@ runtimes[7] {
202202
kind: "external";
203203
uri: "curllm://execute";
204204
roles: "llm_browser,form_fill,captcha_solver,extraction";
205-
status: "unknown";
205+
status: "available";
206206
}
207207

208208
desktop {
@@ -211,21 +211,21 @@ desktop {
211211
status: "available";
212212
compositor: "wayland";
213213
display_server: "wayland";
214-
probed_at: "2026-06-09T13:22:42.046199+00:00";
214+
probed_at: "2026-06-10T14:50:09.969783+00:00";
215215
tools_used: ide-os-injector,xdotool,xrandr;
216216
canvas_width: 8416;
217217
canvas_height: 7680;
218218
}
219219

220220
desktop_pointer {
221-
x: 7631;
222-
y: 1451;
221+
x: 7524;
222+
y: 679;
223223
screen: 0;
224224
window_id: "913";
225225
display_id: "DP-2";
226226
display_output: "DP-2";
227-
display_x: 3535;
228-
display_y: 1451;
227+
display_x: 3428;
228+
display_y: 679;
229229
}
230230

231231
desktop_displays[0] {
@@ -271,20 +271,20 @@ desktop_ide_calibrations[0] {
271271
display_output: "DP-2";
272272
display_x: 4055;
273273
display_y: 68;
274-
calibrated_at: "2026-06-08T13:34:27.347043+00:00";
274+
calibrated_at: "2026-06-09T14:35:37.703691+00:00";
275275
}
276276

277277
desktop_ide_calibrations[1] {
278278
ide: "jetbrains";
279-
chat_x: 2058;
280-
chat_y: 2137;
279+
chat_x: 7652;
280+
chat_y: 825;
281281
config_path: "/home/tom/.koru/ide-os-injector.json";
282282
source: "global";
283-
display_id: "DP-1";
284-
display_output: "DP-1";
285-
display_x: 2058;
286-
display_y: 833;
287-
calibrated_at: "2026-06-08T13:34:27.347043+00:00";
283+
display_id: "DP-2";
284+
display_output: "DP-2";
285+
display_x: 3556;
286+
display_y: 825;
287+
calibrated_at: "2026-06-09T14:35:37.703691+00:00";
288288
}
289289

290290
desktop_ide_calibrations[2] {
@@ -297,7 +297,7 @@ desktop_ide_calibrations[2] {
297297
display_output: "DP-1";
298298
display_x: 4020;
299299
display_y: 2243;
300-
calibrated_at: "2026-06-08T13:34:27.347043+00:00";
300+
calibrated_at: "2026-06-09T14:35:37.703691+00:00";
301301
}
302302

303303
desktop_ide_calibrations[3] {
@@ -310,7 +310,7 @@ desktop_ide_calibrations[3] {
310310
display_output: "DP-1";
311311
display_x: 1498;
312312
display_y: 2325;
313-
calibrated_at: "2026-06-08T13:34:27.347043+00:00";
313+
calibrated_at: "2026-06-09T14:35:37.703691+00:00";
314314
}
315315

316316
desktop_ide_calibrations[4] {
@@ -323,7 +323,7 @@ desktop_ide_calibrations[4] {
323323
display_output: "DP-2";
324324
display_x: 3435;
325325
display_y: 970;
326-
calibrated_at: "2026-06-08T13:34:27.347043+00:00";
326+
calibrated_at: "2026-06-09T14:35:37.703691+00:00";
327327
}
328328

329329
commands[0] {

0 commit comments

Comments
 (0)