Commit Graph

1093 Commits

Author SHA1 Message Date
kingwl
f408d420da Merge remote-tracking branch 'origin/master' into jsonl-packed-chunk-rows
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 22:14:42 +08:00
kingwl
7ef21239ca feat(session): opt-in packed chunk rows in the JSONL log
Providers stream token-sized deltas, so a session log stores hundreds of
near-identical assistant/chunk lines whose JSON envelopes dwarf their
payloads (~56x measured on a real DeepSeek session, 73% of file bytes).

Add a lossless storage codec to dsh-session: packChunkRuns() folds each
run of >=3 consecutive same-block delta chunks into one storage row --
text-chunks / reasoning-chunks / tool-call-chunks, bare slash-less tags
like the header line's 'session' so rows cannot be confused with session
events -- and decodeStorageRecord() expands rows back to the exact
original events (seq0/time0 + dt gap array reconstruct every member's
seq/time; tool-call rows carry the run-constant id/name). The encoder
whitelists exact shapes and stores anything unrecognized verbatim; the
decoder validates row-tagged values and fails loud on malformation.

The JSONL backend gains a packChunks config (default false). Writing
packs only when enabled -- default-off output stays byte-identical to
the previous layout, so snapshot goldens are untouched. Reading is
layout-blind: scanLog always decodes rows and now checks seq contiguity
with a cursor instead of the line index, so packed, unpacked, and mixed
files all load identically. Fixture readers (llm-replay parseSessionLog,
acp-snapshot normalizeSessionLog) share the codec; the normalizer zeroes
a row's time0/dt exactly like an event's time. The two demo bundles
plumb packChunks from cordis.yml to the backend.

