Commit graph

334 commits

Author SHA1 Message Date
Mario Zechner
466db0fecd feat: add canonical session context boundaries
Make SessionManager projections authoritative for provider requests, add append-only context edits and actionable turn boundaries, and preserve existing queue scheduling during continuation and recovery.
2026-09-21 16:59:20 +02:00
Mario Zechner
10d1ad621f feat: add transactional replicated state 2026-09-21 16:07:59 +02:00
David Brailovsky
47a18e37b1 fix: require complete GIF image signatures
Require GIF87a or GIF89a headers to avoid classifying text files beginning with GIF as images.

Fixes #9755
2026-09-21 10:30:42 +02:00
Mario Zechner
b5ef419d5b docs(agent): restore non-Pico5 documentation 2026-09-18 13:48:19 +02:00
Mario Zechner
0801601621 feat(durable): move Pico into dedicated package 2026-09-18 13:39:09 +02:00
Mario Zechner
cf8d5fac30 feat(agent): add Pico storage foundation 2026-09-18 12:32:00 +02:00
Mario Zechner
729d5cb74d docs(agent): finalize Pico5 specification set 2026-09-17 14:57:03 +02:00
Mario Zechner
01528e2094 Merge remote-tracking branch 'origin/main' into pico 2026-09-16 17:58:54 +02:00
Armin Ronacher
9e05370b29
Mid conversation system messages (#9548)
This change makes system prompt text and tool changes part of the transcript rather than silently rewriting its starting conditions. This lets Pi record when instructions changed or tools became available, restore that state after resuming or navigating branches, and preserve cached prompt prefixes where the upstream supports it.
2026-09-16 15:54:07 +02:00
Mario Zechner
56cd5989ea docs(agent): replace obsolete Pico prototypes with Pico5 design 2026-09-15 11:27:53 +02:00
Mario Zechner
46b66c59af feat(agent): add hardened pico3 kernel 2026-09-14 11:17:04 +02:00
Mario Zechner
51f3090790 feat(agent): align pico foundation with v2 contract 2026-09-13 04:00:27 +02:00
Mario Zechner
df484f2775 feat(agent): add pico memory storage foundation 2026-09-12 22:31:41 +02:00
Mario Zechner
1915b35a9b feat(agent): refine pico core task capabilities 2026-09-12 22:31:16 +02:00
Mario Zechner
f467cf7068 feat(agent): add pico compile-time foundation 2026-09-12 00:02:58 +02:00
David Brailovsky
c37b0e03b5 fix: cap agent retry backoff
Add a configurable 60-second default cap for assistant and summarization retry delays across coding-agent and the agent harness.

Fixes #8826
2026-09-09 11:54:56 +02:00
David Brailovsky
6dfc66d32a feat(agent): stream legacy JSONL migration and forks
Stream legacy v3 normalization through repeatable file passes, reuse atomic JSONL publication, and preserve stable fork IDs without an intermediate v4 source file.
2026-09-07 12:48:08 +02:00
David Brailovsky
85186f823d fix(agent): expand fork conformance for Memory and JSONL
- Cover application list copying and branch-state exclusion
- Verify sequence preservation and next-write allocation
- Group WP08 cases separately until SQLite is ready
2026-09-04 22:45:31 +02:00
David Brailovsky
9908b2176a feat(agent): fork closed legacy JSONL through format 4
Normalize closed v3 sources into temporary format-4 files and reuse the two-pass fork path without modifying source files.

Remove obsolete JSONL snapshot creation and capture plumbing.
2026-09-04 17:40:30 +02:00
David Brailovsky
e3c966b6ff fix(agent): reject open legacy JSONL forks
Require a non-empty commit to persist normalized format-4 IDs before forking an open v3 session.

Verify rejection leaves the source unchanged and that the same destination ID succeeds after upgrade.
2026-09-04 16:46:14 +02:00
David Brailovsky
9ee703230f Merge remote-tracking branch 'origin/main' into dev-named-forks-streaming 2026-09-04 16:05:40 +02:00
Qiaochu Hu
c2d3dc55b0
fix(agent): map signal-killed processes to non-zero exit codes (#8994)
waitForChildProcess resolved null for the exit code when a child was killed by a signal (e.g. OOM killer), and exec mapped it with code ?? 0, so the bash tool treated killed commands as successful.

Track the termination signal and fall back to the shell convention of 128 + signal number (137 for SIGKILL) when no exit code is available.

fixes #8992

closes #8882
2026-09-04 00:06:16 +02:00
David Brailovsky
2e2805d92f feat(agent): construct memory forks directly from live state
Stream current values and lists through shared fork policy while preserving sequences and the source high-water mark.
2026-09-03 16:31:29 +02:00
David Brailovsky
8c08d0645a Merge remote-tracking branch 'origin/main' into dev 2026-09-03 07:58:51 +00:00
Mario Zechner
4e69b0c280 feat(ai): preserve Anthropic per-turn thinking effort
Route eligible OpenRouter Claude models through the native Messages API and surface provider thinking-drop diagnostics.
2026-09-02 21:39:29 +02:00
Mario Zechner
e26afb63a4 fix(agent): retain settled tools until placement 2026-09-02 17:53:25 +02:00
David Brailovsky
e583b290a6 fix: remove misleading write byte counts
The write tools reported UTF-16 code units as bytes. Remove the count from success messages instead of scanning content again.

Closes #8979
2026-09-02 15:06:06 +02:00
Qiaochu Hu
ebc3744909
fix(agent): surface proxy stream EOF without terminal event as an error (#8997)
streamProxy dropped a final SSE event that was not newline-terminated
(the residual line buffer was never flushed after the read loop) and
called stream.end() without a result when no done/error event had been
seen, leaving EventStream.result() pending forever. Consumers like
agentLoop awaiting response.result() hung indefinitely when the server
closed the connection mid-response.

Flush the decoder and process the residual buffer after EOF, and push a
synthesized error event when the stream ended without a terminal event.

fixes #8996
2026-09-02 14:16:03 +02:00
Mario Zechner
a84a161c75 Merge remote-tracking branch 'origin/dev' into dev 2026-09-01 18:13:48 +02:00
Mario Zechner
0095bce7db fix(agent): bound shell execution output 2026-09-01 18:12:06 +02:00
David Brailovsky
1081eb2126 fix(agent): require configured lanes for branch forks
Reject data-only source branches, preserve tree-scope support for them, and update fork fixtures to provide complete lane configuration and state.
2026-09-01 15:18:05 +02:00
David Brailovsky
f8da63be59 feat(agent): require explicit named branches for session forks
Require fork scope and source branch selection, preserve the branch name in the destination, and cover named-branch behavior across backends.
2026-09-01 12:35:14 +02:00
Armin Ronacher
86bac52f94 feat: add delta-backed replicated state
Track mutable provider state and publish immutable operation batches. Keep path codecs isolated per client subscription and state member.
2026-08-31 14:04:42 +02:00
Armin Ronacher
34dc9d055a feat: move facet services into Chord
Move service, replicated-state, facet host, and loader ownership into the standalone Chord package. Migrate consumers and leave runtime JSON enforcement to serializers.
2026-08-29 14:55:51 +02:00
Armin Ronacher
28b49a6b3b feat: add Chord runtime foundation 2026-08-29 14:54:19 +02:00
David Brailovsky
58ea6c0ba5 Merge remote-tracking branch 'origin/main' into dev 2026-08-29 08:21:44 +00:00
David Brailovsky
56700d42ed
fix(coding-agent): compact before post-tool model requests (#8782)
Run next-turn preparation only when the agent loop continues, allowing threshold compaction before the next provider request. Restore interactive progress when the same run resumes.

Closes #6879

Important to notice:
this changes when prepareNextTurn & prepareNextTurnWithContext are invoked:
the now run only when a next turn actually happens, and after shouldStopAfterTurn.
2026-08-28 13:40:59 +02:00
Cristina Poncela Cubeiro
758a0ee9b7 Merge branch 'main' into dev
# Conflicts:
#	packages/agent/CHANGELOG.md
#	packages/ai/scripts/generate-models.ts
#	packages/ai/src/providers/cloudflare-ai-gateway.ts
#	packages/ai/test/zai-coding-plan-models.test.ts
#	packages/coding-agent/src/modes/interactive/interactive-mode.ts
#	packages/tui/src/tui-alt-screen.ts
2026-08-28 13:19:43 +02:00
Armin Ronacher
d4ce5d5a22 feat(agent,coding-agent): unify process-local service lifecycle 2026-08-28 10:08:19 +02:00
Armin Ronacher
a17ead3292 feat(agent): remove remote service events 2026-08-27 10:19:02 +02:00
Armin Ronacher
6f0ea81e8b feat(coding-agent): preserve handles across facet reloads 2026-08-27 10:19:02 +02:00
Armin Ronacher
e44ecea8fb feat(coding-agent): derive facet service routing 2026-08-27 10:19:02 +02:00
Mario Zechner
d09576def8 fix(agent): finalize durable lane replication 2026-08-26 21:51:37 +02:00
Mario Zechner
89356540fb feat(agent): expose durable lane operations 2026-08-26 21:14:59 +02:00
Mario Zechner
8b69107329 feat(agent): make durable drive total 2026-08-26 19:10:36 +02:00
Mario Zechner
0f0ca0f6b7 feat(agent): make run boundaries atomic 2026-08-26 17:34:56 +02:00
Mario Zechner
c5a35eabbf feat(agent): fuse structural boundary routing 2026-08-26 16:46:39 +02:00
Mario Zechner
c60dd63fdf feat(agent): simplify durable operation graph 2026-08-26 16:10:53 +02:00
Mario Zechner
9b23c65834 feat(agent): add structural drive foundation 2026-08-26 12:00:25 +02:00
Vegard Stikbakke
7af2d27dce fix(coding-agent): prevent Windows taskkill spawn crashes
closes #6596
2026-08-26 10:33:45 +02:00