João Salavisa
5df7d5be7f
test(gitlab): make the package's tests hermetic against ambient env ( #2495 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-10 19:41:24 +01:00
João Salavisa
4863b73ff0
test(backend): cover SSH and Sprites executor lifecycle paths ( #2493 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-10 19:04:44 +01:00
Carlos Florêncio
4e0c1a3705
feat(launcher): move make dev to the native Go launcher ( #2411 )
2026-08-10 18:14:45 +01:00
João Salavisa
f6fc6b3c72
fix(github): copy the watch handed to the initial-check goroutine ( #2492 )
2026-08-10 18:04:52 +02:00
João Salavisa
a6a26911b7
test(backend): cover the untested sqlite task-repository surfaces ( #2490 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-10 16:14:29 +01:00
Carlos Florêncio
4f2cf8f9df
fix: separate debug and development launch profiles ( #2487 )
2026-08-10 15:44:31 +01:00
Carlos Florêncio
152e5a34c0
fix: normalize OMP shell command output ( #2480 ) ( #2486 )
2026-08-10 15:42:19 +01:00
Carlos Florêncio
3c973ce8b4
refactor(lifecycle): split execution creation ( #2382 ) ( #2485 )
2026-08-10 13:31:58 +01:00
João Salavisa
ac54f96e44
test(backend): assert three mutation-surviving code paths ( #2481 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-08-10 11:18:44 +01:00
Alassane
c0f5750bca
fix(github): unify CI auto-fix direct-dispatch metadata ( #2469 )
...
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com >
2026-08-10 10:21:56 +01:00
nova28
258840fd9f
feat(automations): add github_pr_merged trigger type ( #2462 )
...
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-10 10:13:52 +01:00
João Salavisa
ed04825bb2
fix(lifecycle): guard agent execution metadata against concurrent map access ( #2472 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-08-09 23:54:43 +01:00
João Salavisa
e47f7c59f7
fix(git): ignore inherited indexed Git config beyond GIT_CONFIG_COUNT ( #2475 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-08-09 23:48:44 +01:00
João Salavisa
01d6e8db77
fix(task): home borrowed environments in the worktree cutover ( #2473 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-08-09 23:31:43 +01:00
Carlos Florêncio
84ce139b35
fix(task): recover cutover from stale session metadata ( #2471 )
2026-08-09 22:45:46 +01:00
Carlos Florêncio
52be8b8e47
fix: guard backend runtime-state ownership ( #2468 )
2026-08-09 21:44:52 +01:00
Clément Fiere
e4bc3be8b1
feat: no silent model fallback — explicit failure, gone models, per-profile fallback ( #2385 )
...
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-09 21:44:25 +01:00
Carlos Florêncio
0b60af298e
feat: add task autopilot mode and MCP profiles ( #2445 )
2026-08-09 20:29:48 +01:00
João Salavisa
d6e2c358da
refactor(task): share task-plan WS error mapping across both surfaces ( #2465 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-09 18:38:14 +01:00
Carlos Florêncio
1928f258bf
feat: use agent profiles for utility agents ( #2430 )
2026-08-09 18:36:08 +01:00
nova28
d7f640f8ab
fix(worktree): destroy every repo's worktree during multi-repo task cleanup ( #2460 )
...
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-09 18:21:44 +01:00
Carlos Florêncio
f4bc7f0a8c
feat: add Dev and Preview title prefixes ( #2464 )
2026-08-09 18:12:08 +01:00
nova28
e035a0c355
feat(tasks): add external_id create idempotency ( #2440 )
...
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-09 18:07:23 +01:00
Carlos Florêncio
8e56a3a7f7
feat(storage): add owned temporary artifact cleanup ( #2444 )
2026-08-09 17:57:47 +01:00
Carlos Florêncio
abc05be59e
fix(task): recover legacy worktree ownership cutover ( #2463 )
2026-08-09 17:37:48 +01:00
Carlos Florêncio
2832170eb4
fix(task): preserve task-owned worktrees across session deletion ( #2456 )
2026-08-09 12:05:48 +01:00
Aulma
14d91f5e3d
feat: add configurable browser tab title prefix ( #2459 )
2026-08-09 12:02:44 +01:00
Clément Fiere
bd95054997
feat: reorder queued messages by drag and drop ( #2420 )
...
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-09 12:00:21 +01:00
Carlos Florêncio
bbdd426776
fix: support unitless slow durations ( #2450 )
2026-08-09 11:54:09 +01:00
nova28
b309d2beb6
fix(web): render workflow description in settings ( #2418 )
2026-08-09 11:49:04 +01:00
João Salavisa
c5c591b60b
refactor(pty): collapse duplicated PTY and cmdline helpers into common/ptyexec ( #2457 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-09 01:03:13 +01:00
João Salavisa
46021e7d23
fix(github): persist PR state from the feedback fetch so surfaces agree ( #2449 )
...
PR state was written by two flows and the second one could not persist: the feedback fetch returned live PR data without saving it, and the browser patched its own store copy instead. Opening a PR's detail panel turned that tab purple while the kanban card and boot payload still read state=open, and a reload snapped it back.
The backend is now the only writer — the feedback read reconciles through SyncTaskPR and publishes github.task_pr.updated, so every surface converges and the state survives a reload. SyncTaskPR also refuses to move a row out of merged, since GitHub cannot un-merge a PR.
2026-08-09 00:32:43 +02:00
João Salavisa
66af951574
fix(workflow): publish step created/updated events from the REST surface ( #2438 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-08 21:54:22 +01:00
João Salavisa
f344fc3774
fix(github): sync PR rows no watch points at so merged PRs stop reading as open ( #2429 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-08 21:03:02 +01:00
João Salavisa
deb39de837
feat: add list_task_sessions_kandev MCP tool ( #2442 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-08-08 22:02:48 +02:00
Carlos Florêncio
5b13f43d80
feat: add provider-neutral agent error recovery ( #2437 )
2026-08-08 19:59:51 +01:00
Carlos Florêncio
4c1207cbe5
fix: contain backend runtime failure paths ( #2431 )
2026-08-08 19:59:25 +01:00
Carlos Florêncio
1c843f68e5
fix: prepare SSH workspaces before agentctl ( #2413 ) ( #2439 )
2026-08-08 19:52:00 +01:00
João Manso
ff94d3d5ab
fix(agentctl): accept the Windows executable suffix in the ACP probe allow-list ( #2422 )
2026-08-08 19:33:19 +01:00
Carlos Florêncio
7133b132f6
feat(storage): speed up scans and add dependency cleanup ( #2432 )
2026-08-08 19:30:05 +01:00
Carlos Florêncio
317dac7837
fix: remember task-create workflows per workspace ( #2428 )
2026-08-08 18:59:27 +01:00
João Salavisa
d5b1986f45
refactor(runs): funnel run cancellation through one guarded writer ( #2435 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-08-08 18:48:30 +01:00
João Salavisa
1afc96ea41
fix(agentctl): size file-search results from trusted bounds ( #2434 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-08 19:38:34 +02:00
João Salavisa
70e6eb8895
fix(git): count diff lines by hunk position, not by "+++"/"---" prefix ( #2427 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-08 19:17:09 +02:00
Carlos Florêncio
fb1d8fdcd7
fix: prevent premature pending-action clearing ( #2424 )
2026-08-08 17:19:24 +01:00
Carlos Florêncio
cd1d19ae65
feat: resolve model-dependent provider options ( #2404 )
2026-08-08 17:13:50 +01:00
nova28
ecd70a9535
fix(workflow): resolve configure_session agent families so per-step models apply ( #2414 )
...
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com >
2026-08-08 16:29:38 +01:00
Alassane
131ef6f6c2
feat(gitlab): add MR auto-fix, auto-merge, hover preview, badge ( #2301 )
2026-08-08 16:01:39 +01:00
João Manso
247c0591c2
fix(agentctl): extend the inherited PATH key when prepending the GitHub CLI shim ( #2415 )
2026-08-08 14:44:54 +01:00
nova28
f8acc2a7f5
feat(health): surface kandev version on /health ( #2416 )
2026-08-08 14:43:51 +01:00