Commit Graph
5486 Commits
Author SHA1 Message Date
Tianyi Cui a2501d0779 Merge pull request #5828 from deepseek-harness/worktree/deps-20261007-test-tools
chore(deps): update test and lint dependencies
2026-10-07 18:07:52 +08:00
Tianyi Cui b931f1f9f7 Merge pull request #5713 from deepseek-harness/worktree/session-title-reasoning-20261005
fix(llm,session-title): configure prepared calls from model capabilities
2026-10-07 18:02:41 +08:00
Tianyi Cui eff2f8a92b chore(deps): update test and lint dependencies 2026-10-07 16:57:54 +08:00
Tianyi Cui 5969359dc4 chore(deps): update mature runtime utilities 2026-10-07 16:41:17 +08:00
Tianyi Cui 36f12b6f6e Merge pull request #5800 from deepseek-harness/worktree/ptc-providers/remove-both
refactor(tools)!: remove unused mixed tool presentation
2026-10-07 15:34:35 +08:00
Tianyi Cui ffb88d331e feat(llm): resolve minimum reasoning during call preparation 2026-10-07 14:33:23 +08:00
Tianyi Cui 0f36dcb014 test(cli): report a rehearsal stage and a stalled operation's blocker
The packed rehearsal now names each stage on the child's stdout and bounds the
manager's removal, so an operation that never settles reports the profile lock
and the still-live pnpm process instead of only a test timeout. That evidence
located pnpm 11.7.0 leaving its worker pool alive after a short-circuit return
(pnpm issue 12297, fixed in 11.23.0 and carried by this stack's base).

Three attempts to keep pnpm off that path — a private pnpm store, installing
both bundles before removing either, and pre-declaring the profile's age
exemptions — did not change the outcome, so none of them remain.
2026-10-07 14:07:28 +08:00
Tianyi Cui b99a2c147f fix(scripts): address review findings in the local bundle registry
- The summary lists only the catalog roots as installable specs; the other 29
  archives stay in the run manifest, where the installer resolves them itself.
- Only a pnpm entrypoint receives pnpm's arguments, a catalog root counts as a
  required edge for platform admission, and a signal that stops packing reports
  the interrupted exit instead of an exception.
- The packed rehearsal names the Agent SDK's musl artifact on musl hosts again,
  and its comments match what the fixture does.
- The cache test registers its pnpm children for termination, and a new case
  keeps one profile and its real lockfile: pnpm refuses a new run's URL with
  ERR_PNPM_TARBALL_URL_MISMATCH until the stale resolution is cleared with
  pnpm's own `pnpm clean --lockfile` remedy, which the desktop README now
  documents for same-version iteration.
2026-10-07 14:07:28 +08:00
Tianyi Cui c26b658e61 test(cli): keep the packed rehearsal's primary failure visible
The teardown asserted the Web process's SIGTERM exit inside `finally`, so a
body failure was reported as a shutdown timeout instead of itself. The
assertions now run only when the body passed, the earlier failure is rethrown
after teardown, and the listener readiness became a named step that no longer
clones the release pack coordinator's listen idiom.
2026-10-07 14:07:28 +08:00
Tianyi Cui 73d853a9ae feat(scripts): serve locally built Official bundles from a loopback registry
A packaged application installs an Official on-demand bundle as
`name@<running DSH version>`, and the plugin manager asks a custom registry
alone, so the unsigned test DMG cannot install a locally built provider before
its release reaches npm: each packed manifest still names the rest of the
repository by version, and ordinary bundle tarballs therefore resolve against
a registry that does not have them yet.

`pnpm run dev:bundle-registry` validates the Official catalog and the workspace
inventory, builds the official artifacts, packs the catalog's complete local
dependency closure with the release families' own payload and manifest checks,
records the run in `dist/test-bundles/<run-id>/bundle-registry.json` as its
completion marker, and only then serves it from 127.0.0.1 on an allocated port
under a fresh namespace. Repository-owned names are answered from this run or
refused locally; third-party packages keep npm's real metadata and bytes
through a fixed redirect. The run publishes nothing, changes no global
npm/pnpm configuration, and leaves DMG packaging untouched.

The packed installer rehearsal now installs that closure into an isolated
profile with no `file:` override, checkout link, ignore list, or scoped
registry standing in for a package the registry should answer, and it asserts a
transitive repository package served only by this run.
2026-10-07 14:07:27 +08:00
Tianyi Cui 28c74ba0e8 Merge branch 'master' into worktree/pnpm-11.28.5-20261007 2026-10-07 12:54:30 +08:00
Tianyi Cui d9f6afebb1 chore(deps): update the pinned pnpm to 11.28.5
pnpm 11.7.0 can finish its work, print `Done in Xs`, and then never exit
(pnpm/pnpm#12297, pnpm/pnpm#13617): finishWorkers() clears the worker pool
reference, and a later worker API call recreates a pool that is never
finished, so idle worker threads keep the event loop alive. The upstream fix
(pnpm/pnpm#13226) shipped in 11.23.0, and 11.25.0 fixed the hoisted-linker
rename race as well.

The hang surfaces in this repository as a packed-profile rehearsal that runs
`pnpm remove` through the plugin manager and then waits for the test deadline,
holding the profile write lock for the whole time.

Bump packageManager and devDependencies.pnpm in the root, the pinned pnpm in
apps/desktop, and the native/system packageManager; relock; exempt the fresh
package manager from the release-age window; follow the development guide
pair.
2026-10-07 12:36:35 +08:00
Tianyi Cui c13e225301 test(web): budget the remaining plugin switch writes
Review found the same Host profile write plus inventory reload chain still
uncovered in worktree-opt-in.e2e.ts, and still written as 10_000 literals in
plugin-manager.e2e.ts. Both now use PLUGIN_TOGGLE_SETTLE_MS, the README keeps
only the convention, and the constant's JSDoc names the store's load() as the
reader that republishes the switch.
2026-10-07 12:28:36 +08:00
Tianyi Cui 530c4d67aa test(web): bound plugin-card switch polls by the profile write chain
A plugin-card switch republishes `aria-checked` only after the Host writes
the profile and the panel re-reads its inventory. That chain measured
0.5-0.8 s on an idle host and 2.0-4.8 s across 32 samples in a 16-worker
lane, so Vitest's 1-second `expect.poll` default truncated it and failed
the switch assertions of the CoT translation scenarios in CI.

Every poll that follows a plugin-card switch click now passes the shared
PLUGIN_TOGGLE_SETTLE_MS budget; assertions, retries, and product code are
unchanged.
2026-10-07 12:11:03 +08:00
Tianyi Cui 147d2c1e5d Merge pull request #5799 from deepseek-harness/worktree/macos-unsigned-packaging
feat(desktop): support local unsigned macOS DMG packaging
2026-10-07 09:28:36 +08:00
Tianyi Cui 4b3c366501 chore(desktop): print the DMG path after packaging 2026-10-07 08:40:14 +08:00
Tianyi Cui 73b5769da2 test(web): preserve handoff failures through cleanup 2026-10-07 03:02:36 +08:00
Tianyi Cui 8c24036e20 test(web): stabilize idle submission handoff waits 2026-10-07 02:47:10 +08:00
Tianyi Cui 2604a4b13a feat(desktop): make local macOS packaging configuration-free 2026-10-07 02:42:09 +08:00
Tianyi Cui 0853aeb0ee feat(desktop): support local unsigned macOS DMG packaging 2026-10-07 02:08:30 +08:00
Tianyi Cui 9b9496b692 Merge pinned master 8c23c111 into remove-both 2026-10-07 02:00:34 +08:00
Tianyi Cui 4359d3ee17 refactor(tools): remove mixed tool presentation 2026-10-07 01:57:57 +08:00
Tianyi Cui 30204f967d test(plugins): refresh final official catalog expectations 2026-10-07 01:26:01 +08:00
Tianyi Cui c9c721ea61 test(plugins): reflect protected translation bundle removal 2026-10-07 01:26:01 +08:00
Tianyi Cui 8b5527b8da fix(plugins): preserve Web and Desktop identities on managed native bundles 2026-10-07 01:26:01 +08:00
Tianyi Cui e9a68b2484 fix(plugin): clarify on-demand recovery and preserve package diagnostics 2026-10-07 01:26:00 +08:00
Tianyi Cui 258d7e65b7 test(plugin): refresh install dialog update guidance 2026-10-07 01:26:00 +08:00
Tianyi Cui e91a77a899 test(plugin): align native bundle fixtures and publication manifests 2026-10-07 01:26:00 +08:00
Tianyi Cui c329e8fb14 test(plugin): include on-demand entries in configuration inventory 2026-10-07 01:26:00 +08:00
Tianyi Cui f0bc032abc test(plugins): install official bundles from isolated packed artifacts 2026-10-07 01:26:00 +08:00
Tianyi Cui 2aa95755f1 test(plugin): replay native subagent bundle delivery through PTC 2026-10-07 01:26:00 +08:00
Tianyi Cui c135bdf483 test(plugin): refresh official discovery browser and API evidence 2026-10-07 01:26:00 +08:00
Tianyi Cui f57c88f792 fix(workspace): preserve drafts and await newly created session views 2026-10-07 01:22:06 +08:00
Tianyi Cui e14182df7b test(plugins): refresh final official catalog expectations 2026-10-07 00:08:26 +08:00
Tianyi Cui 188401cae4 test(plugins): reflect protected translation bundle removal 2026-10-06 23:52:33 +08:00
Tianyi Cui d7c7495e87 fix(plugins): preserve Web and Desktop identities on managed native bundles 2026-10-06 23:52:33 +08:00
Tianyi Cui ed0376f172 fix(plugin): clarify on-demand recovery and preserve package diagnostics 2026-10-06 23:50:43 +08:00
Tianyi Cui e435dd085a test(plugin): refresh install dialog update guidance 2026-10-06 23:50:43 +08:00
Tianyi Cui 904284d5d0 test(plugin): align native bundle fixtures and publication manifests 2026-10-06 23:50:43 +08:00
Tianyi Cui 6132df901c test(plugin): include on-demand entries in configuration inventory 2026-10-06 23:50:43 +08:00
Tianyi Cui dfa0b337a5 test(plugins): install official bundles from isolated packed artifacts 2026-10-06 23:50:43 +08:00
Tianyi Cui 04e120c14c test(plugin): replay native subagent bundle delivery through PTC 2026-10-06 23:50:43 +08:00
Tianyi Cui a0b1dfc824 test(plugin): refresh official discovery browser and API evidence 2026-10-06 23:50:10 +08:00
Tianyi Cui 2b0dd1567d fix(plugins): preserve Creator drafts and refresh bundle validation 2026-10-06 23:48:59 +08:00
Tianyi Cui 55dfd3bab1 fix(plugins): narrow optional bundles and create fresh session agents 2026-10-06 23:48:59 +08:00
Tianyi Cui fbb95c0f16 fix(plugin): preserve final pinned composition and browser inventories 2026-10-06 23:48:59 +08:00
Tianyi Cui 562f63eccd test(plugin): preserve working-directory integration after rebase 2026-10-06 23:48:59 +08:00
Tianyi Cui c7c3819729 test(boot): refresh CLI preset patch schema output 2026-10-06 23:48:59 +08:00
Tianyi Cui de27882007 test(plugin): refresh optional bundle inventory and browser evidence 2026-10-06 23:48:59 +08:00
Tianyi Cui 8a9767c25e feat(plugin): validate optional bundle lifecycles and session output 2026-10-06 23:48:58 +08:00