Turtle
3a6c253cc7
test(web): refresh queue-actions golden for the lineage-free header
...
PR #1100 recorded the golden with the session-lineage navigation still in
the header; PR #1099 removed it. Master's snapshots job was skipped on the
combining merge, so the conflict first surfaced on the next PR's CI.
2026-07-31 22:29:14 +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
Turtle
998f9c931d
Merge remote-tracking branch 'origin/master' into fix/tui-terminal-restore-on-boot-failure
2026-07-31 22:11:50 +08:00
_Kerman
afedf18ccf
fix inbox lifecycle downstream contracts
2026-07-31 22:00:39 +08:00
Wenlu Wang
e3e6621e48
Merge branch 'master' into codex/goal-clear-single-flight
2026-07-31 21:54:14 +08:00
Wenlu Wang
9a3bdd599c
Merge pull request #1099 from deepseek-harness/codex/hide-session-lineage-header
...
fix(web): hide session lineage in header
2026-07-31 21:51:56 +08:00
kingwl
7b826bf16c
Merge remote-tracking branch 'origin/master' into codex/remove-scoped-bash
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 21:32:02 +08:00
kingwl
6879c0c9ca
Merge remote-tracking branch 'origin/master' into codex/hide-session-lineage-header
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 21:31:04 +08:00
kingwl
aa85e0c6cd
Merge remote-tracking branch 'origin/master' into codex/goal-clear-single-flight
2026-07-31 21:30:22 +08:00
kingwl
32972f1675
Merge remote-tracking branch 'origin/master' into codex/web-stop-preserve-queue
2026-07-31 21:30:19 +08:00
Ziya
3a01dc814e
Merge pull request #1088 from deepseek-harness/agent/web-context-injection-auto-height
...
fix(web): let context injection cards fit content
2026-07-31 09:28:45 -04:00
kingwl
07b0efc49e
fix(web): hide session lineage in header
2026-07-31 21:08:57 +08:00
kingwl
690ca800b4
fix(test): assign goal e2e to host program
2026-07-31 20:55:43 +08:00
kingwl
e73cdd6b7d
fix(web): single-flight goal clear
2026-07-31 20:54:23 +08:00
kingwl
32a0e871b7
fix(web): preserve queue on stop
2026-07-31 20:51:05 +08:00
07akioni
0c59e3e089
fix: cr
2026-07-31 20:48:22 +08:00
07akioni
575e1217bb
fix: remove scoped bash
2026-07-31 20:47:55 +08:00
Tianyi Cui
1f6f1cc32f
Merge origin/master into workspace-write default
...
# Conflicts:
# apps/cli/README.i18n.yaml
2026-07-31 20:44:15 +08:00
Tianyi Cui
b694c33d18
Default shipped UI sessions to workspace-write
2026-07-31 20:39:53 +08:00
Turtle
b35b06396d
fix(app-boot): keep the fail-loud exit fatal while the terminal is released
...
Review of the previous commit found two defects in the release path, both
reproduced against the implementation:
- The timeout guarding a never-settling release was unref'ed. An
unhandledRejection listener suppresses Node's default fatal exit, so with
nothing else referenced the process reached an empty event loop and exited
0 on the very failure it was reporting. Keep the timer referenced and clear
it once the race settles.
- The handler uninstalled itself before awaiting the release. A second
concurrent rejection then became uncaught and killed the process
mid-teardown, stranding exactly the terminal state this restores. Replace
the uninstall with a latch: the first rejection is the reported one, and
later rejections (teardown's own included) fall through to the pending exit.
Add the PTY regression the fake-process tests cannot express: boot the shipped
tree over a fixture whose llm-pi-ai providers value is list-shaped, expect exit
1, and assert the captured bytes carry both the diagnostic and ESC[?2004l.
Against the pre-fix source the stream ends at ESC[?2004h ESC[>7u ESC[?u ESC[c
with no reset and the case fails, so it pins the actual bug.
Split the two-shape formatting test into one install per case; a latched
handler reports once by design.
2026-07-31 20:37:16 +08:00
Turtle
70f37206d2
fix(app-boot): release the terminal before a fatal load exit
...
A dsh launch whose config failed validation returned the user to a broken
shell: typing was invisible and the next command was mangled by a stray
Device Attributes reply (1;2;4cecho ...).
The Loader mounts entries concurrently, so ui-tui can already hold the
terminal (raw mode, bracketed paste, keyboard protocol, plus an in-flight
DA query) when a sibling entry rejects on its own config. installFailLoud
wrote its diagnostic and exited immediately, so nothing disposed the tree
and ProcessTerminal.stop() never ran.
Give installFailLoud an optional release teardown, awaited between the
diagnostic and the exit and bounded by FAIL_LOUD_RELEASE_TIMEOUT_MS. The
TUI launcher passes one that disposes the root context, reaching the same
shutdown() the /exit path already uses (drainInput() + ui.stop()). The
context is captured in boot()'s prepare hook because the rejection arrives
while boot() is still in flight.
Bins that pass no release keep the previous behavior exactly.
2026-07-31 20:37:16 +08:00
Tianyi Cui
e1c6fc3db4
Merge pull request #1032 from deepseek-harness/xtr/trajectory-timeline-polish
...
fix(trajectory): polish timeline timing and layering
2026-07-31 20:25:08 +08:00
ZiyaZhang
5e68d812d1
fix(web): let context injection cards fit content
2026-07-31 05:20:54 -07:00
Turtle
dc88440dad
Merge remote-tracking branch 'origin/master' into codex/experimental-cli-command-names
...
# Conflicts:
# apps/cli/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
2026-07-31 20:18:15 +08:00
Turtle
60a0bcd358
feat(cli): mark meta and upgrade commands experimental
2026-07-31 20:16:19 +08:00
_Kerman
e921fae362
Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-polish
2026-07-31 20:12:20 +08:00
Tianyi Cui
e1eb581f2b
Merge pull request #1018 from deepseek-harness/feature/tui-first-run-welcome
...
feat(tui): add versioned first-run welcome
2026-07-31 20:08:56 +08:00
_Kerman
966add3305
Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-polish
2026-07-31 20:01:50 +08:00
_Kerman
dd98d15b1d
Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-polish
...
# Conflicts:
# packages/client/ui-trajectory/src/client/timeline.ts
# packages/client/ui-trajectory/tests/views.spec.tsx
2026-07-31 20:01:16 +08:00
Tianyi Cui
4ada0017cf
fix(install): build workspace artifacts before web
2026-07-31 19:57:51 +08:00
_Kerman
094f1976c4
fix(trajectory): lighten summary section headings
2026-07-31 19:53:55 +08:00
Tianyi Cui
76f3b402e1
Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
2026-07-31 19:48:14 +08:00
Tianyi Cui
c83159f1c0
test(cli): acknowledge welcome in composition smoke
2026-07-31 19:48:04 +08:00
imccyu
23ee31efc0
Merge branch 'master' into fix/remove-badge
2026-07-31 19:47:55 +08:00
Tianyi Cui
0d949cfe67
feat(install): choose web or tui after setup
2026-07-31 19:47:54 +08:00
Tianyi Cui
d64b032311
Merge pull request #1082 from deepseek-harness/worktree/fix-web-duplicate-folder-names-20260731
...
fix(workspace): allow same-basename folders in Web
2026-07-31 19:37:38 +08:00
07akioni
410a837e02
Merge remote-tracking branch 'origin/master' into fix/remove-badge
2026-07-31 19:33:01 +08:00
Tianyi Cui
e0cedd16b8
Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
2026-07-31 19:25:27 +08:00
Tianyi Cui
7d04e4654a
Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
...
# Conflicts:
# apps/cli/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
2026-07-31 19:23:34 +08:00
Ziya
9b1486f90f
Merge pull request #1078 from deepseek-harness/fix/web-turn-error-surface
...
fix(web): surface terminal turn failures
2026-07-31 07:23:09 -04:00
Tianyi Cui
2abf643326
Merge pull request #1040 from deepseek-harness/feat/recommended-deployment-presets
...
feat(cli): even out the shipped tool rosters across both surfaces
2026-07-31 19:21:18 +08:00
07akioni
94a600eddd
Merge branch 'master' into fix/remove-badge
2026-07-31 19:19:55 +08:00
Tianyi Cui
3aa98ba609
Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/README.md
# apps/cli/README.zh.md
2026-07-31 19:17:50 +08:00
hypatiamay
dcc9e50f84
Merge pull request #1026 from deepseek-harness/feat/compaction-progress-visibility
...
feat(tui): show live compaction progress
2026-07-31 19:17:43 +08:00
Tianyi Cui
c16e33d8db
Merge latest master into feat/recommended-deployment-presets
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/web/tsconfig.json
# tsconfig.host.json
2026-07-31 19:16:05 +08:00
Tianyi Cui
53e7e5b247
docs(cli): track welcome storage migration
2026-07-31 19:14:24 +08:00
07akioni
1766461947
Merge remote-tracking branch 'origin/master' into fix/remove-badge
2026-07-31 19:13:22 +08:00
Ziya
9473951c79
Merge branch 'master' into fix/web-turn-error-surface
2026-07-31 07:13:02 -04:00
07akioni
f9dc4aa702
feat: remove "插话" badge displayed in user message
2026-07-31 19:12:16 +08:00
hypatiamay
57761539b4
Merge pull request #989 from deepseek-harness/feat/manual-compact-single-lock
...
feat(compact): add queued manual /compact
2026-07-31 19:10:48 +08:00