Commit graph

827 commits

Author SHA1 Message Date
Christian Klotz
2acd77b5c1
test(coding-agent): defer cross-package coverage 2026-08-03 21:20:33 +03:00
Christian Klotz
7135e83006
refactor(agent): remove unused tool prompt metadata 2026-08-03 21:20:33 +03:00
Christian Klotz
339ad70fd4
fix(coding-agent): harden server runtime invariants 2026-08-03 21:20:33 +03:00
Christian Klotz
965142c124
fix(coding-agent): remove redundant backend APIs 2026-08-03 21:20:17 +03:00
Christian Klotz
e42c1fbfff
fix(coding-agent): centralize server model policy 2026-08-03 21:20:17 +03:00
Christian Klotz
449d8616a8
fix(coding-agent): group tool prompt metadata 2026-08-03 21:20:17 +03:00
Christian Klotz
66032ba117
fix(coding-agent): preserve server tool prompt 2026-08-03 21:20:17 +03:00
Christian Klotz
875a766985
feat(coding-agent): decouple server backend configuration 2026-08-03 21:20:17 +03:00
Christian Klotz
4abc08a8b3
feat(coding-agent): add server session backend
Add durable coding-agent session runtimes with locking, protocol projection, and JSONL persistence. Remove the obsolete legacy server implementation and dependency cycle.
2026-08-03 21:20:17 +03:00
yaogangqiang
0f5286d8ab
feat(agent): expose shouldStopAfterTurn on Agent (#7367) 2026-08-03 14:01:16 +02:00
Christian Klotz
f0deb8dd8e
Revert docs changes 2026-08-03 01:43:57 +03:00
Mario Zechner
01eeafd14a docs(agent): add durable queue-item cancellation to harness v2 variants
Queued steer/followUp/nextRun items get a durable identity and retraction,
mirrored in both design variants so the diff stays mechanism-only:

- queue_enqueued acceptance returns the provisioned entryId; snapshots and
  queue_update events carry QueuedItem { entryId, message }.
- New queue_cancelled record: without it, recovery would resurrect a
  cancelled item (record-without-entry restores as pending). Validity rules
  reject cancels of unknown or already-consumed items.
- cancelQueued(entryId) is one conditional mutation-line job; race-catalog
  row 12 covers cancel-vs-consume with exactly two histories. Reduction now
  also excludes abort-killed items (baseline omission).
- Adds the LaneRecord/NewRecord unions that sections 12/13 already
  referenced but section 5 never defined.

Adopted from the effect-durable-agent comparison (pending-message identity
and cancellation), trimmed to the minimal slice.
2026-08-02 23:09:59 +02:00
Mario Zechner
88ed89dbab docs(agent): split harness v2 into effects and generator variants
Replace harness-v2.md with two candidate designs that share Parts I and II
verbatim and differ only in the Part III stepping mechanism:

- harness-v2-effects.md: straight-line async procedures; deterministic
  stepping via a gated effect boundary (drive: "manual").
- harness-v2-generator.md: synchronous state machine; stepping via yielded
  actions and an execution controller.

Both fold in the fixes for the baseline defects found during the audit:
per-lane mutation line with conditional commits (finish/steer/abort/queue
races), nextRun capture at acceptance, terminal-failure recovery, terminate
persisted on tool-result entries, move-first navigation commit (closes the
open question, removes the only multi-object atomic write), corrected v3
normalization, and #7339-aligned deferred redemption.

Only one variant will be implemented; diff the two files to see the
mechanism trade-offs in isolation.
2026-08-02 21:51:15 +02:00
Christian Klotz
e05cc6e12c
docs: remove contributor changelog updates 2026-08-02 13:06:24 +03:00
Christian Klotz
f07af611d3
feat(agent): compose session storage through repositories 2026-08-02 12:35:02 +03:00
Christian Klotz
a4c7cb025d
feat(agent): reject unsupported session search 2026-08-02 12:35:02 +03:00
Christian Klotz
cbc893b0d4
feat(agent): prepare session storage foundation for harness v2 2026-08-02 12:35:02 +03:00
Christian Klotz
6e48c10f5b
Merge pull request #7448 from earendil-works/feat/agent-branch-queries-v2
feat(agent): add bounded branch entry queries
2026-08-01 22:14:17 +03:00
Christian Klotz
4ecd1bbe67
test(agent): derive timeout output size from truncation limit 2026-08-01 21:30:35 +03:00
Christian Klotz
081d7fbfca
fix(agent): harden bounded branch queries 2026-08-01 21:26:55 +03:00
Christian Klotz
9b75872017
feat(agent): add bounded branch queries 2026-08-01 21:26:55 +03:00
Armin Ronacher
a1403af8ec fix(agent): make timeout output test deterministic 2026-08-01 14:06:00 +02:00
Christian Klotz
e92bf60a58
fix(agent): make SQLite branch caching scalable 2026-08-01 10:08:56 +03:00
Christian Klotz
c2adb4d1da
fix(agent): use SQLite trigger for rollback test 2026-08-01 02:52:21 +03:00
Christian Klotz
57583617ef
fix(agent): make SQLite session operations linear 2026-08-01 02:11:22 +03:00
Christian Klotz
2366649ba4
fix(agent): avoid counting entries when opening sessions 2026-08-01 01:39:12 +03:00
Christian Klotz
2cc51b9d76
fix(agent): rename session fork module 2026-08-01 01:32:53 +03:00
Christian Klotz
53422a241a
feat(agent): add storage-owned session readers 2026-08-01 01:24:59 +03:00
Christian Klotz
a0bb4a489b
Merge pull request #7400 from earendil-works/refactor/sqlite-session-connection-cleanup
Remove obsolete SQLite session connection internals
2026-07-31 23:00:50 +03:00
Christian Klotz
62f3c61b68
feat(agent): add per-session store queues 2026-07-31 22:56:26 +03:00
Christian Klotz
9f4dfdddbf
fix(agent): remove obsolete SQLite session internals 2026-07-31 22:55:49 +03:00
Christian Klotz
9c3b271be0
fix(agent): make session search query-only 2026-07-31 18:31:04 +03:00
Christian Klotz
15f719489b
fix(agent): scope JSONL entry IDs by path 2026-07-31 17:59:16 +03:00
Christian Klotz
2b765ef529
fix(agent): restore forward session cursor reads
Document complete session store and search composition for scanning and canonical SQLite search.
2026-07-31 17:17:41 +03:00
Christian Klotz
4e81b79615
fix(agent): restrict session construction to repositories 2026-07-31 16:56:51 +03:00
Christian Klotz
f4a96c62b3
docs(agent): simplify session store guidance 2026-07-31 16:42:14 +03:00
Christian Klotz
0b229f1046
docs(agent): document session persistence migration 2026-07-31 16:37:13 +03:00
Christian Klotz
d937ee15d6
docs(agent): remove session API migration example 2026-07-31 16:23:57 +03:00
Christian Klotz
f90b8595db
fix(agent): update harness lifecycle tests 2026-07-31 16:20:59 +03:00
Christian Klotz
11679808c7
Merge remote-tracking branch 'origin/main' into refactor/session-store-file-names
* origin/main: (25 commits)
  fix(tui): prevent phantom alt-screen selections
  feat(tui): add draggable transient scrollbars
  fix(coding-agent): avoid auth read lock contention
  fix(ai): route Fireworks Kimi K3 through OpenAI compatibility
  docs(client): document Bun Unix transport support
  feat(client): add Unix socket transport
  fix: forward autocompleteMaxVisible to custom editors (#7369)
  fix(ai): scope Codex sockets to accounts
  docs(client): note promise helper removal
  refactor(client): retain ES2022 compatibility
  refactor(client): simplify lifecycle architecture
  refactor(client): tighten lifecycle state modeling
  feat(client): add runtime-neutral session client
  fix(coding-agent): decouple auth lock error tests
  fix: custom-compaction through provider via new model runtime complete (#7325)
  fix(ai): preserve Anthropic initial stream block content (#7358)
  fix(coding-agent): update vulnerable brace-expansion
  fix(ai): keep signed empty text/thinking blocks in google history (#7362)
  feat(tui): add stacked alt-screen flashes (#7361)
  fix(coding-agent): reload credentials before reads
  ...
2026-07-31 16:20:00 +03:00
Christian Klotz
2132f8f75f
fix(agent): clarify session persistence ownership 2026-07-31 16:16:42 +03:00
Christian Klotz
7e121c67cf
refactor(client): tighten lifecycle state modeling 2026-07-31 12:19:19 +03:00
Christian Klotz
33bc0a7b83
feat(client): add runtime-neutral session client
Split harness shutdown initiation from settlement so callbacks can request shutdown without deadlocking active work.
2026-07-31 12:19:19 +03:00
Christian Klotz
8eda7d5020
fix(agent): type composed session stores explicitly 2026-07-31 10:37:12 +03:00
Christian Klotz
a1bb7e4483
fix(agent): expose session stores through factories 2026-07-31 10:28:59 +03:00
Christian Klotz
2700511e45
fix(agent): refine session repository API 2026-07-31 09:48:24 +03:00
Christian Klotz
9b50b046d3
Merge pull request #7163 from cristinaponcela/feat/search
feat: search index sqlite
2026-07-31 09:15:12 +03:00
Cristina Poncela Cubeiro
aa784e5eed refactor, cleanup and conditionals for fts5 2026-07-31 05:51:24 +02:00
Cristina Poncela Cubeiro
c984b7c9e2 cleanup 2026-07-31 05:35:19 +02:00
Cristina Poncela Cubeiro
fb0f0f7cd5 rename: vars 2026-07-31 05:19:23 +02:00