Commit Graph

8406 Commits

Author SHA1 Message Date
Tianyi Cui
ad686ea40a Merge pull request #1130 from deepseek-harness/fix/goal-ref-shape
fix(goal): emit bare GoalRef in fold lastRef and goal/changed notifications
2026-08-02 02:52:18 +08:00
Tianyi Cui
23610c6abd fix(goal): emit bare GoalRef in fold lastRef and goal/changed notifications
goalChangeRef returned the full GoalSnapshot for every snapshot operation,
so foldGoal(...).lastRef and the goal/changed notification ref carried
objective, phase, and maxGoalRounds fields instead of the declared
GoalRef { id, revision }. Only the clear tombstone was bare. Emit an exact
{ id, revision } ref for snapshot changes and pin the contract with a
regression test covering create/edit/block notifications and the fold.
2026-08-02 02:25:24 +08:00
Tianyi Cui
e10239b3fa Merge pull request #936 from deepseek-harness/worktree/repository-plugins-app
feat: configure repository plugins from DSH home
2026-08-02 01:59:07 +08:00
Tianyi Cui
c96f48e176 fix(review): tolerate mid-teardown personal-watcher registration
CI caught a startup race the PTY smoke stages naturally: a TUI /exit typed
while watchPersonalPatches is still opening its watcher disposes the tree,
and the HMR effect registration rejects with INACTIVE_EFFECT, crashing an
app that exited exactly as asked. Return a no-op disposer for that exact
code; every other registration failure still propagates (covered both ways).
2026-08-02 01:29:04 +08:00
Tianyi Cui
b6284c8467 fix(review): audit prepared-wrapper activation and pin generated shapes
ds-review-bot round 1 on the DSH-home integration:
- generated wrappers now inject the services their manifest needs (skills/
  tools beside loader), and loadPreparedRepository rejects a wrapper fiber
  that settles anything but ACTIVE — a composition missing a required
  service fails the repository transaction instead of committing an ACTIVE
  row over a silently PENDING child (critical finding)
- the github: source ref segment excludes '#', so 'a#b' refs fail at the
  config parser with the promised syntax instead of inside pnpm
- watchPersonalPatches re-reads the include's non-patch options per refresh
  instead of a registration-time snapshot
- the TUI smoke's cache-seeded wrapper is produced by the real
  prepareDshPlugin (cache LAYOUT stays a deliberate external pin)
- new Loader integration test drives a live repositories update through
  entry.update: generation swap, old skills removed, failed candidate
  rolled back to the previous generation
2026-08-02 01:29:04 +08:00
Tianyi Cui
2448496803 feat: configure repository plugins from DSH home 2026-08-02 01:29:04 +08:00
Tianyi Cui
0664b25cd9 fix(review): validate skill roots at mount and isolate provider default roots
ds-review-bot round 1 on the repository-plugin runtime:
- a manifest-declared skill root absent or non-directory in the installed
  package now fails the plugin load (skill-local treats a missing root as
  legitimately empty, which silently mounted a skill-less plugin)
- includeDefaultRoots: false no longer inherits $DSH_BUNDLED_SKILL_DIR, so
  isolated repository providers see only their explicit roots
- prepared wrapper baseUrl schema requires the file: scheme, failing hostile
  URLs at the declared validation boundary
- preparedPath reuses format.ts's isOutside; SERVER_NAME_PATTERN is exported
  and pinned equal to dsh-mcp-client's, with the restatement justified (the
  prepare bin keeps a zod-only module graph); the unexplained `as never`
  cast now carries its schemastery rationale
