Commit Graph
9203 Commits
Author SHA1 Message Date
Turtle 857a4941be fix(cli): restore shipped surface capabilities 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 030b044350 fix(cli): reject leaked config replacement flags 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 991c1f14b6 docs: remove retired TUI demo graph row 2026-07-29 21:15:48 +08:00
Turtle 9e3383f727 docs: regenerate catalogs after feature exclusions 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 c1324ee896 fix(cli): preserve overlays without session registration 2026-07-29 21:15:42 +08:00
Turtle 8f2f6ef0ac refactor(cli): exclude live-session registry surface 2026-07-29 21:15:42 +08:00
Turtle a459a918e2 fix(cli): remove obsolete resolver dependencies 2026-07-29 21:15:42 +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 10ff76de9c fix(cli): declare every plugin the shipped config trees name
The Loader resolves each config row against the composing app, so moving the
TUI composition from examples/ into apps/cli left eleven rows unresolvable from
the built bin: `node apps/cli/lib/bin.js` died at boot with "plugin(s) failed to
load". Source-mode runs hid it, because tsconfig paths resolve the whole
workspace regardless of who declares what.

Also declares `dsh-llm-pi-ai` and `dsh-tmux-context`, which a personal
`~/.dsh/config.yaml` inserts to swap the model adapter. Those previously
resolved only because the config lived under examples/, whose package.json
declares the union of every leaf's plugins.

Caught by running the built bin from a scratch directory, which is how a user
actually starts it.
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
imccyu 8dca750c8e Merge branch 'master' into trajectory-history-source 2026-07-29 21:12:31 +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
Tianyi Cui b7deaf7ee7 Merge commit 'refs/codex/pr758/live-master' into HEAD 2026-07-29 21:11:34 +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
07akioni 935871e38b Merge branch 'master' into fix/page-scroll 2026-07-29 21:07:59 +08:00
imccyu 45b21bcc3c fix(client): mark independent replay projections 2026-07-29 21:07:53 +08:00
Tianyi Cui de4f2a12f0 Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 21:06:24 +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
imccyu e10bf246fb Merge pull request #909 from deepseek-harness/fix/tsconfig-paths
fix: add missing client tsconfig path mappings
2026-07-29 21:05:02 +08:00
07akioni 08d097077e fix: cr 2026-07-29 21:03:40 +08:00
Tianyi Cui 4926fa18ec Merge commit 'refs/codex/pr758/live-master' into HEAD 2026-07-29 21:01:55 +08:00
imccyu a93c46c43a Merge branch 'master' into fix/tsconfig-paths 2026-07-29 20:58:57 +08:00
Ziya 6e1c4e4583 Merge pull request #834 from deepseek-harness/fix/translation-brief-uncommitted-pair
fix(i18n): persist uncommitted translation snapshots
2026-07-29 08:58:41 -04: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
imccyu b23c3d596a Merge remote-tracking branch 'origin/master' into trajectory-history-source 2026-07-29 20:58:04 +08:00
07akioni 2a12057345 fix: ci 2026-07-29 20:56:56 +08:00
Tianyi Cui b060b6f5f6 Merge commit 'refs/codex/pr758/master' into HEAD
# Conflicts:
#	packages/context/README.i18n.yaml
#	packages/context/README.zh.md
2026-07-29 20:55:09 +08:00
Tianyi Cui 4368c2d40c Merge branch 'master' into fix/translation-brief-uncommitted-pair 2026-07-29 20:54:30 +08:00
imccyu fe42df2426 Merge branch 'master' into fix/tsconfig-paths 2026-07-29 20:50:08 +08:00
Yif e8c265a337 docs: regenerate cordis catalog and doc graphs for shifted source lines 2026-07-29 20:46:30 +08:00
Yif be9042e5a1 docs(client): sync package READMEs and agent notes with the input interaction rework
Update the six touched client package README pairs (slash menu ordering,
localized group titles and dismiss, permission label twin, goal pause,
plan hint localization, useAnchoredMaxHeight) and keep the owning agent
notes current: SlashSource.order and the MenuView dismiss/localize/clamp
face in the slash-pipeline note, the pause verb in the goal bar note.
2026-07-29 20:46:29 +08:00
imccyu 64acc5874b test(client): cover independent trajectory history 2026-07-29 20:46:02 +08:00
Tianyi Cui cf7f14948c test(tui): match durable skill catalog source 2026-07-29 20:45:00 +08:00
Tianyi Cui cf390cc6fd fix(skill): recognize empty catalog tombstones 2026-07-29 20:44:06 +08:00
imccyu 14b4689e02 fix: tsconfig.base 2026-07-29 20:42:40 +08:00
07akioni 382884e237 fix: scroll to bottom 2026-07-29 20:39:45 +08:00
07akioni 63e1054916 Merge branch 'master' into fix/page-scroll 2026-07-29 20:36:11 +08:00
Tianyi Cui 77a536855b Merge pull request #894 from deepseek-harness/xjt/readme-proofreading-batch-1
docs(i18n): proofread README translations
2026-07-29 20:30:00 +08:00
07akioni a4602b959e feat: optimize chat page scroll area 2026-07-29 20:26:48 +08:00
xjt 795bdda223 Merge remote-tracking branch 'origin/master' into xjt/readme-proofreading-batch-1
# Conflicts:
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.zh.md
2026-07-29 20:21:48 +08:00
imccyu e0022ff19e refactor(client): isolate trajectory history 2026-07-29 20:21:37 +08:00