Commit Graph
20050 Commits
Author SHA1 Message Date
creatixchu 9bc8d9bed9 test(ptc): retire unknown-cast allowances for agent fixtures 2026-09-25 12:14:36 +08:00
creatixchu 3f7a8d7b7e test(ptc): give inspection fixtures lifecycle ownership 2026-09-25 12:10:56 +08:00
creatixchu 5e02e2a13b test(ptc): refresh the master-synced tool guidance snapshot 2026-09-25 12:00:59 +08:00
creatixchu 1b6dbdde6b test(ptc): disable the split API-key provider during replay 2026-09-25 11:56:53 +08:00
creatixchu a340ecfd31 Merge master into persistent PTC 2026-09-25 11:52:21 +08:00
creatixchu 2c986ca3c3 test(ptc): pin raw subprocess output guidance 2026-09-24 23:03:40 +08:00
creatixchu 0309d22520 docs(ptc): clarify raw subprocess output attribution 2026-09-24 23:01:33 +08:00
creatixchu 9e17500315 fix(ptc): separate shared schema value from config type 2026-09-24 22:55:09 +08:00
creatixchu 7101555061 test(ptc): cover retained process races and refresh model evidence 2026-09-24 22:52:52 +08:00
creatixchu c5dff80c94 test(ptc): give tool bridge fixtures owned agent contexts 2026-09-24 22:48:23 +08:00
creatixchu 6a8483ce42 fix(ptc): contain retained evaluation failures and output 2026-09-24 22:44:56 +08:00
Turtle 477b4f4205 Merge pull request #5180 from deepseek-harness/rel/dsh-0.1.7-rc.2
release(dsh): 0.1.7-rc.2
dsh-v0.1.7-rc.2
2026-09-24 21:39:59 +08:00
turtle1999 787b746b80 release(dsh): 0.1.7-rc.2 2026-09-24 21:24:26 +08:00
Turtle f9564a0d48 Merge pull request #5175 from deepseek-harness/turtle/disable-shipped-schedule
feat(web): disable shipped schedule and time context plugins
2026-09-24 20:55:39 +08:00
Turtle f84891eaff Merge pull request #5150 from deepseek-harness/fix/auto-review-user-approval
fix(auto-review): ask the user after a denial and report reviewer failures
2026-09-24 20:48:39 +08:00
turtle1999 374b9cc1fb test(web): align shipped composition fixtures with disabled scheduling 2026-09-24 20:41:51 +08:00
Yichen Jiang 24f28dfdb6 Merge pull request #5173 from deepseek-harness/worktree/model-selection-background-save
fix(session): save default model settings in the background
2026-09-24 20:31:25 +08:00
turtle1999 cad6fef2fd feat(web): disable shipped schedule and time context plugins 2026-09-24 20:27:14 +08:00
Xu Hanxiang 4ef97b92a9 Merge pull request #4827 from deepseek-harness/fix/truncate-without-splitting-surrogates
fix(tools): keep surrogate pairs intact when capping tool output
2026-09-24 20:16:49 +08:00
Turtle c92c72eb46 Merge pull request #5165 from deepseek-harness/turtle/atomic-write-exited-lock-takeover
fix: take over a writer lock whose holder exited, and wait for its pnpm run
2026-09-24 20:11:31 +08:00
Yichen Jiang e786c3f74a test(web): await background model preference saves 2026-09-24 20:08:56 +08:00
Turtle 1afcc03ff9 Merge pull request #5174 from deepseek-harness/revert-4868-reconciled-pr4839-ux-evidence
Revert "feat: reconcile timed questions with legacy default"
2026-09-24 20:06:41 +08:00
Turtle 32905d5ab5 Revert "feat: reconcile timed questions with legacy default" 2026-09-24 20:06:09 +08:00
mektpoy ea3667175d Merge remote-tracking branch 'origin/master' into fix/truncate-without-splitting-surrogates 2026-09-24 20:03:02 +08:00
Turtle 6e45fd5bea Merge pull request #4500 from deepseek-harness/fix/windows-directory-junction
fix(workspace-files): list directory links through their resolved target
2026-09-24 19:58:39 +08:00
imccyu a64eaf0b5e Merge pull request #4868 from deepseek-harness/reconciled-pr4839-ux-evidence
feat: reconcile timed questions with legacy default
2026-09-24 19:56:56 +08:00
Turtle 1bd3df926d fix(plugin-manager): wait for a pnpm run its exited operation left behind
Review found three ways the takeover could let two writers overlap.

