Commit Graph

311 Commits

Author SHA1 Message Date
Tianyi Cui
1ac85eefee Merge remote-tracking branch 'origin/master' into worktree/disable-deepseek-web-search-e2e 2026-07-22 13:11:00 +08:00
Tianyi Cui
4643e0de10 test(windows): make coverage fixtures portable 2026-07-22 13:10:48 +08:00
Tianyi Cui
48395a937c test(web): disable unreliable DeepSeek search smoke 2026-07-22 12:37:42 +08:00
Tianyi Cui
8d6a677a07 Merge remote-tracking branch 'origin/master' into scoped-layers-store
# Conflicts:
#	docs/architecture.md
2026-07-22 12:34:27 +08:00
Tianyi Cui
0180cdecd0 fix(scope): detach drained entry generations 2026-07-22 12:06:42 +08:00
Tianyi Cui
53615c91e7 Merge master into worktree-windows-runtime 2026-07-21 23:39:14 +08:00
Tianyi Cui
3176d232b8 Merge master into codex/session-title 2026-07-21 22:59:41 +08:00
Tianyi Cui
04d7b435d2 docs(scope): record shared scoped-layer decision 2026-07-21 22:24:45 +08:00
Tianyi Cui
57cd9ce2bf Merge master into feat/xdg-single-root-home 2026-07-21 22:14:45 +08:00
Tianyi Cui
d80dc21387 docs(agent-note): refresh shared scoped-layer proposal 2026-07-21 21:54:37 +08:00
Tianyi Cui
e4c5d4d6d8 Merge remote-tracking branch 'origin/master' into scoped-layers-store
# Conflicts:
#	.agents/notes/proposed/architecture/2026-07-12-scoped-layers-store.i18n.yaml
#	.agents/notes/proposed/architecture/2026-07-12-scoped-layers-store.md
#	.agents/notes/proposed/architecture/2026-07-12-scoped-layers-store.zh.md
#	docs/rfc/INDEX.md
2026-07-21 21:42:32 +08:00
Tianyi Cui
af1e40e7c6 Merge master into feat/xdg-single-root-home 2026-07-21 21:20:43 +08:00
Tianyi Cui
3a895ce815 Merge master into codex/session-title 2026-07-21 21:11:32 +08:00
Tianyi Cui
2c6c565647 Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation 2026-07-21 20:40:52 +08:00
Tianyi Cui
5acd0c6305 Merge commit 'refs/codex/unblock/master-current' into HEAD
# Conflicts:
#	package.json
2026-07-21 20:31:42 +08:00
Tianyi Cui
73ccb67469 Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation 2026-07-21 20:03:47 +08:00
Tianyi Cui
0004b8675f Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
# Conflicts:
#	docs/event-producer-consumer.md
#	examples/acp-agent/tests/snapshots/bash-spill/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-escalation-approved/session.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
#	packages/context/workspace-context/tests/workspace-context.spec.ts
#	packages/core/agent/src/index.ts
#	packages/support/invariants/tests/invariants.spec.ts
#	packages/ui/acp/src/index.ts
#	packages/ui/tui/tests/harness.ts
#	packages/ui/tui/tests/tui.spec.ts
2026-07-21 20:03:00 +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
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
Tianyi Cui
fb38e5df85 Merge branch 'master' into worktree/routed-model-compaction-policy 2026-07-21 19:12:03 +08:00
Tianyi Cui
d9342d72b1 Merge branch 'master' into codex/invariant-service-seam 2026-07-21 19:06:49 +08:00
Tianyi Cui
4625cc25ed Merge commit 'refs/codex/gh-unblock/20260721T105806/pr-439-base' into HEAD 2026-07-21 19:01:53 +08:00
Tianyi Cui
39eb6e21cd Merge current master into invariant service seam 2026-07-21 18:35:24 +08:00
Tianyi Cui
78f8a3f5d9 Merge branch 'master' into worktree/routed-model-compaction-policy 2026-07-21 18:30:57 +08:00
Tianyi Cui
071fe76755 Merge latest master into invariant service seam 2026-07-21 18:27:46 +08:00
Tianyi Cui
8a93072537 Merge origin/master into worktree/tui-session-controls 2026-07-21 18:12:11 +08:00
Tianyi Cui
c9a8c58467 Merge origin/master into lsp 2026-07-21 17:58:46 +08:00
Tianyi Cui
504fbf59f3 fix(invariants): replay histories and pack companions 2026-07-21 17:46:43 +08:00
Tianyi Cui
b024ebabed Merge origin/master into worktree-windows-runtime
# Conflicts:
#	.agents/notes/implemented/simplification/2026-07-04-fold-stdio-ui-helper.md
#	packages/support/acp-snapshot/src/harness.ts
#	packages/support/acp-snapshot/src/normalize.ts
#	packages/support/acp-snapshot/tests/harness.spec.ts
#	packages/support/acp-snapshot/tests/normalize.spec.ts
2026-07-21 17:14:44 +08:00
Tianyi Cui
a2c527308e Merge origin/master into worktree/docs-pages-deploy 2026-07-21 17:01:55 +08:00
Yichen Jiang
6fe8cfb5d1 Merge branch 'fix/acp-subagent-cwd' of github.com:deepseek-harness/deepseek-harness into fix/acp-subagent-cwd 2026-07-21 16:53:46 +08:00
Yichen Jiang
04117b58bd docs(subagent): align the parent contract with ACP cwd inheritance
SubagentStartRequest.parent, its core-data type-equiv mirror, and the
ACP backend Agent Note still said the out-of-process backend ignores
request.parent — no longer true: with cwd unconfigured it reads exactly
the session header's cwd, and a parent session without one now rejects
at start. State the one-field read at each owning contract, record the
workspace-resolution decision in the Agent Note, and align the README's
accessibility wording with the search-permission guard.
2026-07-21 16:51:49 +08:00
Tianyi Cui
5261ebab38 fix(compact-basic): fence surface changes only 2026-07-21 16:34:28 +08:00
Tianyi Cui
6475e51825 fix(goal-session): discriminate plugin turn triggers 2026-07-21 16:08:53 +08:00
Turtle
e97290ba9e docs(telemetry): state anonymous id as per-harness-home, not per-machine
The consolidated resolver scopes the anonymous id to $DSH_HOME rather
than the machine. Update the module contract, README, and Agent Note to
say per-harness-home explicitly instead of over-claiming a machine-global
identity, and record why DSH_HOME scoping is the intended single-root
meaning rather than a regression.
2026-07-21 15:57:17 +08:00
Tianyi Cui
5d411f9c4e fix(session-title): preserve agent turn outcomes 2026-07-21 15:49:37 +08:00
Tianyi Cui
c622a2881d fix(session-title): deduplicate fallback creation 2026-07-21 15:23:27 +08:00
Tianyi Cui
9b048354b8 fix(session-title): enforce framed input and deadline 2026-07-21 15:00:15 +08:00
Turtle
fac3fc090f fix(paths): treat empty DSH_HOME as unset; isolate telemetry env test
Review fixes for #462:
- resolveDshHome now treats an empty or whitespace-only $DSH_HOME as
  unset, so a blank override never resolves the home to cwd via
  resolve(''). Restores the guard telemetry's old resolver carried.
