Commit Graph
4893 Commits
Author SHA1 Message Date
Tianyi Cui 16e1734444 Merge origin/master at 90bc53cc64 into skill catalog hot refresh 2026-07-29 21:43:13 +08:00
Tianyi Cui 502e64c00d Merge origin/master at ecbf75a5e7 into skill catalog hot refresh 2026-07-29 21:42:18 +08:00
Tianyi Cui a45a187a90 Merge commit '90bc53cc64dc684dc3d741f45ae6a8d548c188f9' into worktree/retarget-pr828-20260729 2026-07-29 21:42:13 +08:00
Tianyi Cui d70cfed4e8 Merge master into fix/subprocess-password-scrub 2026-07-29 21:40:50 +08:00
Tianyi Cui fe61b243d7 Merge commit '90bc53cc64dc684dc3d741f45ae6a8d548c188f9' into worktree/retarget-pr831-20260729 2026-07-29 21:40:28 +08:00
imccyu f4bc0a4a86 Merge remote-tracking branch 'origin/master' into feat/input-command-interaction 2026-07-29 21:40:28 +08:00
Tianyi Cui e1984cbfd9 Merge commit '90bc53cc64dc684dc3d741f45ae6a8d548c188f9' into worktree/retarget-pr885-20260729 2026-07-29 21:40:13 +08:00
Tianyi Cui a5446e3160 Merge master into fix/subprocess-password-scrub
# Conflicts:
#	packages/lsp/lsp-local/README.i18n.yaml
#	packages/subprocess/subprocess-local/README.i18n.yaml
#	packages/subprocess/subprocess-local/README.zh.md
2026-07-29 21:38:24 +08:00
Tianyi Cui 32aaa8983e Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr885-20260729
# Conflicts:
#	docs/development.i18n.yaml
#	packages/client/ui-conversation/src/client/chat/MessageItem.tsx
#	packages/client/ui-primitives/src/markdown/CodeBlock.tsx
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-29 21:37:43 +08:00
Turtle adacacaa4f docs(client): point registration at web overlay 2026-07-29 21:37:18 +08:00
Tianyi Cui 98e6a0573f fix(fs): keep one editor path contract 2026-07-29 21:37:12 +08:00
Turtle b7401d064a docs(ui): drop unrelated translation churn 2026-07-29 21:36:07 +08:00
creatixchu eac3b378fa fix(host): review round 6 — progressive selection-anchored landing; anchor on actual parent entries; focus-flag hygiene 2026-07-29 21:34:30 +08:00
Tianyi Cui 7f711996ff Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr828-20260729
# Conflicts:
#	packages/hooks/README.i18n.yaml
#	packages/hooks/README.zh.md
#	packages/hooks/hook-protocol/README.i18n.yaml
#	packages/hooks/hook-protocol/README.zh.md
#	packages/hooks/hooks-claude/README.i18n.yaml
#	packages/hooks/hooks-claude/README.zh.md
#	packages/hooks/hooks-codex/README.i18n.yaml
#	packages/hooks/hooks-codex/README.zh.md
2026-07-29 21:34:29 +08:00
Turtle 0a2ed84665 docs(tui): explain non-strict sibling service lookup 2026-07-29 21:33:58 +08:00
Tianyi Cui 205702adaf fix(pty): reset persistent shell on cancellation 2026-07-29 21:33:39 +08:00
Tianyi Cui 754e163663 Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 21:26:44 +08:00
Tianyi Cui 6b26126b3a fix(fs): preserve tabs during editor mutations 2026-07-29 21:25:56 +08:00
Tianyi Cui 44fe621f3f Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr831-20260729
# Conflicts:
#	packages/context/workspace-context/README.i18n.yaml
#	packages/context/workspace-context/README.zh.md
2026-07-29 21:25:44 +08:00
imccyu f2aa63f756 Merge branch 'master' into worktree-renameweb 2026-07-29 21:25:14 +08:00
Turtle b6552fcf3e Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
# Conflicts:
#	packages/context/README.i18n.yaml
#	packages/context/README.md
#	packages/context/README.zh.md
2026-07-29 21:24:46 +08:00
Tianyi Cui f8df313f21 fix(pty): preserve persistent bash exit status 2026-07-29 21:24:33 +08:00
imccyu 76b4563380 Merge remote-tracking branch 'origin/master' into feat/input-command-interaction 2026-07-29 21:23:13 +08:00
Tianyi Cui ae4a6081be Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 21:22:07 +08:00
Turtle b9fb7ef6d2 test(agent-loop): cover launcher-owned identities 2026-07-29 21:21:58 +08:00
imccyu 70c6ffda7e Merge branch 'master' into fix/page-scroll 2026-07-29 21:21:25 +08:00
imccyu bf8db964d4 Merge branch 'master' into xtr/trajectory-inspection-ui 2026-07-29 21:20:38 +08:00
Tianyi Cui 52d68a5383 fix(skill): retain candidates across watcher failures 2026-07-29 21:17:27 +08:00
Tianyi Cui 48cf50fc55 fix(skill): cancel opening watchers on dispose 2026-07-29 21:17:04 +08:00
Turtle d2c7aaddc7 fix(rebase): restore consolidated documentation state 2026-07-29 21:16:31 +08:00
Turtle 9970f60969 test: cover overlays and refresh translation snapshot 2026-07-29 21:15:48 +08:00
Turtle 984830c940 fix(tui): isolate each process query index 2026-07-29 21:15:48 +08:00
Turtle fdd113ce5e fix(tui): read mounted session query during sibling activation 2026-07-29 21:15:48 +08:00
Turtle bee0a77aad chore: refresh generated review records 2026-07-29 21:15:48 +08:00
Turtle 33286a0ff5 docs(cordis): remove registry API remnants 2026-07-29 21:15:48 +08:00
Turtle ea9315841f refactor(session): exclude live-session registry foundation 2026-07-29 21:15:48 +08:00
Turtle 9e2c3d3093 refactor(cli): exclude tmux context and source guard 2026-07-29 21:15:48 +08:00
Turtle 98086a88d5 docs(host): update config-tree link pairing 2026-07-29 21:15:42 +08:00
Turtle 571562788d chore: reconcile extracted foundation with current master 2026-07-29 21:15:42 +08:00
Turtle f290a8b851 refactor(cli)!: one shared base config with per-surface overlays
`dsh` shipped two config trees that were 43 rows the same: apps/cli/cordis.yml
composed web as 74 flat rows, while the TUI booted examples/tui-agent/cordis.yml
whose single `@deepseek-ai/dsh-tui-demo` row mounted twelve plugins behind a
twenty-key pass-through Config. Neither file was what its location claimed —
apps/cli hardcoded the "example" as the product default and the "demo" bundle
was the application — and every capability change had to be made twice.