- the import-free wrapper assertion also rejects dynamic import(
- the headless fixture wrapper is regenerated by the real prepareDshPlugin
  and a drift test pins fixture == generator output
- prepareDshPlugin JSDoc states the non-atomic publish repair contract
2026-08-02 01:25:02 +08:00
Tianyi Cui
a0aed8a19f fix(examples): own repository plugin startup order 2026-08-02 01:25:02 +08:00
Tianyi Cui
a7b84bec68 fix(lockfile): link repository plugin to vendored Cordis 2026-08-02 01:25:02 +08:00
Tianyi Cui
fa7051a9d1 feat: add static repository plugin format 2026-08-02 01:25:02 +08:00
Tianyi Cui
fd4d369907 feat(cordis): add repository package cache 2026-08-02 01:25:02 +08:00
Tianyi Cui
f941ba1b5f fix(review): label host-preparation failures and gate vendored lockfile links
ds-review-bot round 1: boot() now throws `host preparation failed` when
prepare() rejects before any config-tree entry mounts (the plugin-tree label
overstated), and the new hygiene gate verify-vendored-links pins the
linkWorkspacePackages fix — every vendored package name in pnpm-lock.yaml
must resolve to a workspace link with no registry copy alongside.
2026-08-02 01:25:01 +08:00
Tianyi Cui
0a297c39d3 fix(cordis): preserve concurrent loader composition 2026-08-02 01:25:01 +08:00
Tianyi Cui
2fe205f01a fix(cordis): clear omitted include patches 2026-08-02 01:25:01 +08:00
Tianyi Cui
560f3abd21 fix(vendor): link Cordis workspaces in built artifacts 2026-08-02 01:25:01 +08:00
Tianyi Cui
195f7fa9af fix(cordis): make config reload transactional 2026-08-02 01:25:01 +08:00
Ni Shentu
f8eb6a9b84 Merge pull request #830 from deepseek-harness/fix/web-gui-feedback-loop
fix(web): make agents update and verify the current GUI
2026-08-02 01:20:14 +08:00
Tianyi Cui
52a715d303 fix(web): allow profiles without native bash env 2026-08-02 01:13:58 +08:00
Tianyi Cui
2309f97a16 chore(bash): mark bashEnv ownership FIXME 2026-08-02 00:57:15 +08:00
Tianyi Cui
00f156fcde Merge remote-tracking branch 'origin/fix/web-agent-runtime-context' into worktree/pr830-retarget-review-20260801
# Conflicts:
#	apps/cli/src/web.ts
2026-08-02 00:56:14 +08:00
Tianyi Cui
6cd9fefe88 fix(cli): register web prompt context before boot 2026-08-02 00:49:58 +08:00
Tianyi Cui
0758839b00 Merge fix/web-agent-runtime-context into fix/web-gui-feedback-loop 2026-08-01 22:15:36 +08:00
Tianyi Cui
d74048345a Merge origin/master into fix/web-agent-runtime-context 2026-08-01 22:04:10 +08:00
Tianyi Cui
07202e67ba Merge pull request #1094 from deepseek-harness/worktree/default-workspace-write-ui-20260731
Default TUI and Web sessions to workspace-write
2026-08-01 20:01:48 +08:00
Tianyi Cui
95e0dc0583 Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731 2026-08-01 19:55:15 +08:00
Tianyi Cui
8a36dd4280 Merge pull request #1091 from deepseek-harness/feature/installer-adopt-checkout
feat(install): adopt an existing checkout into the managed layout
2026-08-01 19:51:12 +08:00
Tianyi Cui
3b9afd2f29 Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731 2026-08-01 19:48:47 +08:00
imccyu
40172b6e08 Merge pull request #1095 from deepseek-harness/codex/remove-scoped-bash
fix: remove scoped Bash UI
2026-08-01 19:46:47 +08:00
Tianyi Cui
b02b7b2e50 Merge remote-tracking branch 'origin/master' into feature/installer-adopt-checkout 2026-08-01 19:44:12 +08:00
imccyu
d6d6eced06 Merge branch 'master' into codex/remove-scoped-bash 2026-08-01 19:42:10 +08:00
Tianyi Cui
cb57ee9fad Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731 2026-08-01 19:41:42 +08:00
Tianyi Cui
c3463ffd62 Merge pull request #1085 from deepseek-harness/worktree/install-interface-choice
feat(install): choose Web UI or TUI after setup
2026-08-01 19:41:04 +08:00
Tianyi Cui
09b02ab18e Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731 2026-08-01 19:40:17 +08:00
Ziya
7ba9059056 Merge pull request #1116 from deepseek-harness/agent/fix-frontend-plugin-loader-dependency
fix(cli): point missing frontend dist at full build
2026-08-01 07:40:01 -04:00
Tianyi Cui
d24879a413 Merge branch 'master' into codex/remove-scoped-bash 2026-08-01 19:38:11 +08:00
Wenlu Wang
e0053e2261 Merge pull request #1097 from deepseek-harness/codex/goal-clear-single-flight
fix(web): single-flight goal clear
2026-08-01 19:37:42 +08:00
Tianyi Cui
1d86be1b74 docs(install): correct managed-layout comments 2026-08-01 19:35:48 +08:00
Tianyi Cui
0385638a35 test: refresh translation prompt for installer docs 2026-08-01 19:35:43 +08:00
Tianyi Cui
43bbfce7ee test(web): refresh preserved queue access snapshot 2026-08-01 19:33:45 +08:00
Tianyi Cui
c2171ef1f4 Merge branch 'master' into codex/goal-clear-single-flight 2026-08-01 19:33:21 +08:00
Tianyi Cui
d963a36792 Merge remote-tracking branch 'origin/master' into feature/installer-adopt-checkout 2026-08-01 19:31:44 +08:00
Tianyi Cui
1892d97930 Merge origin/master into worktree/install-interface-choice 2026-08-01 18:06:49 +08:00
Tianyi Cui
d0a0bb92ca Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-08-01 18:06:19 +08:00
Tianyi Cui
d7289febdb Merge pull request #959 from deepseek-harness/fix/checkout-workdir-prompt
fix(prompt): distinguish checkout from workdir
2026-08-01 17:54:34 +08:00
Tianyi Cui
d8980d0336 Merge pull request #1106 from deepseek-harness/feat/experimental-subcommand-gate
feat: rename experimental-meta/-upgrade to meta/upgrade behind an --experimental gate
2026-08-01 17:53:36 +08:00
ZiyaZhang
46681457c2 Merge remote-tracking branch 'upstream/master' into agent/fix-frontend-plugin-loader-dependency 2026-08-01 02:12:33 -07:00
ZiyaZhang
90c5635355 fix(cli): point missing frontend dist at full build 2026-08-01 02:12:22 -07:00
Ziya
de520bee24 Merge pull request #1113 from deepseek-harness/agent/web-math-rendering
feat(web): render TeX math in Markdown
2026-08-01 05:04:40 -04:00
ZiyaZhang
8ce4f07f92 fix(web): defer math rendering while streaming 2026-08-01 00:58:50 -07:00
ZiyaZhang
1e334fa955 feat(web): render TeX math in Markdown 2026-08-01 00:05:23 -07:00