David Brailovsky
08ef22c276
feat(agent): organize JSONL storage modules
2026-08-13 15:52:24 +02:00
David Brailovsky
d957f808d4
feat(agent): discard torn JSONL transaction tails
...
Drop an unterminated final line on open and rewrite the kept prefix before admitting writes. Complete malformed lines stay corruption.
2026-08-13 15:23:32 +02:00
David Brailovsky
9c1b446870
feat(agent): add format-4 JSONL storage
...
Add FileSystem-backed transaction persistence, replay, and storage conformance coverage.
2026-08-13 11:36:19 +02:00
Christian Klotz
8718fbea77
feat(agent): add session storage benchmarks
...
Add reusable timing, loaded-footprint, and allocation workloads and runners. Index memory entries by sequence so limited scans can stop early.
2026-08-13 10:40:43 +03:00
Mario Zechner
686e6d7cdc
fix(agent): gate harness tool execution
2026-08-13 09:29:38 +02:00
Mario Zechner
9d5d9e4fab
feat(agent): add harness execution primitives
2026-08-13 00:26:05 +02:00
Christian Klotz
d0d70d9bbc
fix(agent): complete session acceptance coverage
2026-08-12 23:38:22 +03:00
Christian Klotz
a51cde3b48
fix(agent): align context projection contract
2026-08-12 23:03:11 +03:00
Mario Zechner
0815e45890
feat(agent): add guarded session mutations
2026-08-12 20:51:47 +02:00
Christian Klotz
678732ccf6
fix(agent): enforce durable assistant message handling
2026-08-12 19:36:43 +03:00
Mario Zechner
cf0102b9ce
feat(agent): retain memory sessions across reopen
2026-08-12 17:41:55 +02:00
Christian Klotz
025c4fb16d
feat(agent): add memory session repository
2026-08-12 17:43:14 +03:00
Christian Klotz
bec2ecec9d
feat(agent): add storage testing decorator
2026-08-12 17:40:11 +03:00
Mario Zechner
c6d394a4e4
refactor(agent): trust typed session storage values
2026-08-12 15:46:09 +02:00
Mario Zechner
da8091ec75
Remove SessionContext, return AgentMessage[] instead
2026-08-12 14:36:30 +02:00
Christian Klotz
e39ddef983
feat(agent): add storage-backed session tree
2026-08-12 15:11:46 +03:00
Christian Klotz
8d281e236d
feat(agent): add storage-backed session boundary
2026-08-12 12:49:22 +03:00
Christian Klotz
f45aea041d
fix(agent): enforce durable session identities
2026-08-12 12:49:19 +03:00
Christian Klotz
ef37865445
feat(ai): support UUIDv7 follower timestamps
2026-08-12 11:11:30 +03:00
Christian Klotz
eff82b1405
fix(agent): keep session implementations internal
2026-08-12 10:26:30 +03:00
Christian Klotz
535ceef0c1
fix(agent): keep session codec internal
2026-08-12 10:14:11 +03:00
Christian Klotz
1a77b84126
feat(agent): add session codec
2026-08-12 01:13:02 +03:00
Christian Klotz
085ce3c9a5
feat(agent): add instrumented storage decorator
2026-08-12 01:12:23 +03:00
Christian Klotz
b3bf0a2a81
feat(agent): add storage backend conformance suite
2026-08-12 00:22:30 +03:00
Christian Klotz
9177ed175d
feat(agent): add session UUIDv7 generator
2026-08-11 23:59:01 +03:00
Christian Klotz
fd9a45aaf1
feat(agent): add in-memory harness storage
2026-08-11 23:58:31 +03:00
Mario Zechner
0eb6abd547
fix(agent): address harness type audit findings
2026-08-11 18:00:47 +02:00
Mario Zechner
5aeb06bb11
feat(agent): establish durable harness type contracts
2026-08-11 17:43:26 +02:00
Cristina Poncela Cubeiro
b75be04d92
refactor: search ( #7797 )
...
* refactor: search out of repo
* fix: apply cases, no resolve for index on every hit
* chore: tests
* fix: use iterator and no open
* refactor: public dir stuff in jsonl, source
* cleanup and sqlite time number
* fix: use storage for label search too, delete types
* refactor: abstract some more
* docs: example jsonl with elastic search
* docs: Christian's md
* refactor: simpler api surface
* feat: rebuild
* docs: consolidate
* fix: use trigger for sqlite, cleanup indexable, add example in doc
* chore: restore upstream responses shared
* fix: delete metadata from jsonl search hit
* fix: AsynIterable
* refactor: scanning for memory, reuse
* fix: dont export jsonlSessionDirectoryName
* cleanup: more shared stuff
* cleanup: why, jsonl?
2026-08-11 13:27:48 +02:00
David Brailovsky
7bdb16c28d
feat(agent): support clearing session names
2026-08-08 19:19:46 +02:00
Armin Ronacher
02bd2d1c62
fix(ai): preserve Responses tool-call namespaces
...
closes #7709
2026-08-07 23:05:23 +02:00
Vegard Stikbakke
d1a305613e
feat(agent): add direct harness event listeners
...
Part of I2, "passive events and watch buffering," in packages/agent/docs/harness-v2.md.
2026-08-07 15:20:00 +02:00
Vegard Stikbakke
1dd2354052
feat(agent): add buffered harness event watches
...
This is incremental work towards I2 in the harness-v2.md plan.
2026-08-07 14:50:35 +02:00
David Brailovsky
7aca0d7b3e
fix(agent): make JSONL decode errors explicit
...
Return typed results from JSONL parsers, add file context during replay, and classify torn tails explicitly.
2026-08-07 14:27:50 +02:00
David Brailovsky
4a0e2f115a
fix(agent): complete JSONL crash and corruption handling
2026-08-07 13:47:45 +02:00
David Brailovsky
9d090bc5dc
fix(agent): reject conflicting JSONL session creation
2026-08-07 09:10:29 +02:00
Christian Klotz
6fb2d766ae
feat(coding-agent): add configurable Harness factory ( #7686 )
...
* feat(coding-agent): add Harness construction factory
* feat(coding-agent): configure Harness construction factory
* feat(coding-agent): expose Harness JSONL session file
* fix(agent): remove redundant bash environment test
2026-08-06 21:05:46 +03:00
muyiyr
1eb988cfe8
feat(agent): allow blocked tool calls to terminate ( #7715 )
...
Closes #5998
2026-08-06 17:14:48 +02:00
wesleyzhangwq
1532c99943
fix(agent): reject reset during active runs ( #7717 )
2026-08-06 17:12:25 +02:00
David Brailovsky
29ad292f77
fix(agent): simplify jsonl append failure test
2026-08-06 11:49:54 +02:00
David Brailovsky
a838c069e6
harness-v2 jsonl session atomic writes for forks & torn-tail truncation ( #7707 )
...
* fix(agent): make JSONL publication crash-safe
* fix(agent): move JSONL file creation from repo to storage
* fix(agent): move JSONL forking from repo to storage
* fix(agent): move fork mutation creation into session state
2026-08-06 11:46:58 +02:00
Mario Zechner
35f5c265d3
feat: add telemetry reference adapter and span composition
2026-08-06 11:44:58 +02:00
Cristina Poncela Cubeiro
77f4840320
chore: qa2 tests ( #7706 )
...
* 1. rejects corrupt parent chains in array-backed readers
* 2. does not decode SQLite branch entries outside query bounds
* 3. validates SQLite entries before filtering and limiting branch results
* 4. does not validate SQLite ancestors beyond newest-first stop bounds
* 5. rejects repository operations and session writes after disposal
* 6. supports lexical ownership with await using
* 7. uses listing as a barrier between accepted session operations
* 8. waits for every accepted session operation during disposal
* 9. waits for accepted appends before disposal and rejects later writes
* 10. repository disposal closes its owned storage
* 11. stops branch traversal at retained-tail compaction
* docs: mark QA2 done
2026-08-06 11:24:09 +02:00
David Brailovsky
6282221b6a
fix(agent): scope JSONL session IDs to working directories
2026-08-06 09:31:28 +02:00
Mario Zechner
6b461b75b3
feat: extract telemetry package
2026-08-05 23:23:12 +02:00
Cristina Poncela Cubeiro
2bb7ba4966
feat: harness v2 r2 ( #7669 )
...
* feat(agent): reduce durable lane state
* fix: exclude captured initial-message ids from pendingNextRun
* fix: validate deferred handles
---------
Co-authored-by: Vegard Stikbakke <vegard.stikbakke@gmail.com>
2026-08-05 22:18:08 +02:00
Mario Zechner
04d6447f7c
feat: add typed telemetry contracts
2026-08-05 22:03:33 +02:00
David Brailovsky
17f720489f
fix(agent): validate required JSONL mutation fields
2026-08-05 19:03:30 +02:00
David Brailovsky
acb2fd9849
fix(agent): complete JSONL storage round-trip coverage
2026-08-05 18:14:32 +02:00
David Brailovsky
48b8b547c8
fix(agent): require JSONL session cwd at creation
2026-08-05 17:51:28 +02:00