- apps/cli/base.cordis.yml holds the 43 shared rows; tui.cordis.yml and
  web.cordis.yml are patch lists stating only what differs per surface
- overlays apply as SIBLING patch lists at one include level, because include
  patches never cross an include boundary. Precedence: base < surface <
  (--config | personal ~/.dsh/config.yaml) < launcher flag/profile patches
- `--config` now applies an overlay INSTEAD OF the personal one, so a demo or
  test tree never inherits the user's route; new `--config-replace` boots a file
  as the entire tree (the old `--config` behaviour). Both survive /resume
- vendor/include: index each `insert`ed row as it is added so a later patch can
  configure or disable it. Upstream built the id index once before the patch
  loop, leaving every surface-only row — the whole TUI front door — silently
  unpatchable from user config. Logged as local modification 8
- session identity moves to dsh-agent-loop's CONFIGURED_AGENT_IDENTITIES_KEY;
  dsh-tui's MAIN_SESSION_ID_KEY is deleted (only the bundle read it)
- delete examples/tui-agent, examples/cordis-agent, packages/examples/tui-demo;
  TUI tests → apps/cli/tests, cordis e2e → packages/cordis/tool-cordis/tests,
  examples/code-mode survives as an overlay leaf
- `dsh web` gains --config, threaded into AppCLIEntry as an extra overlay

