Commit graph

70 commits

Author SHA1 Message Date
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
Armin Ronacher
853a80d26c Add [Unreleased] section for next cycle 2026-08-28 23:56:06 +02:00
Armin Ronacher
b79e4cc834 Release v0.84.4 2026-08-28 23:56:03 +02:00
Mario Zechner
5976a2f8b9 docs(agent): audit post-WP05 roadmap 2026-08-26 22:41:05 +02:00
Mario Zechner
5507d76ee8 feat(agent,ai): add narrow subpath exports so clients skip the barrel
A barrel forces Node to evaluate its whole graph: importing reduceLaneSnapshot
(1 file, 6 KB) through pi-agent-core's index evaluated 106 files, and mini's
server loaded 112 files to enumerate JSONL headers. Types are free, so this only
ever affected value imports.

pi-ai gains ./utils/* alongside the existing ./providers/* and ./api/*
wildcards. pi-agent-core gains ./harness/context, ./harness/env/nodejs,
./harness/runtime/reducer and ./harness/session, and ./session/testing becomes
./harness/session/testing so every export mirrors its source path. The barrel
and ./node keep their batteries-included semantics.

The session layer takes uuidv7 from @earendil-works/pi-ai/utils/uuid rather than
the pi-ai barrel, which is what let ./harness/session drop from 42 files to 19.
Two imports there were written `import { type Usage } from` - not a type-only
statement, so it emitted a runtime import of the barrel.

scripts/check-entry-graphs.mjs walks each declared entry's value-import graph and
enforces per-entry budgets and forbidden paths, so a stray `export *` cannot
silently undo this. It caught the two `import { type ... }` regressions above.

Measured with mini: server 112 files and 98 MB to 28 files and 69 MB, presentation
204 files and 125 MB to 99 files and 110 MB. The worker still loads the provider
graph, correctly.
2026-08-26 22:02:31 +02:00
Mario Zechner
89356540fb feat(agent): expose durable lane operations 2026-08-26 21:14:59 +02:00
Mario Zechner
423e20cb78 feat(agent): separate sessions, branches, and lanes 2026-08-25 16:52:29 +02:00
Mario Zechner
852142daa0 feat(agent): add explicit session mutations 2026-08-24 23:35:55 +02:00
Cristina Poncela Cubeiro
94108a1ac6 feat(sqlite): databasePath, sessionId for sharding 2026-08-24 15:40:18 +02:00
Armin Ronacher
c399e34658 feat: merge main into dev 2026-08-24 13:13:03 +02:00
Armin Ronacher
31d4ed5860 Add [Unreleased] section for next cycle 2026-08-24 12:50:52 +02:00
Armin Ronacher
4e58f324fa Release v0.84.3 2026-08-24 12:50:48 +02:00
Mario Zechner
41c9795be7 feat(agent): add durable drive foundations 2026-08-24 12:37:48 +02:00
Mario Zechner
164507bbac feat(agent): simplify mutation event publication 2026-08-19 16:55:29 +02:00
Cristina Poncela Cubeiro
a3fd215615 feat(sqlite): repo close, simplify benchmark 2026-08-18 18:57:43 +02:00
Cristina Poncela Cubeiro
43c4f6cf72 test(sqlite): timing benchmark 2026-08-18 18:25:34 +02:00
Cristina Poncela Cubeiro
bf7acdcc18 test(sqlite): finalize repo and storage conformance 2026-08-18 16:32:25 +02:00
David Brailovsky
ed0f5834ff fix(agent): decouple fork snapshots from storage state
Use explicit source and destination fork snapshots, share committed-write materialization across Memory and JSONL, and remove unused list snapshot plumbing.
2026-08-18 14:58:52 +02:00
Mario Zechner
beac75ecc2 feat(agent): implement atomic acceptance and coherent observation 2026-08-18 14:36:33 +02:00
Armin Ronacher
3fbfcf48ff feat(agent): thread invocation context through harness APIs 2026-08-17 19:56:21 +02:00
Mario Zechner
c179395b1e feat(agent): add bound values and lists 2026-08-17 16:47:18 +02:00
Cristina Poncela Cubeiro
9e964db343 feat(sqlite): skip corrupt sessions 2026-08-17 10:51:25 +02:00
Cristina Poncela Cubeiro
8992320444 feat(sqlite): co-ordinate fork with open session 2026-08-17 10:38:59 +02:00
Cristina Poncela Cubeiro
fc2a0b243e feat(sqlite): fork 2026-08-17 10:09:16 +02:00
Cristina Poncela Cubeiro
db0e240861 feat(sqlite): lease lifecycle and renewal
Checked what is usually done, and seems to be common pattern to use half the max time for interval (e.g. Kubernetes leader election docs).
2026-08-17 09:28:04 +02:00
Cristina Poncela Cubeiro
07e4a253ce feat(sqlite): cache insert statements for trigger performance 2026-08-17 08:53:09 +02:00
Cristina Poncela Cubeiro
011c78f710 feat(sqlite): triggers for no duplicate ids across tables 2026-08-16 22:32:07 +02:00
Cristina Poncela Cubeiro
35c1521573 feat(sqlite): wire repo to return real session 2026-08-14 13:58:16 +02:00
David Brailovsky
09fb0d157e Merge remote-tracking branch 'origin/main' into dev 2026-08-14 10:25:49 +00:00
David Brailovsky
0e0021fbbe Add [Unreleased] section for next cycle 2026-08-14 12:00:04 +02:00
David Brailovsky
914cf1472e Release v0.84.2 2026-08-14 12:00:00 +02:00
Vegard Stikbakke
b863f1cff6 fix: revert SQLite conformance CI isolation 2026-08-14 11:16:49 +02:00
Vegard Stikbakke
f7a00fe43b fix: isolate incomplete SQLite conformance job 2026-08-14 11:12:20 +02:00
Vegard Stikbakke
a2dd8ab2a7 fix: skip incomplete SQLite conformance cases 2026-08-14 11:09:48 +02:00
Vegard Stikbakke
75bb6a0fcd feat(agent): add SQLite storage conformance coverage 2026-08-14 10:50:23 +02:00
Cristina Poncela Cubeiro
4ea01980ff feat(sqlite): append entry to branch index 2026-08-14 09:51:00 +02:00
Cristina Poncela Cubeiro
fae6bf90bc feat(sqlite): begin immediate transaction on apply commit 2026-08-13 18:16:36 +02:00
Cristina Poncela Cubeiro
b448269c83 feat(sqlite): session seq helpers 2026-08-13 18:08:37 +02:00
Cristina Poncela Cubeiro
48bfdbaff5 feat(sqlite): minimal SqliteOpenSession 2026-08-13 16:00:15 +02:00
Cristina Poncela Cubeiro
9b45f9eddf fix(sqlite): ENOENT, copy migs into dist 2026-08-13 14:26:09 +02:00
Cristina Poncela Cubeiro
11dd14f6ee fix(sqlite): unicode keys, duplicate create 2026-08-13 14:16:42 +02:00
Cristina Poncela Cubeiro
5b8df56823 feat(sqlite): readonly storage 2026-08-13 13:55:13 +02:00
Cristina Poncela Cubeiro
f69f19ecc0 feat(sqlite): branch and usage helpers 2026-08-13 13:54:41 +02:00
Cristina Poncela Cubeiro
6b8b140c85 feat(sqlite): scaffold storage 2026-08-13 12:08:51 +02:00
Cristina Poncela Cubeiro
cf82e2e2ae feat(sqlite): more helpers 2026-08-13 11:58:39 +02:00
Cristina Poncela Cubeiro
90b63bf172 feat: initial sqlite repo 2026-08-12 22:45:01 +02:00
Cristina Poncela Cubeiro
ba6190f820 feat: session helpers for repo 2026-08-12 17:06:11 +02:00
Cristina Poncela Cubeiro
1969b02865 feat: SQLite migration 2026-08-12 17:02:30 +02:00