imccyu
59df683ef1
fix(token-meter): bound projection state via logged shadow prices
...
The contextBreakdown and contextPressure units carried the full priced
surface, so each session's persisted projection checkpoint grew without
bound. A surface replacement is now priced by the shadow-price event
logged directly before it — compact/summary for compaction, the new
compact/prune from tool-result pruning (priced through the injected
token meter) — and the unit states shrink to a fixed handful of numbers.
Regenerate the persistence/cordis/module/config catalogs.
2026-08-06 02:50:38 +08:00
_Kerman
b76543cc1c
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# apps/web/tests/markdown-images.e2e.ts
# docs/cordis-catalog/services.md
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/context/time-context/tests/invariant.spec.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/core/agent-loop/src/invariant.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent/tests/agent.spec.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/src/index.ts
# packages/core/session/tests/derived-cache.spec.ts
# packages/core/session/tests/request-header.spec.ts
# packages/core/session/tests/session.spec.ts
# packages/core/session/tests/surface.spec.ts
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/plan/plan-mode/tests/plan-mode.spec.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/pty/tests/service.spec.ts
# packages/pty/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/pty/tool-bash-persistent/tests/tools.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/session-title/session-title-all-messages-llm/tests/provider.spec.ts
# packages/tasks/tasks-local/tests/tasks.spec.ts
# packages/ui/user-approval/tests/approval.spec.ts
2026-08-05 13:53:35 +08:00
_Kerman
02efe3ccea
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
# .agents/notes/implemented/architecture/2026-06-11-event-sourced-sessions.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.zh.md
# .agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-seams.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md
# .agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md
# .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md
# .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.zh.md
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# .agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md
# .agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md
# .agents/notes/implemented/feature/2026-06-24-workspace-context.i18n.yaml
# .agents/notes/implemented/feature/2026-06-24-workspace-context.zh.md
# .agents/notes/implemented/feature/2026-06-30-hook-bridges.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.zh.md
# .agents/notes/implemented/feature/2026-06-30-interception-seams.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-interception-seams.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.i18n.yaml
# .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.zh.md
# .agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml
# .agents/notes/implemented/feature/2026-07-16-harness-level-loop.zh.md
# .agents/notes/implemented/feature/2026-07-19-human-goal-command.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.zh.md
# .agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.zh.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .agents/notes/implemented/feature/2026-07-27-tmux-location-context.i18n.yaml
# .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-surface.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.zh.md
# .agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.zh.md
# .agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml
# docs/core-data-structures/compaction.i18n.yaml
# docs/core-data-structures/goal.i18n.yaml
# docs/core-data-structures/goal.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/core-data-structures/session.zh.md
# docs/core-data-structures/skills.i18n.yaml
# docs/core-data-structures/skills.zh.md
# docs/core-data-structures/system-prompt.i18n.yaml
# docs/defensive-patterns.i18n.yaml
# docs/defensive-patterns.zh.md
# docs/user/develop/framework/events.i18n.yaml
# docs/user/develop/framework/events.zh.md
# packages/acp/acp/README.i18n.yaml
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact/README.i18n.yaml
# packages/context/time-context/README.i18n.yaml
# packages/context/tmux-context/README.i18n.yaml
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.zh.md
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.zh.md
# packages/core/session/README.i18n.yaml
# packages/core/session/README.zh.md
# packages/core/system-prompt/README.i18n.yaml
# packages/core/system-prompt/README.zh.md
# packages/examples/cli-demo/README.i18n.yaml
# packages/goal/command-goal/README.i18n.yaml
# packages/goal/goal-session/README.i18n.yaml
# packages/goal/goal/README.i18n.yaml
# packages/goal/tool-goal/README.i18n.yaml
# packages/goal/tool-goal/README.zh.md
# packages/guard/README.i18n.yaml
# packages/guard/README.zh.md
# packages/guard/repeat-tool-guard/README.i18n.yaml
# packages/hooks/hooks-claude/README.i18n.yaml
# packages/hooks/hooks-codex/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.zh.md
# packages/llm/llm/README.i18n.yaml
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-client/README.zh.md
# packages/sdk/sdk-protocol/README.i18n.yaml
# packages/session-persistence/session-persistence/README.i18n.yaml
# packages/session-persistence/session-persistence/README.zh.md
# packages/skill/tool-skill/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.zh.md
# packages/ui/jsonrpc/README.i18n.yaml
2026-08-05 13:09:53 +08:00
imccyu
8cbdd5b9d0
refactor(session): route construction through Session.create
2026-08-05 11:56:14 +08:00
xjt
7bd111b2af
Merge origin/master into xjt/proofreading-active-docs-2-apply
2026-08-05 10:57:53 +08:00
_Kerman
423f7517b6
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/core/agent/package.json
2026-08-05 10:46:01 +08:00
imccyu
ca27512529
fix(packages): omit source publication payloads
2026-08-05 01:15:19 +08:00
xjt
2db712eec7
docs(i18n): proofread active Chinese documentation
2026-08-04 17:36:14 +08:00
_Kerman
e874910a76
test(session): align turn-end contract artifacts
2026-08-04 14:09:52 +08:00
_Kerman
ce60304648
chore(ci): regenerate stale catalogs and re-record translation pairs
...
- gen-cordis-catalog / gen-persistence-catalog / gen-doc-graphs after the
error-reason and steering/message changes (line anchors and event
producer/consumer graph drifted).
- verify-translation-pairing --write --all: every bilingual pair touched
by the PR (agent notes, session/core docs, READMEs) plus the merge.
- queue-actions preserved golden re-recorded against the rebuilt client
(branch disabled on non-completed-turn tails is back in effect).
2026-08-03 18:06:14 +08:00
_Kerman
cb2f01f48c
refactor(agent-loop): drop the steering/message session event
...
Steer, inject, and followup now land as durable user/message events on the
session surface; the steering/message event type and its ConversationNode
kind are removed from the client projection. Update tests, docs, generated
catalogs, and agent notes to match, and align the steering e2e fixture and
prompt inventory assertions with the durable user/message landing.
2026-08-03 16:04:26 +08:00
_Kerman
49e90695cc
refactor(agent): complete inbox lifecycle migration
2026-08-03 12:25:33 +08:00
_Kerman
b4258a2c4a
refactor(agent): run maintenance between turns
2026-08-03 10:53:08 +08:00
_Kerman
dbdf270af0
refactor(agent): simplify inbox-driven turn admission
2026-08-02 00:27:37 +08:00
_Kerman
e0988abc74
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-27-tmux-location-context.i18n.yaml
# .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-surface.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-30-private-agent-send.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/compaction.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# 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/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-glob-sampling/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/goal-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/missing-credential/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/provider-retry/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/ralph-loop/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/bash-tool/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/bash-tool/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/text-turn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/text-turn/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/request-inspection.ts
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/README.zh.md
# packages/compact/compact-basic/src/index.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/tmux-context/README.i18n.yaml
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/core/agent/src/types.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.md
# packages/llm/llm/README.zh.md
# packages/llm/llm/src/index.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/pty/tests/service.spec.ts
# packages/pty/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/pty/tool-bash-persistent/tests/tools.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/session-persistence/session-checkpoint-policy/tests/crash-recovery.e2e.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/tasks/tasks-local/tests/tasks.spec.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/tests/tui.spec.ts
# packages/ui/user-approval/src/index.ts
# packages/ui/user-approval/tests/approval.spec.ts
2026-07-31 22:16:40 +08:00
Hypatia May
db1cbf0bcc
fix(compact): address manual compaction review
2026-07-30 22:00:34 +08:00
Hypatia May
4de4d693a2
round 2: address manual compaction review findings
2026-07-30 18:15:12 +08:00
Hypatia May
faac9b4fd5
round 1: implement bracket-first manual compaction
2026-07-30 17:40:25 +08:00
Hypatia May
3b3d5579cb
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/client/runtime/tests/fold-adapter.spec.ts
# packages/client/ui-trajectory/src/client/layout.ts
# packages/client/ui-trajectory/src/client/spans.ts
# packages/compact/compact/README.i18n.yaml
2026-07-30 16:37:22 +08:00
Hypatia May
91ee264e16
round 2: pin checkpoint recognition at compile time
...
Move COMPACT_CHECKPOINT_SOURCE and isCompactCheckpointSource into a
cordis-free src/checkpoint.ts leaf, re-exported from the root so every
host-side consumer keeps its import. The client can then type-import the
leaf without reaching dsh-session's root, whose Context merge declares the
host sessions service and collides with the client's -- the dsh-commands/brand
shape. Renaming the plugin id now fails the client typecheck.
Also: keep recoverable summary text when a compact/summary mixes text with
other block types, and capture the seeded-history provenance seqs from the
pushes that produce them instead of deriving them by arithmetic.
2026-07-30 14:07:08 +08:00
_Kerman
c0ef93efc8
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# .agents/notes/implemented/feature/2026-07-21-tui-skill-slash-command.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-tui-skill-slash-command.md
# .agents/notes/implemented/feature/2026-07-21-tui-skill-slash-command.zh.md
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.md
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.zh.md
# docs/architecture.i18n.yaml
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/defensive-patterns.i18n.yaml
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/queue-store.spec.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/core/agent/src/types.ts
# packages/core/agent/tests/agent.spec.ts
# packages/core/scope/src/scoped-events.generated.ts
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/goal/goal-session/src/index.ts
# packages/goal/goal-session/tests/goal-session.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/goal/goal/tests/projection.spec.ts
# packages/goal/tool-goal/tests/tool-goal.spec.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/events.schema.ts
# packages/host/apiproxy/src/api/events.ts
# packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.zh.md
# packages/llm/llm/src/index.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/pty/tests/service.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/tasks/tasks-local/tests/tasks.spec.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
# packages/ui/tui/tests/tui.spec.ts
# scripts/gen-cordis-catalog.ts
# scripts/type-equiv.manifest.json
2026-07-30 14:04:53 +08:00
_Kerman
f2e20c1ef0
refactor(agent-loop): simplify message machine
2026-07-30 13:49:57 +08:00
imccyu
b23c3d596a
Merge remote-tracking branch 'origin/master' into trajectory-history-source
2026-07-29 20:58:04 +08:00
j-xiang
599e6edc87
docs(i18n): record proofread README pairs
2026-07-29 15:30:44 +08:00
j-xiang
fff7f9cb3e
docs(i18n): proofread README translations 41-60
2026-07-29 15:29:38 +08:00
_Kerman
62dd2ab38e
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
...
# Conflicts:
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/compact/compact-basic/src/summarizer.ts
2026-07-28 21:56:02 +08:00
_Kerman
019b0abb68
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# packages/core/session/README.i18n.yaml
# packages/session-title/session-title/tests/persistence.spec.ts
2026-07-28 15:45:53 +08:00
_Kerman
40c29495af
Merge branch 'master' into xtr/trajectory-inspection-ui
2026-07-28 15:41:45 +08:00
_Kerman
a39ffb095a
fix(session): preserve plugin turn invariants
2026-07-28 15:18:48 +08:00
_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
_Kerman
3f7760717d
cleanup(session): isolate trajectory inspection
2026-07-28 11:39:53 +08:00
_Kerman
b3ea0d987e
feat(ui): complete trajectory request inspection
2026-07-28 09:53:32 +08:00
Tianyi Cui
226dc7a249
docs: translate remaining READMEs
2026-07-26 05:06:39 +08:00
Turtle
c7c1b97501
fix(agent-loop): address second-round review — disposal discard, injection validation, frozen payloads
...
Address the review bot's five genuinely-new findings on the current code:
- disposal now discards any still-pending inbox items before the loop
exits, so every enqueued id gets a terminal lifecycle event.
- injection (next-step/no-wakeup) validates its payload up front, before
opening the idle one-shot turn, honoring 'invalid input throws before
any append'; and rejects attached contexts (which belong only to inbox
messages) rather than silently dropping them.
- agentMessage() freezes the agent/inbox/* payload so a listener cannot
mutate the shared correlation object mid-dispatch.
- refresh the package READMEs (compact, goal, guard, hook-protocol,
plan-mode, time-context, workspace-context) that still referenced the
removed context/message event, with the source-based user/message
distinction.
The up-front injection validation makes two finally branches unreachable
(v8-ignored as the turn-enclosure backstop). Adds regression tests for
disposal discard, context rejection, up-front validation, and the frozen
payload; per-file coverage stays 100%.
2026-07-24 12:05:57 +08:00
Turtle
44fd93fd06
feat(agent): unify send(target × wakeup), coalesce context/message into user/message
...
Replace send/steer/inject with one Agent.send primitive over the
(target × wakeup) matrix; followup/steer/inject become fixed-preset
alias methods on the now-abstract Agent class. Coalesce context/message
into user/message (injected context is a non-user source). Replace
agent/queued with agent/inbox/enqueue/dequeue/discard, add cancel
keepInbox, and add a FIFO-conservation invariant.
2026-07-23 19:15:45 +08:00
Yichen Jiang
951967217a
Merge remote-tracking branch 'origin/master' into worktree/session-reference
...
# Conflicts:
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/ui/acp/README.md
# packages/ui/acp/package.json
# packages/ui/acp/tsconfig.json
# packages/ui/tui/package.json
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
# packages/ui/tui/tsconfig.json
# pnpm-lock.yaml
# python/sdk-runtime/package.json
# scripts/gen-doc-graphs.ts
# scripts/type-equiv.manifest.json
2026-07-22 10:21:17 +08:00
Tianyi Cui
3a895ce815
Merge master into codex/session-title
2026-07-21 21:11:32 +08:00
Yichen Jiang
8bc62e1013
Merge remote-tracking branch 'origin/master' into worktree/session-reference
...
# Conflicts:
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/compact/compact-basic/src/region.ts
# packages/compact/compact/README.md
# packages/compact/compact/tests/compact.spec.ts
# packages/examples/acp-demo/package.json
# packages/ui/tui/README.md
# packages/ui/tui/package.json
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-21 21:10:42 +08:00
Tianyi Cui
21721bf3b1
Merge branch 'master' into fix/compaction-kv-cache-reuse
...
# Conflicts:
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/src/summarizer.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
2026-07-21 19:45:43 +08:00
Yichen Jiang
32d786c439
feat(session): add cross-session references
2026-07-21 16:46:48 +08:00
Tianyi Cui
5261ebab38
fix(compact-basic): fence surface changes only
2026-07-21 16:34:28 +08:00
Turtle
a0268d2509
fix(compact-basic): replay conversation prefix so summarization reuses KV cache
...
Automatic compaction fires mid-conversation, right after the loop warmed
the provider's KV cache with the last routed request. The default
summarizer then issued a separate request whose prefix shared nothing
with that warm request — a bespoke summarizer system prompt followed by
the older history flattened to one rendered transcript string — so a
differing first token invalidated the entire cached prefix and every
compaction re-processed the whole replayed history twice.
Move the compaction directive from the FRONT (a fresh system prompt) to
the END (a trailing user message), and replay the last routed request's
own system prompt, tools, message prefix, and shadowed-region messages
verbatim via session.requestHeader() + deriveEventMessage. The auxiliary
call is now a genuine prefix-extension of the warm request, so the
provider reuses the cached tokens up to the trailing instruction.
SummarizationInput carries the replayed prefix instead of a flat string;
the now-unused renderTranscript/renderContentBlocks path is removed with
its spec. Cache reuse is best-effort (head compaction guarantees a hit;
a mid-range compaction or a differently-routed summarizer forgoes it),
correctness is not.
2026-07-21 13:55:22 +08:00
Tianyi Cui
b8ad62eb35
fix(invariants): finish current-master ownership migration
2026-07-20 20:04:40 +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
Tianyi Cui
3b7ce2e682
fix(invariants): require justified empty companions
2026-07-20 18:39:37 +08:00
Tianyi Cui
7aee299bda
docs(compact): correct pruning surface contracts
2026-07-20 17:02:28 +08:00
Tianyi Cui
6b44d01bc8
Merge master into compact-tool-result-prune
2026-07-20 16:41:59 +08:00
Tianyi Cui
684fcf3357
Merge branch 'codex/invariant-package-registration-gate' into codex/package-invariant-checks
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.md
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.zh.md
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
# docs/rfc/INDEX.md
# packages/AGENTS.md
2026-07-20 00:54:28 +08:00