Commit Graph
21177 Commits
Author SHA1 Message Date
fz 672b384eea Merge master into job lifecycle timing and refresh owned fixtures 2026-10-08 11:02:16 +08:00
Turtle b4443d4a90 Merge pull request #5768 from deepseek-harness/turtle/button-hover-shape-f946572b0faa
fix(web): match Windows caption hover radius across sidebar states
2026-10-08 10:34:15 +08:00
Turtle 6a7549037c Merge pull request #5765 from deepseek-harness/turtle/task-panel-occlusion-042a27be126e
fix(ui-jobs): keep the background job list above the right sidebar
2026-10-08 10:26:54 +08:00
Turtle 1bc11bdba8 Merge pull request #5783 from deepseek-harness/turtle/highlight-blocking-ccc7ca395ecb
fix(web): leave overlong source lines uncolored
2026-10-08 10:24:16 +08:00
Turtle bb9b26cdc6 Merge pull request #5652 from deepseek-harness/turtle/trajectory-state-1125dc1155f8
fix(trajectory): report streaming requests and running compactions as pending
2026-10-08 10:20:27 +08:00
Turtle ddd15a1ffe Merge pull request #5841 from deepseek-harness/turtle/memory-pressure-bench-4bc6543c10da
test(bench): rerun memory-sensitive benchmarks under 4 GiB and 8 GiB caps
2026-10-08 10:13:55 +08:00
Tianyi Cui 03ef39e31f Merge pull request #5792 from deepseek-harness/worktree/full-shell-command-details
fix(client): reveal full shell commands and background call details
2026-10-08 05:32:28 +08:00
Tianyi Cui fc532df69f Merge pull request #5847 from deepseek-harness/worktree/deps-20261007-actions-final
chore(ci): update third-party GitHub Actions
2026-10-07 23:45:02 +08:00
Tianyi Cui 5d41a61cfd Merge branch 'worktree/deps-20261007-telemetry' into worktree/deps-20261007-actions-final 2026-10-07 23:27:17 +08:00
Tianyi Cui b11af342fe fix(telemetry): expose only supported exporter options 2026-10-07 23:25:35 +08:00
Tianyi Cui cdbb78d39d fix(ci): use the compatible pnpm setup action on Intel macOS 2026-10-07 23:17:10 +08:00
Tianyi Cui 54988d6238 chore(deps): update the OpenTelemetry release family 2026-10-07 22:28:27 +08:00
Tianyi Cui 59bd530aaf chore(deps): update GitHub Actions to mature release tags 2026-10-07 22:28:27 +08:00
Tianyi Cui a3f6957db4 docs(client): correct subscription dependency comments 2026-10-07 22:27:29 +08:00
Tianyi Cui c7a00f27f1 chore(deps): update compatible transitive security fixes 2026-10-07 22:25:12 +08:00
Tianyi Cui 6157b57cf0 Merge pull request #5837 from deepseek-harness/worktree/deps-20261007-protocol-image
chore(deps): update protocol and image security dependencies
2026-10-07 22:04:25 +08:00
Turtle 59fd47e451 test(bench): reject swap-enabled cgroups and record the memory-limit decision 2026-10-07 21:20:08 +08:00
Turtle 51e2e5630f test(bench): rerun memory-sensitive benchmarks under 4 GiB and 8 GiB cgroup caps 2026-10-07 21:04:13 +08:00
Tianyi Cui 1150a874fc chore(deps): update protocol and image security dependencies 2026-10-07 19:07:44 +08:00
Tianyi Cui 5ce5963fd6 chore(deps): update website rendering libraries 2026-10-07 18:50:53 +08:00
Tianyi Cui 5f1cc26416 chore(deps): update client rendering and state libraries 2026-10-07 18:50:53 +08:00
Tianyi Cui ddede8b36e test(inspector): align the workspace Vite expectation 2026-10-07 18:48:32 +08:00
Tianyi Cui e99d38af9d chore(deps): update source and build tools 2026-10-07 18:08:01 +08:00
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 b8d9f3aadf fix(deps): retain Node 22 for wildcard type dependencies 2026-10-07 17:56:01 +08:00
Tianyi Cui cee3672b73 chore(deps): retain a mature publint detector dependency 2026-10-07 17:03:12 +08:00
Tianyi Cui eff2f8a92b chore(deps): update test and lint dependencies 2026-10-07 16:57:54 +08:00
Tianyi Cui 9203a58677 chore(deps): update Python build and validation dependencies 2026-10-07 16:42:04 +08:00
Tianyi Cui 5969359dc4 chore(deps): update mature runtime utilities 2026-10-07 16:41:17 +08:00
Tianyi Cui c56fdb023e refactor(llm): configure prepared calls with explicit controls 2026-10-07 16:10:26 +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 86b9b9c017 Merge pull request #5820 from deepseek-harness/worktree/sdk-dynamic-fixture-isolation
test(python): isolate dynamic tool snapshot inputs
2026-10-07 15:33:13 +08:00
Tianyi Cui a06d137463 Merge pull request #5812 from deepseek-harness/worktree/local-bundle-registry
feat(scripts): serve locally built Official bundles from a loopback registry
2026-10-07 15:28:19 +08:00
Tianyi Cui 6e894e4bea fix(llm-replay): reject undeclared minimum efforts 2026-10-07 14:37:09 +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 eac927e143 test(scripts): cover preparation cancellation and an abandoned client
Both are failure paths the registry owns: a signal that stops packing must
report as a cancellation rather than as a pack failure, and a client that
disconnects mid-tarball must not stop later requests. execa reports the first
either as a resolved canceled result or as a thrown error, so the packing step
now names both.
2026-10-07 14:07:27 +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 c4bda67252 test(python): own dynamic tool fixture instructions and homes 2026-10-07 14:06:44 +08:00
Tianyi Cui 1daf451d00 test(python): own dynamic tool fixture instructions and homes 2026-10-07 14:05:42 +08:00
Tianyi Cui 19d36f602b test(python): isolate dynamic tool snapshots from log export 2026-10-07 13:53:19 +08:00
Tianyi Cui 86cc92949d test(python): isolate dynamic tool snapshots from log export 2026-10-07 13:52:17 +08:00
Tianyi Cui a46412bd53 fix(scripts): keep Python runtime deployment isolated and deduplicated 2026-10-07 13:51:48 +08:00
Tianyi Cui 44dd60de91 test(native): pin the packing fixtures to the repository pnpm version
The fixture workspaces declare packageManager, so corepack resolves that
version when pack-release runs pnpm pack inside them; leaving 11.7.0 there
would exercise the version this change replaces.
2026-10-07 13:24:57 +08:00
Tianyi Cui 5529a5014a fix(ci): skip the verification install when rebuilding Linux node-pty
pnpm 11.28.5 runs verifyDepsBeforeRun before a script, so `pnpm run install`
inside the installed node-pty directory first installed node-pty's own
dependencies into the package and ran its `prepare` build. Both reached the
packaged payload: the SEA blob then carried a node-gyp tree and tripled pkg's
file records, and postject aborted while injecting it. The step now runs the
package's install script alone, as it did with pnpm 11.7.0.
2026-10-07 13:10:09 +08:00
Tianyi Cui b9bea234ce fix(plugin-manager): record ignored build scripts reported by a non-interactive pnpm
pnpm writes allowBuilds placeholders for blocked dependency scripts only when
it can prompt, so a managed run that always captures output left
pendingBuilds empty and the approval flow could not offer anything. The failed
run's own report is the surviving record: the profile policy now records those
names, which keeps approval, persistence, and the wildcard and decision guards
unchanged.
2026-10-07 12:58:25 +08:00
Tianyi Cui 4260fd2451 fix(scripts): keep the Python runtime payload out of its own deploy root
pnpm's legacy deploy links the deployed project into the target's node_modules
when the target sits inside that project. Materializing that link copies the
payload into itself and fails with ERR_FS_CP_EINVAL, which broke the
release-shaped Python runtime matrix on Linux and Windows. The staged payload
never carries the project source, so the staging tree's owner drops the entry
and leaves the deploy root's files alone.
2026-10-07 12:58:25 +08:00