Measured on a real coding session: 105 KB -> 42 KB (-60%), 475 lines ->
74, with reasoning/tool-call heavy sessions saving the most. Covered by
example + fast-check round-trip codec tests, backend packed/mixed/torn-
tail specs, and an end-to-end demo run loading a packed log through a
default-config backend.
2026-07-15 21:26:36 +08:00
Yichen Jiang
f47a87fcf5 Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/config-catalog.md
#	packages/examples/acp-demo/tests/acp-agent.spec.ts
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
2026-07-15 20:14:09 +08:00
Hypatia May
d66c926d7a fix(agent): preserve lifecycle recovery boundaries (PR3 round 2) 2026-07-15 17:43:33 +08:00
Tianyi Cui
5b814652b3 Merge remote-tracking branch 'origin/master' into codex/simp-drop-unused-schema-default 2026-07-15 17:07:50 +08:00
Tianyi Cui
92bf506fb0 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
# Conflicts:
#	docs/config-catalog.md
#	packages/core/README.md
2026-07-15 17:06:39 +08:00
Tianyi Cui
3d26e83930 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	AGENTS.md
#	knip.json
#	packages/ui/jsonrpc/README.md
#	scripts/run-gates.ts
2026-07-15 17:06:13 +08:00
Yichen Jiang
ff3d893f74 Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
# Conflicts:
#	AGENTS.md
#	docs/config-catalog.md
#	docs/module-graph.md
#	examples/echo-agent/composition.md
#	packages/README.md
#	packages/core/README.md
#	packages/examples/acp-demo/package.json
#	packages/examples/acp-demo/src/index.ts
#	packages/examples/acp-demo/tests/acp-agent.spec.ts
#	packages/examples/acp-demo/tests/built-bin.e2e.ts
#	packages/examples/acp-demo/tsconfig.json
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/package.json
#	packages/examples/agent-spine-demo/tests/agent-core.spec.ts
#	packages/examples/stdio-demo/package.json
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/stdio-demo/tests/built-bin.e2e.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
#	packages/examples/stdio-demo/tsconfig.json
#	pnpm-lock.yaml
#	python/sdk-runtime/README.i18n.yaml
#	python/sdk-runtime/src/deepseek_harness_runtime/runtime/cordis.yml
#	python/sdk/tests/test_bundled_runtime.py
2026-07-15 17:04:16 +08:00
Hypatia May
dffe51dbf0 Merge token-meter-service into compact-post-step-overflow-recovery
# Conflicts:
#	docs/cookbook/extension-cookbook.i18n.yaml
2026-07-15 17:03:46 +08:00
Tianyi Cui
5ef3dd979f Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
# Conflicts:
#	docs/config-catalog.md
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/module-graph.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	pnpm-lock.yaml
2026-07-15 17:01:59 +08:00
Hypatia May
9d8f81c8e0 Merge compact-tool-pairing into token-meter-service
# Conflicts:
#	examples/coding-agent/composition.md
#	pnpm-lock.yaml
2026-07-15 16:57:53 +08:00
Tianyi Cui
edd990c5d9 Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-15 16:57:39 +08:00
Yichen Jiang
306b79fa2c Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
# Conflicts:
#	docs/config-catalog.md
#	docs/module-graph.md
#	examples/coding-agent/README.md
#	examples/coding-agent/cordis.yml
#	packages/README.md
#	packages/examples/acp-demo/README.md
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/package.json
#	packages/examples/agent-spine-demo/src/index.ts
#	packages/examples/stdio-demo/README.md
#	pnpm-lock.yaml
#	scripts/doc-budgets.manifest.json
#	scripts/verify-package-readme-model-experience.ts
2026-07-15 16:57:03 +08:00
Tianyi Cui
7d4fd14a1c Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation
# Conflicts:
#	docs/rfc/implemented/feature/2026-07-14-time-context-plugin.i18n.yaml
2026-07-15 16:56:04 +08:00
Hypatia May
94346513ec Merge origin/master into compact-tool-pairing 2026-07-15 16:52:50 +08:00
Hypatia May
12484104c8 feat(compact): recover context overflow (PR3 phase 2) 2026-07-15 16:50:44 +08:00
imccyu
2a48b31306 docs: rewrite group maps for the examples/ relocation
Add the packages/examples/ group README, drop the moved packages from the
core/ and ui/ group READMEs, and add the examples/ row to the packages
hierarchy table and the repo-layout in AGENTS.md.
2026-07-15 16:46:05 +08:00
imccyu
6f77da4c8c refactor: relocate demo app bundles to packages/examples/*-demo
Move the agent-spine bundle and the stdio/ACP/JSON-RPC app packages out of
core/ and ui/ into a new packages/examples/ group, renamed with a -demo
suffix so the npm name marks them as non-product surface:

  core/agent-core   -> examples/agent-spine-demo  (dsh-agent-spine-demo)
  ui/stdio-agent    -> examples/stdio-demo        (dsh-stdio-demo)
  ui/acp-agent      -> examples/acp-demo          (dsh-acp-demo)
  ui/jsonrpc-agent  -> examples/jsonrpc-demo      (dsh-jsonrpc-demo)

Update every code/config/test reference and reference-only doc mentions, and
regenerate module-graph, config-catalog, and doc-graphs. The jsonrpc bin
(dsh-jsonrpc-agent) and single-file exe (dsh-jsonrpc-agent-pkg) keep their
names; the SDK runtime-startup surface is reconciled separately.
2026-07-15 16:46:05 +08:00
Tianyi Cui
9082cebc56 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 16:27:37 +08:00
Tianyi Cui
debd4ae5c8 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/module-graph.md
2026-07-15 16:26:12 +08:00
Tianyi Cui
6d1870c8c1 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	packages/bash/tool-bash/src/index.ts
#	packages/ui/stdio-agent/README.md
#	packages/ui/stdio-agent/src/index.ts
#	packages/ui/stdio/src/index.ts
#	packages/workflow/workflow-workerthread/tests/workflow-workerthread.spec.ts
#	packages/workflow/workflow/package.json
#	scripts/gen-doc-graphs.ts
2026-07-15 16:24:43 +08:00
Tianyi Cui
d42cea85c7 Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-15 16:05:07 +08:00
Hypatia May
e8d066f750 feat(core): add post-step request recovery (PR3 phase 1) 2026-07-15 16:03:52 +08:00
Tianyi Cui
281eed3e57 Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/rfc/INDEX.md
#	docs/rfc/implemented/testing/2026-07-06-pin-request-header-content-in-one-scenario.md
#	docs/rfc/proposed/simplification/2026-07-12-simplify-session-log-representation.md
#	packages/support/acp-snapshot/README.md
#	packages/support/acp-snapshot/src/normalize.ts
#	packages/support/acp-snapshot/src/suite.ts
#	packages/support/acp-snapshot/tests/fixtures/suite/pin-turn/session.jsonl
#	packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-15 15:53:56 +08:00
Yichen Jiang
162da52082 Merge branch 'master' into worktree/provider-routed-llm-adapters 2026-07-15 15:42:19 +08:00
Yichen Jiang
4f92ede4a0 Merge branch 'master' into codex/rfc-subagent-background-tasks 2026-07-15 15:41:56 +08:00
Hypatia May
a28c9f46d1 Merge remote-tracking branch 'origin/master' into debug-pangwenjie 2026-07-15 15:39:30 +08:00
Hypatia May
a2adaf8087 Merge remote-tracking branch 'origin/master' into debug-pangwenjie 2026-07-15 15:38:20 +08:00
Tianyi Cui
1ac6c15907 Merge remote-tracking branch 'origin/master' into codex/simp-drop-unused-schema-default 2026-07-15 15:37:19 +08:00
Yichen Jiang
17511ea0d8 Merge branch 'master' into codex/rfc-subagent-background-tasks 2026-07-15 15:33:53 +08:00
Tianyi Cui
dbae83d573 Merge remote-tracking branch 'origin/master' into codex/simp-drop-assembled-section-order 2026-07-15 15:31:29 +08:00
Hypatia May
9cddfe7fd7 Merge remote-tracking branch 'origin/master' into debug-pangwenjie
# Conflicts:
#	docs/event-producer-consumer.md
#	packages/core/agent-loop/src/loop.ts
2026-07-15 15:31:27 +08:00
Hypatia May
e55e96eec6 Merge compact-tool-pairing into token-meter-service
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 15:27:10 +08:00
Hypatia May
63330ac638 Merge origin/master into compact-tool-pairing
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 15:24:59 +08:00
Hypatia May
99dccf559a fix(compact): preserve replay ownership (PR2 round 2) 2026-07-15 15:13:57 +08:00
Tianyi Cui
c2c38b18c4 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	packages/core/agent/src/types.ts
2026-07-15 15:08:10 +08:00
Tianyi Cui
130140feda Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 15:07:35 +08:00
Tianyi Cui
10f50c1b55 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.md
#	docs/event-producer-consumer.md
#	packages/core/agent/src/types.ts
2026-07-15 15:07:11 +08:00
Tianyi Cui
76c35dee8f Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-15 15:04:48 +08:00
Tianyi Cui
649865043d docs: preserve prose cleanup in session simplification 2026-07-15 14:59:20 +08:00
Hypatia May
f038780ff6 feat(llm): add replay token metering (PR2 round 1) 2026-07-15 14:47:29 +08:00
Yichen Jiang
d3f8cb0f23 fix: harden replay and pi-ai request boundaries 2026-07-15 13:45:19 +08:00
Yichen Jiang
f1d39921c9 feat(acp): advertise and switch llm models 2026-07-15 13:33:42 +08:00
Yichen Jiang
75331f03a6 Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 13:30:40 +08:00
Yichen Jiang
3285b77d3c Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 13:30:39 +08:00
Hypatia May
c9efdf68f9 Merge remote-tracking branch 'origin/master' into codex/compact-tool-pairing
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 13:26:57 +08:00
Yichen Jiang
9e6a2827c6 Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	packages/README.md
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/core/tools/README.md
#	packages/core/tools/src/index.ts
#	packages/ui/stdio-agent/tests/built-bin.e2e.ts
2026-07-15 13:25:44 +08:00
Hypatia May
cc546c4580 feat(compact): move pairing helpers (PR1 round 1) 2026-07-15 13:22:44 +08:00
Tianyi Cui
ce1ed1dc87 Merge remote-tracking branch 'origin/codex/simp-drop-assembled-section-order' into codex/simp-drop-unused-schema-default 2026-07-15 13:22:08 +08:00
Tianyi Cui
e6edee1d54 Merge remote-tracking branch 'origin/master' into codex/simp-drop-assembled-section-order 2026-07-15 13:21:06 +08:00