kingwl
d46d37f372
Merge remote-tracking branch 'origin/master' into cross-family-fs-sandbox
...
# Conflicts:
# docs/config-catalog.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# examples/acp-agent/composition.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# packages/bash/bash-sandbox/package.json
# packages/bash/bash/package.json
# packages/bash/tool-bash/src/index.ts
# packages/fs/fs/package.json
# packages/fs/tool-fs/package.json
# packages/fs/tool-fs/src/index.ts
# packages/fs/tool-fs/tests/tools.spec.ts
# pnpm-lock.yaml
2026-07-15 21:39:02 +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
Tianyi Cui
8bb8ac8b3c
docs(tasks): condense background task prose
...
The background-task change repeated its lifecycle design across implemented RFCs, package READMEs, JSDoc, test commentary, and model-visible schemas. That repetition obscured the contracts that maintainers must preserve and added avoidable prompt tokens.
Rewrite the implemented RFCs around the current design, keep authorization, exact-owner cleanup, wait/abort ordering, producer quiescence, and teardown-failure guarantees at their owning surfaces, and remove peer surveys, review history, control-flow narration, and emphatic restatement.
Shorten the task and subagent schema wording, synchronize the bilingual tool cookbook, and regenerate the config, service, RFC, tool, and replay snapshot derivatives. Runtime behavior is unchanged; test edits update prose-only assertions and descriptions.
2026-07-15 21:08:58 +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
Tianyi Cui
3460f9c10b
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
2026-07-15 17:26:29 +08:00
Tianyi Cui
6ee2655cab
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
2026-07-15 17:26:29 +08:00
Tianyi Cui
9035ef1f98
Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
2026-07-15 17:26:29 +08:00
Tianyi Cui
8eccd5416e
Document restored compaction result fields
2026-07-15 17:26:28 +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
3ce477123c
Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface
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
Yichen Jiang
20572f8468
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/config-catalog.md
# docs/module-graph.md
# packages/README.md
# packages/examples/acp-demo/README.md
# packages/examples/agent-spine-demo/README.md
# packages/examples/stdio-demo/README.md
# pnpm-lock.yaml
2026-07-15 16:53:56 +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
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
Hypatia May
aa82ba4abc
Merge remote-tracking branch 'origin/master' into session-query-search
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/module-graph.md
# packages/session-persistence/session-persistence-jsonl/README.md
# packages/session-persistence/session-persistence-jsonl/src/index.ts
# packages/session-persistence/session-persistence-sqlite/README.md
# packages/session-persistence/session-persistence-sqlite/src/index.ts
# packages/session-persistence/session-persistence-sqlite/src/schema.ts
# packages/session-persistence/session-persistence-sqlite/tests/sqlite.spec.ts
# packages/session-persistence/session-persistence/README.md
# packages/session-persistence/session-persistence/src/coordinator.ts
# packages/session-persistence/session-persistence/tests/persistence.spec.ts
# packages/session-query/session-query/README.md
2026-07-15 16:17:59 +08:00
Tianyi Cui
551b665d0f
Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface
2026-07-15 16:05:02 +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
Hypatia May
a2adaf8087
Merge remote-tracking branch 'origin/master' into debug-pangwenjie
2026-07-15 15:38:20 +08:00
Yichen Jiang
17511ea0d8
Merge branch 'master' into codex/rfc-subagent-background-tasks
2026-07-15 15:33:53 +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
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
af267aa8c0
Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface
2026-07-15 15:04:47 +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
3c7f4d4162
Merge branch 'master' into worktree/provider-routed-llm-adapters
2026-07-15 13:59:52 +08:00
Tianyi Cui
627738c4ed
Merge remote-tracking branch 'origin/master' into codex/simp-prune-code-runtime-surface
2026-07-15 13:58:44 +08:00
Yichen Jiang
40336f945a
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
2026-07-15 13:38:22 +08:00
Yichen Jiang
09d9fec6f9
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
# Conflicts:
# docs/config-catalog.md
# docs/core-data-structures/bash.md
# packages/bash/bash-local/src/index.ts
# packages/bash/bash/src/types.ts
# packages/bash/bash/tests/service.spec.ts
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-15 13:38:17 +08:00
Yichen Jiang
aa284e0802
Merge branch 'master' into codex/project-instruction-files
2026-07-15 13:36:53 +08:00
Yichen Jiang
28344ac124
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
2026-07-15 13:35:54 +08:00
Yichen Jiang
2ed2fa3896
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# packages/bash/bash-local/tests/run.spec.ts
# packages/bash/tool-bash/src/index.ts
2026-07-15 13:34:09 +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