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
Huanqi Cao
17ff1e0d4a
Merge pull request #1624 from deepseek-harness/feat/pwsh-ui-parity
...
feat(pwsh): render pwsh calls as bash-shaped terminal cards in the Web UI
2026-08-05 22:20:11 +08:00
Huanqi Cao
8fcb392fe1
Merge origin/master into feat/pwsh-ui-parity
2026-08-05 17:41:03 +08:00
_Kerman
289a23421d
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .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
# packages/host/apiproxy/README.i18n.yaml
2026-08-05 15:34:19 +08:00
imccyu
e4d5ec548e
Merge pull request #1050 from deepseek-harness/worktree/custom-deepseek-models
...
feat(web): configure custom DeepSeek models, with a restyled Models card
2026-08-05 14:04:18 +08:00
Wenlu Wang
61e46f077e
Merge pull request #1362 from deepseek-harness/fix/landlock-runner-failure-classification
...
Fix false sandbox failures from Landlock partial-enforcement notices
2026-08-05 13:59:47 +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
kingwl
75bd2b8aaa
Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# docs/core-data-structures/sandbox.i18n.yaml
# docs/core-data-structures/sandbox.zh.md
# docs/postmortem/README.i18n.yaml
# docs/postmortem/README.zh.md
# examples/acp-agent/tests/acp.snapshot.ts
# native/landlock-run/README.i18n.yaml
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/sandbox/sandbox/README.i18n.yaml
2026-08-05 13:17:38 +08:00
imccyu
1832df038d
docs(session): document creation ownership boundaries
2026-08-05 11:57:17 +08:00
Yichen Jiang
086656afae
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# packages/client/ui-models/src/client/ModelsSection.module.css
# packages/client/ui-models/src/client/ModelsSection.tsx
2026-08-05 11:46:23 +08:00
Huanqi Cao
838e3c8cd9
fix(web): probe pwsh through the executor's path resolution
...
The pwsh-terminal e2e probed the bare 'pwsh' literal, which knip flagged as
an unlisted binary. Reuse resolvePwshPath from @deepseek-ai/dsh-pwsh-local
(the judgment the tool-pwsh tests already use), so the probe matches the
executor's own resolution and the reference stays indirect; record mode
skips the lane anyway, so the probe stays inert there. Regenerate the
cordis and config catalogs the seam moves left stale (line-number shifts).
2026-08-05 11:42:43 +08:00
_Kerman
97e7d68340
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
2026-08-05 10:39:18 +08:00
Huanqi Cao
acda0e39bc
Merge remote-tracking branch 'origin/master' into feat/pwsh-tool
2026-08-04 20:39:17 +08:00
_Kerman
674278cb17
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/client/ui-conversation/src/client/queue/QueueDock.tsx
2026-08-04 19:37:51 +08:00
Hypatia May
cc89c529c6
Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification
2026-08-04 19:05:33 +08:00
Huanqi Cao
39b0695d48
Merge remote-tracking branch 'origin/master' into feat/pwsh-tool
...
# Conflicts:
# apps/cli/composition.md
# docs/testing.i18n.yaml
# docs/testing.md
# docs/testing.zh.md
2026-08-04 17:54:45 +08:00
Hypatia May
8c72cd3a8f
docs(sandbox): align final runner evidence
2026-08-04 17:45:12 +08:00
imccyu
a36c641db6
chore(docs): refresh WebSocket API catalogs
2026-08-04 16:21:09 +08:00
_Kerman
d5527da905
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.md
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-search-render-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-search-render-card.md
# .agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-read-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-read-card.md
# .agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-result-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-result-card.md
# .agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md
2026-08-04 15:49:07 +08:00
fz
193d918856
Merge remote-tracking branch 'origin/master' into codex/fix-headless-sigint
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/README.md
# apps/cli/README.zh.md
# apps/cli/config/base.cordis.yml
2026-08-04 15:18:48 +08:00
Yichen Jiang
1d2ea70e9b
feat(llm-deepseek): per-model output cap in the advisory catalog
...
A catalog entry may now carry its own `maxTokens`, matching the shape the
pi-ai adapter already exposes. Exact-model resolution prefers it over the
profile value, so capping one model no longer means capping the route.
Defaults are unchanged: an entry without a cap, and any unlisted
pass-through id, still resolve to the profile `maxTokens` (256,000), and the
shipped catalog keeps its context windows.
2026-08-04 14:53:02 +08:00
Hypatia May
ec4a070f0e
Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification
2026-08-04 14:47:58 +08:00
_Kerman
5356bd972d
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/archived/feature/2026-07-28-dsh-guided-skill-session-commands.i18n.yaml
# .agents/notes/archived/manifest.json
# .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml
# .agents/notes/implemented/feature/2026-07-05-skill-system.i18n.yaml
# apps/cli/tests/snapshots/multi-turn-conversation/terminal.expected.txt
# apps/cli/tests/snapshots/queued-manual-compact/terminal.expected.txt
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/cli/tests/tui.snapshot.ts
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/event-producer-consumer.md
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/README.md
# packages/ui/tui/README.zh.md
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
# packages/ui/tui/tests/session-reference.snapshot.ts
# packages/ui/tui/tests/snapshots/conversation-streaming.expected.txt
# packages/ui/tui/tests/snapshots/details-command.expected.txt
# packages/ui/tui/tests/snapshots/details-selector.expected.txt
# packages/ui/tui/tests/snapshots/disposed-terminal.expected.txt
# packages/ui/tui/tests/snapshots/errors-and-help.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# packages/ui/tui/tests/snapshots/surface-after-compaction-narrow.expected.txt
# packages/ui/tui/tests/snapshots/surface-after-compaction-wide.expected.txt
# packages/ui/tui/tests/snapshots/surface-before-compaction.expected.txt
# packages/ui/tui/tests/snapshots/surface-replayed-compaction.expected.txt
# packages/ui/tui/tests/snapshots/todo-plan-cleared.expected.txt
# packages/ui/tui/tests/snapshots/tool-cards-hidden-folded.expected.txt
# packages/ui/tui/tests/snapshots/untrusted-controls.expected.txt
# packages/ui/tui/tests/tui.snapshot.ts
# packages/ui/tui/tests/tui.spec.ts
2026-08-04 14:19:23 +08:00
Hypatia May
f91aedd074
refactor(sandbox): defer native protocol exports (round 3)
2026-08-04 13:37:33 +08:00
Turtle
10bb9cbf4a
cleanup: remove TUI package and legacy dsh entrypoints
2026-08-04 13:20:28 +08:00
Hypatia May
e36d040d0a
fix(sandbox): spawn confined argv directly (round 1)
2026-08-04 12:04:48 +08:00
fz
f0e5a39d19
Merge remote-tracking branch 'origin/master' into codex/fix-headless-sigint
2026-08-04 11:07:36 +08:00
_Kerman
eaa497d735
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
# examples/acp-agent/tests/snapshots/fs-glob-sampling/session.jsonl
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/src/components/dialogs.ts
# packages/ui/tui/tests/tui.spec.ts
2026-08-04 10:52:45 +08:00
Hypatia May
71aafeb858
Merge origin/master into fix/landlock-runner-failure-classification
2026-08-04 09:14:13 +08:00
Huanqi Cao
9abc0723dd
Merge remote-tracking branch 'origin/master' into feat/pwsh-tool
2026-08-03 23:44:38 +08:00
Huanqi Cao
b978c62a22
Merge pull request #1119 from deepseek-harness/feat/ripgrep-packaged-binary
...
feat(fs-search): spawn the packaged ripgrep binary through the subprocess seam
2026-08-03 23:31:29 +08:00
fz
003d297442
Merge remote-tracking branch 'origin/master' into codex/fix-headless-sigint
2026-08-03 22:21:46 +08:00
fz
ef23b88ad4
fix(cli): bound telemetry shutdown on signals
...
Refs #1356
2026-08-03 22:08:47 +08:00
Turtle
7a26214a81
feat(tui): resolve resume titles through the projection cache
...
session-title already registers a title projection unit; /resume now
reads it instead of scanning logs: live rows from the registry
snapshot, persisted rows from the durable checkpoint row
(cachedSnapshot, zero I/O), and only rows without a usable checkpoint
pay a coldSnapshot — checkpoint plus readFrom tail, written back so the
next scan is metadata-only. Cold reads are bounded by the new
resumeScanConcurrency config; compositions without the cache fall back
to the bounded readTitleSnapshots batch. The TUI overlay mounts the
projection registry, storage, and projection-cache rows over the same
storages root the web surface uses, so checkpoints serve both.
2026-08-03 21:13:52 +08:00
Huanqi Cao
ffeccc138b
Merge branch 'feat/ripgrep-packaged-binary' into feat/pwsh-tool
...
# Conflicts:
# docs/module-graph.md
2026-08-03 20:22:16 +08:00
Huanqi Cao
0ee198d70e
Merge remote-tracking branch 'origin/master' into feat/ripgrep-packaged-binary
2026-08-03 20:19:49 +08:00
Hypatia May
295a799785
fix(sandbox): close classifier evidence gaps (round 2)
2026-08-03 17:48:41 +08:00
Hypatia May
6343d8f6e6
fix(sandbox): evidence-gate runner failures (round 1)
2026-08-03 17:31:08 +08:00
_Kerman
6ae82e390e
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-08-03 17:22:27 +08:00
_Kerman
734c3d1f65
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# apps/cli/tests/snapshots/queued-manual-compact/terminal.expected.txt
# apps/web/tests/snapshots/queue-actions/preserved.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/tests/snapshots/untrusted-controls.expected.txt
2026-08-03 17:15:34 +08:00
Turtle
4edb828364
Merge remote-tracking branch 'origin/master' into codex/pr-1037-resolution
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-08-03 16:49:18 +08:00
Turtle
bea60a430e
Merge remote-tracking branch 'origin/master' into pr/tui-details-fold
...
# Conflicts:
# docs/cordis-catalog/services.md
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/README.md
# packages/ui/tui/README.zh.md
# packages/ui/tui/src/index.ts
2026-08-03 15:55:22 +08:00
_Kerman
49e90695cc
refactor(agent): complete inbox lifecycle migration
2026-08-03 12:25:33 +08:00
Huanqi Cao
b482f12d57
fix(coverage): probe the pwsh exemption with the executor's own resolution
...
The review caught the pwshCoverageExclusions comment claiming the inverse of
the code's behavior: a bare-PATH probe FAILING grants the exemption, so a
win32 host where only install-location pwsh (or 5.1) resolves kept the
exemption while its suites ran - over-exempting, never tightening.
resolvePwshPath/candidatePwshPaths move to the dependency-free
pwsh-local/src/resolve.ts (index.ts re-exports; public API unchanged) and
vitest.config.ts probes with that shared definition, so the exemption is
active exactly when the suites skip. The two spec headers stop saying
'on PATH' for a probe that is deliberately not PATH-only, and the parity
note records the abort backport as the one both-ways parity change (both
languages, pairing re-recorded); catalogs regenerated for the line shift.
2026-08-03 00:21:17 +08:00
ZiyaZhang
820a5a97f1
review(tool-goal,llm-replay): address ds-review-bot round one
...
- fromRequest placeholder: the last two braces of a consecutive } run now
terminate the placeholder, so patterns may end with a brace quantifier
(bot warning; the truncated pattern could even silently mis-match since
an unclosed { is literal in JS regexes)
- document that derived JSONL entries pass through the same resolution
- widen ToolRunContext/deferContext seam docs beyond composite-only usage
(source JSDoc, README pair, core-data-structures type-equiv blocks)
- pin direct-human blocked as uninstructed, completing the
goal-round/direct-human x complete/blocked test quadrant
2026-08-02 07:19:26 -07:00
ZiyaZhang
666ef95f81
fix(tool-goal): let the model deliver a wrap-up message after a goal-round complete/blocked
...
A goal round reporting complete or blocked used to conclude the turn at
the tool result, so the model never spoke after the call and sessions
ended on a bare update_goal card. The terminal update now defers one
plugin-sourced <goal_complete>/<goal_blocked> instruction onto its
result asking for a grounded closing message without further tool
calls; the turn then ends through the ordinary no-tool-calls stop.
Direct-human mutations stay uninstructed. Wording chosen by A/B
sampling on deepseek-v4-pro; one extra request per goal lifecycle.
New keyless ACP snapshot goal-wrapup drives the shipped app through
create -> round one -> autonomous complete and pins the injection, the
same-turn closing message, and the completed turn end.
2026-08-02 05:58:45 -07:00
Huanqi Cao
5e437d3996
docs(pwsh): scope the encoding claim, document the PATH probe and preamble limitation, and fix catalog requires lists
2026-08-02 19:37:45 +08:00
Huanqi Cao
1361e9718e
Merge remote-tracking branch 'origin/feat/ripgrep-packaged-binary' into feat/pwsh-tool
...
# Conflicts:
# apps/cli/package.json
# packages/core/tools/tests/gen-tool-catalog.spec.ts
2026-08-02 16:22:24 +08:00
Huanqi Cao
782894ff8c
Merge remote-tracking branch 'origin/master' into feat/ripgrep-packaged-binary
2026-08-02 16:18:46 +08:00
Huanqi Cao
4e62fea095
docs: record the pwsh/bash parity decision and refresh catalogs and bilingual pairs
2026-08-02 14:18:55 +08:00