Tianyi Cui
72c6696e4f
Merge branch 'master' into worktree/routed-model-compaction-policy
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-21 19:23:54 +08:00
Yichen Jiang
49a9bca9f6
fix: validate compaction config pairs
2026-07-21 14:49:57 +08:00
Yichen Jiang
b6f6c58435
Merge remote-tracking branch 'origin/master' into worktree/routed-model-compaction-policy
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# examples/headless-agent/tests/harness.ts
# examples/repl-agent/cordis.yml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/compact/compact-basic/tests/loader-composition.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/llm/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# scripts/gen-cordis-catalog.ts
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/llm.md
# website/zh-CN/api/harness/token-meter.md
# website/zh-CN/guide/config.md
2026-07-21 10:17:55 +08:00
Tianyi Cui
023cde5d82
Merge latest master into invariant service seam
2026-07-20 22:49:27 +08:00
Tianyi Cui
8c12f8945e
Merge latest master into codex/llm-error-recovery-rfc
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/persistence-catalog.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/src/loop.ts
# packages/core/agent/src/types.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/llm/llm-deepseek/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/error.ts
# packages/llm/llm/tests/service.spec.ts
# packages/sandbox/sandbox-policy/tsconfig.json
# packages/ui/stdio/README.md
# packages/ui/stdio/src/index.ts
# packages/ui/stdio/tests/stdio.spec.ts
# packages/ui/tui/src/index.ts
# pnpm-lock.yaml
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/llm.md
2026-07-20 20:59:11 +08:00
Tianyi Cui
f78b17a352
Merge branch 'codex/invariant-package-registration-gate' into codex/package-invariant-checks
2026-07-20 19:55:46 +08:00
Tianyi Cui
9c4cc05da6
Merge branch 'codex/invariant-service-seam' into codex/invariant-package-registration-gate
2026-07-20 19:48:51 +08:00
Tianyi Cui
1145ee5fc3
fix(invariants): assert runtime relationships, not API shapes
2026-07-20 19:34:19 +08:00
Yichen Jiang
cfa180c127
Resolve compaction policy per routed model
2026-07-20 15:34:00 +08:00
Tianyi Cui
3b0b0cefeb
feat: implement bounded LLM request recovery
2026-07-20 03:34:19 +08:00
Tianyi Cui
941b0411d8
feat(invariants): implement package runtime checks
2026-07-20 00:38:37 +08:00
Tianyi Cui
433670a754
feat(invariants): require package-owned companions
2026-07-19 22:13:50 +08:00
Tianyi Cui
9c5b86051b
Merge master into tool-result pruning
...
Retarget the pruning feature onto the merged compaction foundation.
Adapt content-only tool-result rewrite validation to the session-owned surface manager, migrate the demo wiring to repl-agent, and refresh generated type, catalog, and website contracts while preserving pressure and overflow pruning behavior.
2026-07-19 17:54:55 +08:00
Tianyi Cui
78d03cd21f
Merge latest origin/master into compact-post-step-overflow-recovery
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-19 12:16:34 +08:00
Tianyi Cui
7be78c7d4c
Merge latest origin/master into compact-post-step-overflow-recovery
...
# Conflicts:
# docs/agent-lifecycle.md
# docs/architecture.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/rfc/INDEX.md
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.md
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.zh.md
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# docs/rfc/implemented/feature/2026-07-07-session-prefix.md
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/config.ts
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/src/summarizer.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/compact/compact/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/README.md
# packages/llm/llm-pi-ai/src/stream.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# packages/llm/llm/tests/service.spec.ts
# scripts/gen-doc-graphs.ts
2026-07-19 12:06:23 +08:00
Tianyi Cui
765dfb2174
refactor(session): use one surface manager
2026-07-19 11:36:07 +08:00
Tianyi Cui
7c65e12a42
Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface
...
# Conflicts:
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/compact/compact/README.md
# packages/compact/compact/src/index.ts
2026-07-18 12:07:34 +08:00
Tianyi Cui
06ea8643ff
Merge newest origin/master into token-meter-service
2026-07-17 22:49:54 +08:00
Tianyi Cui
f943bc8d4c
Merge latest origin/master into token-meter-service
2026-07-17 22:38:46 +08:00
Tianyi Cui
7a2d5cd28d
Merge master into codex/simp-session-log-representation
2026-07-17 22:33:42 +08:00
Hypatia May
ba4a57c7d1
refactor(compact): align pruning contracts (round 3)
2026-07-16 18:51:26 +08:00
Hypatia May
171bae5c20
fix(compact): harden pruning integration (round 2)
2026-07-16 18:28:31 +08:00
Hypatia May
ce96104a77
feat(compact): prune tool results before summarization (round 1)
2026-07-16 18:02:15 +08:00
Hypatia May
5ff491e3a2
Merge remote-tracking branch 'origin/token-meter-service' into compact-post-step-overflow-recovery
...
# Conflicts:
# docs/core-data-structures/compaction.md
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.md
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.zh.md
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# examples/coding-agent/cordis.yml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/automatic.ts
# packages/compact/compact-basic/src/config.ts
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
2026-07-16 16:18:16 +08:00
Hypatia May
6d96b3e4a8
refactor(token-meter): merge measurement snapshots (round 1)
2026-07-16 14:38:24 +08:00
Hypatia May
19a56ec542
fix(token-meter): reject stale config (round 2)
2026-07-16 13:23:20 +08:00
Hypatia May
5c243e8a8d
refactor(token-meter): simplify singleton service (round 1)
2026-07-16 12:58:07 +08:00
Tianyi Cui
be367fd981
Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface
...
# Conflicts:
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
2026-07-16 11:21:41 +08:00
Tianyi Cui
6825918ead
docs: finish session simplification prose cleanup
2026-07-16 11:15:58 +08:00
Hypatia May
d66c926d7a
fix(agent): preserve lifecycle recovery boundaries (PR3 round 2)
2026-07-15 17:43:33 +08:00
Tianyi Cui
d25a56b431
Restore CompactionResult diagnostics
2026-07-15 17:23:39 +08:00
Hypatia May
12484104c8
feat(compact): recover context overflow (PR3 phase 2)
2026-07-15 16:50:44 +08:00
Hypatia May
99dccf559a
fix(compact): preserve replay ownership (PR2 round 2)
2026-07-15 15:13:57 +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
815365dbbe
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# 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/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/sandbox-acp-agent/cordis.yml
# examples/sandbox-acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/properties.spec.ts
# packages/core/session/README.md
# packages/core/session/src/types.ts
# packages/core/session/tests/derived-cache.spec.ts
# packages/llm/llm-deepseek/src/index.ts
# packages/llm/llm-pi-ai/README.md
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-pi-ai/src/convert.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/call-config.ts
# packages/llm/llm/src/index.ts
# packages/ui/acp-agent/src/index.ts
# packages/ui/acp/tests/harness.ts
# packages/ui/jsonrpc/README.md
# packages/ui/jsonrpc/src/server.ts
# packages/ui/stdio-agent/README.md
# packages/ui/stdio-agent/src/index.ts
# python/sdk/README.i18n.yaml
2026-07-14 22:17:50 +08:00
Yichen Jiang
e547980d77
feat(llm): route adapters by provider
2026-07-14 21:57:52 +08:00
Tianyi Cui
d7de8a8d13
refactor: narrow compaction surface
2026-07-14 01:24:20 +08:00
Tianyi Cui
1123e946c0
refactor: simplify session log representation
2026-07-13 23:56:10 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Tianyi Cui
c45d7927cf
docs: tighten prose audit after master retarget
2026-07-13 16:24:32 +08:00
Tianyi Cui
74ada5777c
Merge PR #224 updates into prose cleanup
2026-07-12 23:36:49 +08:00
Tianyi Cui
36b8370027
fix(scope): close remaining ownership boundaries
2026-07-12 03:51:55 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
c39fe5cd30
Merge remote-tracking branch 'origin/master' into agent-request-messages
...
# Conflicts:
# docs/cordis-catalog/services.md
2026-07-09 22:43:26 +08:00
Ziya
fc6db791f1
refactor(compact): extract the shared transcript renderer into dsh-compact
...
Move compact-basic's private _extractText/_blocksToText into the interface
package as renderTranscript/renderContentBlocks, so the summarize path and a
future recall read path render one span identically. Byte-identical output
vs the private helpers it replaces; compact-basic delegates.
2026-07-08 22:39:55 -07:00
Yichen Jiang
765052a7d1
fix(agent-loop): compose the session prefix before pre-step; hand it to the pressure gate
...
ds-review-bot critical (follow-up): on the first step of a resumed or
seeded/forked instance, auto-compaction ran before runStep composed
this instance's prefix, so the gate read the PREVIOUS instance's logged
prefix from the header fold — a contributor that grew across
resume/fork (skills added, AGENTS.md grown: exactly the
environment-dependent case) could under-gate and ship an over-window
first request.
The loop now composes agent/session-prefix before the instance's first
agent/pre-step (still once per instance; runStep just reads the cache),
and agent/pre-step carries the composed prefix to its listeners.
CompactService.compactIfNeeded gains the sessionPrefix parameter;
BasicCompactService.estimatePressure gates on the handed value — the
header-fold read is gone, so the estimate is exact at every step
including a resumed/forked instance's first. Composition moving before
the boundary snapshot also means a composing listener's session append
now joins the CURRENT request (documented on the seam).
New coverage: composition precedes pre-step and the seam receives the
composed prefix; cancel and disposal landing inside the composition
window drop the step cleanly; the compact gate test hands the prefix
directly.
2026-07-08 20:30:10 +08:00
Yichen Jiang
e6bd6cc9be
fix(compact): count the logged session prefix toward token pressure
...
ds-review-bot critical: compactIfNeeded estimated pressure from the
derived history + system prompt only, but every loop-built request also
carries EpochHeader.messagePrefix in front of the history — a
deployment at the window edge would under-estimate by exactly the
prefix, skip compaction, and ship an over-window request.
BasicCompactService now gates on estimatePressure(): the session prefix
read from the log's folded header + the derived history + the system
prompt. The fold is exact from the instance's second request on (and
from a resumed instance's first — the previous instance logged its
prefix); it is absent only before a fresh session's first request,
where the history is a single prompt and compaction is moot. Compaction
itself still shrinks history only — a prefix that alone approaches the
window is a configuration error no compactor fixes, same as the
documented single-unit-overflow stance.
2026-07-08 19:32:42 +08:00
Tianyi Cui
7539231eca
compact: the summary's provenance records its call envelope
...
compact/summary gains { model, maxTokens? } — the envelope the
summarize call actually used, reported by the backend that made the
call: summarize() now returns { summary, model, maxTokens? } instead of
bare blocks, so an overriding backend (template or remote summarizer)
reports its own envelope honestly and compactRegion logs it. 'Which
model wrote this summary' becomes answerable from the log alone, and
the one-shot summarize request — outside the loop's header-event fold
by design — is reconstructable from log + code (the reconstructability
RFC's scope statement).
2026-07-06 03:21:29 +08:00