- A claimant that read an exited PID could remove the lock of a new
  holder that reused that PID before the claim. The claimant now probes
  the PID again under the claim, after re-reading the record.
- The browser Worker's process shim reports its own PID as absent, so a
  second writer in the Worker took over the first one's live lock. A
  record naming the contender's own process is never taken over.
- Takeover proves only that the holder exited, while a pnpm run it
  started can still be writing the profile. Each profile operation now
  records its pnpm run in .plugin-manager/run.json and removes the record
  when the run ends; an operation that finds a record waits for the run
  within the existing tree bound and otherwise refuses, naming the
  process and the record, without running pnpm.

A failed removal of the exited holder's lock now waits instead of
failing the acquisition, the probe range is stated as int32, and the
tests inject exited PIDs instead of reusing real ones, which Windows
reissues at once.
2026-09-24 19:55:41 +08:00
turtle1999 0a134ef94e fix(auto-review): localize the approval prompt and sync docs with the ask fallback
The tools pipeline's ask decision now carries an optional displayReason
that ToolRuntime forwards to the approval service, so the Auto review
prompt is localized while the audited reason stays English.

Adds the auto-review-approval Web snapshot for a user rejection after a
reviewer denial and for a reviewer failure, and updates the permission
preset pages, READMEs, Agent Notes, and child-agent JSDoc that still
described the shared never bundle.
2026-09-24 19:54:37 +08:00
Yichen Jiang 86331673d9 fix(session): save default model settings in the background 2026-09-24 19:48:49 +08:00
Magolorandimccyu a56d2bf2ff fix(user-questions): reset projection version and use brand utility
Co-authored-by: imccyu <[email protected]>
2026-09-24 19:43:16 +08:00
Magolorandimccyu 652bc9d396 fix(user-questions): align styles and cover wait cleanup
Co-authored-by: imccyu <[email protected]>
2026-09-24 19:43:16 +08:00
Magolorandimccyu bb19061473 feat(user-questions): support timed waits and late replies
Co-authored-by: imccyu <[email protected]>
2026-09-24 19:43:16 +08:00
turtle1999 74f85e177e Merge remote-tracking branch 'origin/master' into fix/windows-directory-junction
# Conflicts:
#	.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.i18n.yaml
#	.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.md
#	.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.zh.md
#	packages/api/workspace-files/README.i18n.yaml
2026-09-24 19:41:46 +08:00
Turtle fb018e3e7a Merge pull request #5159 from deepseek-harness/fix/profile-bundle-skip-once
fix(boot): report skipped profile bundles once per start
2026-09-24 19:41:11 +08:00
imccyu b16b1eaea8 Merge pull request #5117 from deepseek-harness/ihsiang/shortcut-sidebar-polish
feat(web): refine shortcut editing and sidebar hints
2026-09-24 19:38:09 +08:00
Turtle c8631b2064 Merge pull request #5109 from deepseek-harness/refactor/trim-tool-constraint-descriptions
refactor(tools): trim constraint prose from tool descriptions
2026-09-24 19:34:54 +08:00
Turtle 6d5b3e8c23 Merge pull request #5156 from deepseek-harness/turtle/model-select-pending-spinner
feat(ui-model-selection): show a spinner while a model selection is pending
2026-09-24 19:34:15 +08:00
Turtle 7bd17809e3 Merge pull request #5163 from deepseek-harness/turtle/fix-issue-3390-dfb901b523d2
feat(ui-tool): link the collapsed web fetch URL
2026-09-24 19:25:41 +08:00
Turtle 6dbf4ab6c9 docs(notes): name the kernel lock the Session lease already holds on Windows
The takeover note said no Windows binding exists for a kernel-released lock; the Session write lease already holds a named semaphore there through koffi.
2026-09-24 19:25:36 +08:00
Yudong Han 8e816b7ea4 Merge pull request #5167 from deepseek-harness/deps/libreoffice-kit-0.1.1
chore(deps): upgrade LibreOffice Kit to 0.1.1
2026-09-24 19:22:18 +08:00
turtle1999 0a6de62671 refactor(boot): derive skipped bundles only from Profile.skippedBundles
skippedProfileBundles recomputed the selected-minus-loaded bundle set from
the manifest, a second home for what loadProfileDirectory already records.
Runtime resolution and generateConfigSchema now read
profile.skippedBundles, so generateConfigSchema no longer reads the profile
manifest and drops its binName parameter.
2026-09-24 19:19:52 +08:00
Yichen Jiang a5309122f4 Merge pull request #5011 from deepseek-harness/worktree/voice-setup-navigation
feat(voice-input): guide unready microphones to plugin setup
2026-09-24 19:16:33 +08:00
Yichen Jiang 193f9ce413 fix(llm): keep oversized request extensions from blocking model requests (#5168)
Optional request extension fields had no size bound. A very large field
could exceed the runtime's string limit while the request was serialized,
which failed every attempt, including retries.

- Bound the extension payload carried by one request (8 MiB by default,
  configurable) and send the remainder with later requests.
- If the combined request still cannot be serialized, send the base
  request without extension fields and log which fields were omitted.
- Add regression tests and update the related references and decision note.
2026-09-24 11:15:37 +00:00
turtle1999 d55f434cdf fix(ui-model-selection): own the pending selection in ModelDirectory
The seat kept the pending row in local state, so a stale settlement after
connection/reset could clear a newer selection's spinner, a remount lost
it, and /model popup selections never marked a row. ModelDirectory now
publishes the submitted selection as pending under its generation guard.
The trigger spins whenever a selection is pending, so leaving the row's
pane keeps the feedback visible.
2026-09-24 19:09:14 +08:00
Turtle 910711e6c1 fix(atomic-write): keep the PID-only lock record
The hostname guarded only writers on several hosts sharing one file,
which no supported deployment does, and macOS changes its hostname when
networks change, so locks from before the change could not be taken
over. The nonce closed a race that needs the PID space to wrap between
two reads. Keeping the `<pid>\n` record lets processes of both releases
interoperate.
2026-09-24 19:06:07 +08:00
turtle1999 473f381420 test(cli): export reportSkippedBundles from the desktop-host app-boot stub 2026-09-24 19:04:53 +08:00
Turtle b8e30bf599 fix(ui-tool): address review on web fetch summary link 2026-09-24 19:02:19 +08:00
yixiangihsiang f1b65c78f1 Merge latest origin/master and refresh translation pairing 2026-09-24 18:59:19 +08:00
yudshj 03bd8258c3 chore(deps): upgrade LibreOffice Kit to 0.1.1 2026-09-24 18:56:22 +08:00
Turtle 7e7ba139fd fix(atomic-write): take over a writer lock whose holder exited
A process that ends without running withFileLock's finally left
<file>.lock behind, and every later writer timed out until an operator
deleted it. `dsh plugin` interrupted with Ctrl-C, `dsh web` exiting
right after disposal while a cancelled install still restores files,
and any crash all left the profile package lock this way.

The lock now records its holder's PID, hostname, and a nonce. A
contender that finds a record from this host whose PID a signal probe
reports absent claims that record through a wx-created claim file,
re-reads the lock, removes it only while it still holds the record, and
retries at once. A PID-only record from an earlier release counts as
written on this host, so locks left before this change are taken over
too. Empty, incomplete, foreign-host, and live-holder records are still
waited for.
2026-09-24 18:46:42 +08:00