Three latent defects surfaced and are fixed here: the TUI captured the optional
sessionQuery service once at construction and could permanently disable /resume
when it won the mount race; the session-store root silently reverted to a
project-local ./.sessions; --config-replace was dropped by the resume handoff.

Verified by booting each tree through the real Loader (TUI 55 entries, web 75,
zero unsettled) rather than reading YAML. All eight terminal snapshots replay
byte-identically; 14/14 PTY smoke, 112/112 snapshots, 25/25 doc-sync, hygiene
and lint clean.
2026-07-29 21:15:42 +08:00
Turtle e7c0a5b794 Merge origin/master: web permission sandbox, default pi-ai providers 2026-07-29 21:15:34 +08:00
Turtle 42e3cceb64 feat(paths): add resolveSessionsRoot as the one shared session-store root
Every surface that persists or lists sessions resolves one directory under
the Harness home, so history is shared across working directories instead
of scattered per project.
2026-07-29 21:14:49 +08:00
creatixchu a1d752f799 feat(host): navigations land selection-anchored — crumb jumps step back a pane instead of collapsing 2026-07-29 21:12:04 +08:00
Tianyi Cui e9233123eb fix(skill): ignore unchanged missing-root probes 2026-07-29 21:12:01 +08:00
creatixchu f0f897ef02 fix(host): address ds-review-bot v7 on the adaptive picker chooser
- resolve.ts: gate the display branch on linux (the native backend drives
  exactly darwin/win32/linux) and require a zenity/kdialog binary on PATH,
  probed once at boot (new probe.ts, injected predicate for tests); type
  bindHost as the webserver schema's closed union.
- index.ts: the disposer now joins the removed entry's fiber teardown so
  unloading the chooser settles only after the backend quiesced; export
  BACKEND_PACKAGES as the runtime-string source of truth.
- verify-cordis-config: a composition mounting -auto must declare both
  backends as dependencies (negative-tested), since keyless Linux CI only
  ever resolves browse and would hide a dropped -native dep.
- apps/web scaffold: pin -browse via disable+insert (goldens are
  interaction-specific); fix the stale workspace-flow comment.
- docs/module-graph.md regenerated; README + Agent Note document the
  ssh -L shape, the PATH-only probe, and the new gate (zh pairs re-paired).
- composition spec: assert teardown quiescence without a loader await,
  cover external entry removal, and await the loader's self-dispose
  disabled-persist so it cannot race temp-dir teardown.
2026-07-29 21:09:02 +08:00
imccyu 45b21bcc3c fix(client): mark independent replay projections 2026-07-29 21:07:53 +08:00
Tianyi Cui 5c0c59847b Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729
# Conflicts:
#	packages/client/ui-skill/README.i18n.yaml
#	packages/client/ui-skill/README.zh.md
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/skill/skill-local/README.i18n.yaml
#	packages/skill/skill-local/README.zh.md
#	packages/skill/skill/README.i18n.yaml
#	packages/skill/skill/README.zh.md
#	packages/skill/tool-skill/README.i18n.yaml
2026-07-29 21:05:09 +08:00
07akioni 08d097077e fix: cr 2026-07-29 21:03:40 +08:00
Tianyi Cui 4997846e45 refactor(hooks): simplify regex pool entry 2026-07-29 20:58:28 +08:00
imccyu 6e8ad4b382 Merge remote-tracking branch 'origin/master' into worktree-renameweb
# Conflicts:
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/README.zh.md
#	packages/session-title/session-title/README.i18n.yaml
#	packages/session-title/session-title/README.zh.md
2026-07-29 20:58:22 +08:00