- The default-env telemetry test asserts only that globalConfigDir()
  returns an absolute path, so a machine DSH_HOME without a .dsh suffix
  cannot break it.
2026-07-21 14:43:38 +08:00
Tianyi Cui
d9557fa5e0 fix(session-title): serialize provider request writes 2026-07-21 14:39:09 +08:00
Tianyi Cui
b3ba4345f5 fix(session-title): respect request and config boundaries 2026-07-21 14:09:17 +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
bc60b9ffe8 fix(lsp): cancel blocked document opens 2026-07-21 13:52:15 +08:00
Turtle
92e0d0e04f refactor(paths): collapse harness home resolution into one resolver
Delete @deepseek-ai/dsh-home and make dsh-paths the sole owner of the
single-root harness home ($DSH_HOME || ~/.dsh). Migrate tool-bash,
skill-local, and agent-spine-demo off dsh-home, and fold telemetry's
divergent globalConfigDir onto the shared resolver, dropping its second
XDG/APPDATA policy and the deepseek-harness namespace so the anonymous
id lives under the harness home. Add dshHomeDisplay() for symbolic
user-facing paths, replacing workspace-context's bespoke check.
2026-07-21 13:52:00 +08:00
Tianyi Cui
63cb16a540 fix(session-title): honor request lifecycle 2026-07-21 13:37:28 +08:00
Tianyi Cui
2fd995bf3c fix(lsp): align operations and harden lifecycle 2026-07-21 13:29:40 +08:00
Tianyi Cui
d6bebc18f8 Merge remote-tracking branch 'origin/codex/enforce-tool-cancellation' into worktree/explicit-turn-signal
# Conflicts:
#	docs/architecture.md
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.md
#	docs/event-producer-consumer.md
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/src/agent.ts
#	packages/core/agent/README.md
#	packages/core/agent/src/types.ts
#	packages/ui/acp/src/index.ts
#	packages/ui/tui/src/index.ts
#	packages/ui/tui/tests/harness.ts
2026-07-21 12:48:46 +08:00
Tianyi Cui
43d50a38b1 Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
# Conflicts:
#	docs/architecture.md
#	packages/core/agent-loop/README.md
2026-07-21 12:30:08 +08:00
Tianyi Cui
c6e1d35a99 fix(core): close turn cancellation contract gaps 2026-07-21 12:14:53 +08:00
Tianyi Cui
a9d518a38e fix(session-title): harden async provider lifecycle 2026-07-21 12:08:00 +08:00