Commit Graph

255 Commits

Author SHA1 Message Date
Carlos Florêncio 3fba828e2f fix: recover failed task launches safely (#3437) 2026-09-07 11:19:09 +01:00
Henry 0b368b3a8e fix(office): stop reviewer and approver comments showing under the assignee's name (#3444)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-06 21:28:10 +01:00
Alassane 9b9f347148 feat(executor): per-profile opt-in for unprivileged user namespaces 2026-09-06 11:30:40 +01:00
Carlos Florêncio d74e85883d feat: add plugin-backed canvases (#3111) 2026-09-05 18:44:43 +00:00
João Salavisa 481359ddb2 feat(auth): organization units, tenancy, roles and scopes for team access (#2919)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 13:40:43 +00:00
Henry f91fd4611e fix(backend): recover dynamic agent routes stuck in starting with no owner (#3362)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-04 17:42:52 +00:00
WaleWangPW b557cf442c fix: reject stale executor transition workspaces (#3354)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-04 13:49:06 +00:00
Henry e66bf620cd fix(agent): cap the plan text pasted into every new agent session (#3280)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-02 18:49:39 +00:00
Corey Fogg 17da0aafe3 fix(agent): materialize attachments sent into a generating turn (#3277)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-02 16:55:33 +00:00
José Almeida 0064b9fb5a feat: add Kubernetes executor (#3261) 2026-09-02 13:50:03 +00:00
Henry 63f47a692f fix(backend): stop office agents from spawning duplicate concurrent sessions (#3253)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-01 17:57:17 +00:00
Henry 84c83c3d58 fix: stop subtasks launching into a deleted parent workspace (#3235)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-01 16:35:33 +00:00
Ivan Turkovic 1dc06e8298 fix(agentctl): accept the automation MCP mode at the instance API (#3193)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-01 00:39:24 +00:00
Henry 83b125f690 fix(backend): repair office session race guard that could never trigger (#3228)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-31 23:30:57 +00:00
Carlos Florêncio 4e3dc91607 feat(agents): add explicit branch recovery for resumed sessions (#3216) 2026-08-31 21:52:46 +00:00
Carlos Florêncio 0a0fb2d134 fix: support stacked PR base retargeting for review-watch worktrees (#3199) 2026-08-31 17:59:31 +00:00
Alassane 03ad1a622d fix: make worktree cleanup auditable and retryable (#3178)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-31 11:21:48 +00:00
Carlos Florêncio 07da130284 fix(git): keep shared-environment status authoritative (#3173) 2026-08-31 10:18:03 +00:00
Carlos Florêncio a96f0d51b5 fix: support empty remote task worktrees (#3172) 2026-08-31 03:26:51 +00:00
Carlos Florêncio b2764dae7a fix: preserve recovered workspace path (#3167) 2026-08-30 19:46:32 +00:00
Henry bf84fb52bd fix(backend): rescue tasks stuck running forever after a silent agent stall (#2975)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-28 00:29:41 +00:00
Carlos Florêncio c2e2b3a430 fix: reconcile prepared workspace origins (#3077) 2026-08-27 13:13:28 +00:00
Carlos Florêncio e4d17b3925 fix: resolve GitHub clone protocol per host (#3078) 2026-08-27 10:25:37 +00:00
João Salavisa 0e4ae865dc fix: reuse inherited task environment on session resume (#3081) 2026-08-27 11:12:47 +01:00
Henry 335d80bf66 fix(task): prevent ready task environments with empty repo inventory (#3008)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-26 23:00:36 +00:00
Carlos Florêncio fe0bda1e07 feat(workspaces): add repository branch policies (#2997) 2026-08-26 11:09:00 +00:00
Carlos Florêncio 527cf1e9fa fix(worktree): fail closed on required repository refresh (#3023) 2026-08-26 08:54:31 +00:00
Henry 8f21873d45 feat(ssh): reclaim remote task directories on terminal archive or delete (#3000)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-25 06:56:59 +00:00
Carlos Florêncio 29289520c7 feat(automation): add configurable continuation and coordinator access (#2943) 2026-08-24 22:04:54 +00:00
Luan Martins a728a0fed7 fix(agent-runtime): retain executions when runtime stop fails (#2998)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-24 20:39:45 +00:00
Carlos Florêncio 42cd897dfb fix(orchestrator): gate worktree reuse on live inventory (#2987) 2026-08-24 19:50:42 +00:00
Carlos Florêncio b69d2d9ca0 fix: preserve task worktree identity on inventory refresh (#2980) 2026-08-24 13:53:31 +00:00
Carlos Florêncio 832734bb67 docs: migrate legacy specs and add product context (#2964) 2026-08-24 11:09:03 +00:00
Alassane 0a45728753 fix: reuse task workspaces for additional sessions (#2843)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-23 21:24:01 +00:00
nova28 c82668c789 feat(mcp): expose agent clarification questions and permission requests externally (#2875)
Co-authored-by: Vojtěch Biberle <vojtech.biberle@gmail.com>
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-22 15:39:40 +00:00
Carlos Florêncio cf391bab8b feat(git): use repository-qualified PR comparison targets (#2828) 2026-08-21 22:04:44 +01:00
Carlos Florêncio 94e7b0245f feat(routing): add dynamic agent profile routing (#2698) 2026-08-21 22:04:17 +01:00
Carlos Florêncio d99092e09c fix: add durable task launch failure recovery (#2832) 2026-08-21 16:39:47 +01:00
WaleWangPW e711e8d993 fix(credentials): reissue managed git leases (#2850)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-20 19:34:22 +01:00
Clément Fiere 0d865c9bb8 feat(prompt-history): add prompt numbers and auto-load older pages (#2814) 2026-08-19 21:28:01 +01:00
Alassane 9b99b7d1fd fix(backend): validate managed Git credential identity before session launch (#2787)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-19 07:50:20 +01:00
nova28 9fe867f9fe feat(backend): add tiered environment-variable precedence for launch resolution (#2748)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-17 21:20:12 +00:00
José Almeida 7e2c4ae84e fix: enforce active clarification lifecycle (#2669) 2026-08-17 11:14:12 +00:00
João Salavisa b3e8fafbc3 test: pin managed credentials and persistence against SSH repository remotes (#2728)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-17 08:40:33 +00:00
Carlos Florêncio 7c96621de1 feat: add executor parity safeguards (#2704) 2026-08-16 21:13:41 +00:00
João Salavisa f814859ab2 fix(credentials): accept SSH remotes and canonical scope paths for managed Git credentials (#2678)
Managed GitHub credentials compared a repository's scope identity verbatim
across sides that spell it differently.

A repository cloned over SSH stores an SSH remote_url, which kandev itself
backfills for local-path repositories, and the strict scheme assertion added in
#2117 then rejected the launch with "must use an HTTPS clone URL for managed
credentials". Credential identity now comes from the persisted provider
identity, whose host carries the real HTTPS origin including a non-default
port, falling back to rewriting a non-HTTPS remote in place. Issuance and
authorization derive it the same way, so they cannot disagree. Cloning is
untouched.

Scope paths are compared through one canonical form (no trailing slash, no
".git") at the shim, the broker redemption, and the backend authorizer, so the
suffix never decides whether a lease matches. Lease scopes still carry the exact
path their provider resolver was issued for, because plugin providers compare it
verbatim.

Closes #2673
Closes #2675
2026-08-16 10:04:06 +01:00
Carlos Florêncio 15788438b4 feat: route managed Improve Kandev contributions to bound forks (#2569) 2026-08-15 23:51:39 +01:00
nova28 00994cf406 fix(office): preserve cache split, cost provenance, and turn_id on cost events (#2606)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 19:33:52 +01:00
nova28 6b27e67b04 fix(backend): capture task_session_commits from live turn and git events (#2605)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
2026-08-15 14:43:09 +01:00
Carlos Florêncio 10606d13a7 feat(mcp): inherit creator session runtime for new tasks (#2581) 2026-08-13 11:08:07 +01:00