Carlos Florêncio
a96f0d51b5
fix: support empty remote task worktrees ( #3172 )
2026-08-31 03:26:51 +00:00
Carlos Florêncio
0983ae9290
fix: bound untracked dependency status enumeration ( #3170 )
2026-08-30 23:45:55 +00:00
José Almeida
cc2ee0b43d
fix: preserve staged and unstaged changes per file ( #3104 )
2026-08-30 13:26:18 +00:00
99hats
e7a584f651
fix(backend): retry PR creation after push to absorb GitHub eventual consistency ( #3134 )
...
Co-authored-by: Kevin Smith <kevin@mcweekly.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-29 07:48:42 +00:00
Alassane
64d6a9f85e
fix(credentials): authorize managed fork credential leases ( #2940 )
...
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-26 21:26:09 +00:00
Carlos Florêncio
43a1ce71e4
fix: improve startup and lifecycle diagnostics ( #3058 )
2026-08-26 13:12:59 +00:00
Henry
cc169a7ff9
docs(agentctl): correct comments that describe adapters and protocols that don't exist ( #3012 )
...
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-25 07:13:37 +00:00
Carlos Florêncio
29e4c98fff
fix(agents): recover executor-local npm runtime caches ( #2986 )
2026-08-24 21:05:02 +00:00
Henry
55bbc9ce8c
chore(agentctl): add per-instance diagnostic performance metrics ( #2947 )
...
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-24 09:06:28 +00:00
Carlos Florêncio
94fd9dcd44
fix: classify expected runtime errors correctly ( #2950 )
2026-08-23 15:11:44 +00:00
Carlos Florêncio
26982408fa
fix(git): support local-only merge and rebase ( #2925 )
2026-08-22 17:51:54 +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
025492a690
feat(config): add YAML startup configuration parity ( #2863 )
2026-08-21 19:28:21 +01:00
Clément Fiere
08f07b709e
fix(git): make archived-task git snapshot replay crash-proof and lifecycle-aware ( #2851 )
...
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-20 21:20:47 +01:00
Alassane
898ec63857
test: guard process/gitlab env scrubs against drift ( #2693 )
...
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-19 14:02:52 +01:00
João Salavisa
032b693eb2
test: cover incremental content-search publishing and git-failure propagation ( #2713 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-16 20:03:41 +01:00
Carlos Florêncio
15788438b4
feat: route managed Improve Kandev contributions to bound forks ( #2569 )
2026-08-15 23:51:39 +01:00
Alassane
3ff2441830
test(gitlab): scrub ambient GitLab env vars for host-trust tests ( #2592 )
...
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com >
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com >
2026-08-13 12:53:29 +01:00
Carlos Florêncio
8ca01e0f7e
feat(git): add local-first contribution resolution ( #2560 )
2026-08-12 19:12:35 +01:00
José Almeida
146419fc8c
fix(search): include workspace root with submodules ( #2524 )
2026-08-12 10:53:07 +01:00
Carlos Florêncio
c4b4791de6
fix(git): contain rewritten contribution histories ( #2509 )
2026-08-12 08:12:53 +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
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
33ecd0d945
fix(agentctl): log canceled git status refreshes at debug ( #2398 )
2026-08-07 21:01:47 +01:00
Nicolas Lenepveu
a35dd6d22e
fix(passthrough): deliver prompt to custom TUI agents via stdin ( #2335 )
2026-08-07 15:24:58 +01:00
Carlos Florêncio
a5d6649f69
feat(review): support nested submodule review ( #2295 )
2026-08-06 15:04:19 +01:00
nova28
d15d5da8fa
fix(backend): seed every workspace with its stored base branch ( #2270 )
2026-08-05 22:37:07 +01:00
Carlos Florêncio
84fe8132a1
feat: support remote contribution tasks ( #2265 )
2026-08-05 19:25:58 +01:00
Carlos Florêncio
a7b416a1a8
fix(web): retire unreachable archived sidebar filter ( #2246 )
2026-08-05 19:06:49 +01:00
José Almeida
58f0f6214e
feat(lsp): run language servers on task hosts ( #1863 )
2026-08-05 10:57:24 +01:00
Carlos Florêncio
3f46da6645
fix(backend): harden office-disabled cron, title limits, and dead-runtime cleanup ( #2206 )
2026-08-03 15:11:58 +01:00
Carlos Florêncio
431e5d40fe
fix: enforce classified Git admission paths ( #2150 ) ( #2181 )
2026-08-03 11:04:34 +01:00
Carlos Florêncio
75cb354fbe
fix: isolate high-volume session stream traffic ( #2175 )
2026-08-03 10:07:12 +01:00
Carlos Florêncio
b5631da7ee
feat: surface OpenCode provider limit errors ( #2167 )
2026-08-02 21:48:14 +01:00
Alassane
3c7ae1ab9a
fix(gitlab): re-land push-detection auto-link fix dropped by #2124 's squash merge ( #2172 )
2026-08-02 21:31:23 +01:00
Carlos Florêncio
6fa13623c2
fix: show files for merge commit details ( #2173 )
2026-08-02 21:03:40 +01:00
João Manso
46a35704ec
fix(agentctl): demote unwatched workspace trackers to slow polling ( #2113 )
2026-08-02 14:37:50 +01:00
Carlos Florêncio
27e7e0776a
fix: preserve managed GitHub tools across login shells ( #2141 )
2026-08-02 11:18:32 +01:00
João Manso
3b91515f8f
perf(agentctl): collapse the git poll tick into a single spawn ( #2133 )
2026-08-01 22:02:03 +01:00
José Almeida
03e179c4d3
feat: add last task startup preference ( #2102 )
2026-08-01 09:58:05 +01:00
Carlos Florêncio
ea5173c922
fix: re-anchor stale git base for commits panel and cumulative diff ( #2062 )
2026-07-31 14:53:36 +01:00
Clément Fiere
59d1cc7277
feat: add Slack-style unread divider to session transcript ( #1922 )
2026-07-31 14:42:14 +01:00
João Salavisa
7c73d5c4c4
fix(agentctl): tear down adapter when the agent process self-exits ( #2095 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-07-31 14:06:06 +01:00
João Salavisa
6c01e4e1ae
fix(agentctl): clamp file-search limit to bound result allocation ( #2088 )
...
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-31 09:31:37 +01:00
Carlos Florêncio
167ab6b778
feat(mcp): add session attachment diagnostics ( #2061 )
2026-07-30 20:49:07 +01:00
José Almeida
7ec82dcaec
feat(search): add task workspace search palette ( #2006 )
2026-07-29 09:50:29 +01:00
Carlos Florêncio
09b5c4df7a
feat: propagate managed git environment to terminals ( #2010 )
2026-07-28 21:19:27 +01:00
João Salavisa
16495a6dcc
fix(terminal): expose executor-profile env vars to terminal shells ( #1992 )
...
* fix(terminal): expose executor-profile env vars to terminal shells
PR #1971 got the profile env into the agent subprocess and the repository
setup script, but the terminal panel was still a gap: the local user shell
was started with `InteractiveStartRequest.Env` unset, so it inherited only
the backend process environment, and agentctl's per-terminal shells were
started from `shell.DefaultConfig` with no env overrides at all.
Local/worktree path: resolve the task environment's executor profile at
terminal start (revealing secret-backed entries) and pass it through
UserShellOptions.Env into the deferred PTY start. Resolution happens per
terminal rather than being cached at launch, so a terminal opened before
the agent ever runs still gets the vars.
Remote path (Docker/Sprites/SSH): StartTerminalShell now folds the agent
instance's env into the shell config, so a terminal inside the workspace
sees what the agent sees. SSH is unchanged in scope — its instance env is
still only the credential allowlist, not arbitrary profile variables.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(terminal): resolve terminal env from the session's executor profile
Address PR review. The resolver read executor_profile_id off the
task_environments row, but persistTaskEnvironment's reuse branch never
refreshes that column — it keeps whatever the first session stamped on it.
buildLaunchAgentRequest resolves the agent's env from
session.ExecutorProfileID instead, so a task environment reused by a later
session that picked a different profile of the same executor type would give
the terminal stale secrets and omit the ones the agent just received.
Prefer the session's profile and fall back to the environment row only when
the session recorded none. Also document why mergeAgentEnvIntoShellConfig
needs no defensive copy and why StartEnvForTesting is exported.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* test(terminal): give env-row fallback subtests distinct session IDs
Address PR review nit: both subtests shared the hardcoded "session-3" at
the call site, so the error-path case read as a repeat of the first.
Move the session ID into the table as session-no-profile / session-error.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 00:08:57 +01:00