Commit Graph
7831 Commits
Author SHA1 Message Date
Yichen Jiang 53d8a336f7 Merge commit 'bf1df01ae99' into worktree/forge-session-list
Brings the Session list branch up to date with the forge panel, whose
held messages now wait at inbox insertion.

- client-ui-forge keeps the Session list's remote-access import and the
  panel's messageOf; the agent-controller import is gone.
- The README and the forge panel Agent Note combine both sides: the
  forgeWorktree projection keeps its client view next to the inbox hold,
  and the Session list paragraphs stay.
- The config catalog is regenerated, and the README, forge subsystem
  page, and Agent Note pairings are recorded again.
2026-10-24 22:02:44 +08:00
Yichen Jiang 3a52eb1993 Merge commit '861f5200ded' into worktree/forge-pr-worktree-panel
Master replaced the creation and plugin recommendation bundles with one
personalized recommendations bundle.

- The CLI manifest keeps master's bundle and the forge bundle.
- The plugin page expectation ranks the forge bundle before the held-back
  personalized recommendations bundle.
- The experimental README pairing is recorded again.
2026-10-24 21:45:41 +08:00
Yichen Jiang ba94a90da3 Merge commit '66a7e6cf07b' into worktree/forge-change-request-bindings
The experimental README pairing is recorded again for the merged
package rows.
2026-10-24 21:42:17 +08:00
Turtle 94ed636380 fix(tool-ask-user): tell the model a skipped question is answered
The blocking ask_user_question description did not explain that an answer
item with empty selected and no custom is a user skip, so models re-asked
the same question after the user clicked Skip.

Refs #7134
2026-10-24 13:23:53 +08:00
imccyu 3081c71bab Revert "fix(compaction): retry oversized summaries with smaller prefixes" 2026-10-23 22:59:05 +08:00
1tops e54b1326f8 Merge pull request #6993 from deepseek-harness/fix/summary-overflow-recovery
fix(compaction): retry oversized summaries with smaller prefixes
2026-10-23 21:16:37 +08:00
imccyu 83a0433bc7 Merge pull request #7003 from deepseek-harness/session-baseline-split-6998
feat(typert): extract Session baseline cleanup and default resource resolvers
2026-10-23 18:06:28 +08:00
imccyu 048845f841 fix(typert): harden default resource declarations and sync contracts 2026-10-23 17:39:35 +08:00
winewill a4aab8ec61 docs(desktop): consolidate cache lifecycle guidance 2026-10-23 17:18:48 +08:00
winewill 46ce2b61e0 Merge remote-tracking branch 'origin/master' into perf/desktop-packaging-integration
# Conflicts:
#	docs/development.i18n.yaml
#	scripts/build.spec.ts
2026-10-23 16:53:18 +08:00
imccyu b2b3bf4568 fix(typert): reject ambiguous and multiple default resource identities 2026-10-23 16:13:38 +08:00
mektpoy 0a0620abd5 docs(development): count the split compiler faces
The face layout paragraph still counted six split packages. The
liveshare-protocol split added a seventh, and this names which part of the
package stays on each leaf.
2026-10-23 16:13:34 +08:00
mektpoy 590826f66d revert(liveshare-protocol): reset the wire protocol to version 1 and drop development history
The v2 upgrade guide and the fork-readonly normalization were development-period artifacts that never shipped, so the protocol returns to version 1: the guide triplet is deleted with its references, the withdrawn tier is no longer named anywhere (unknown tiers are rejected generically), and the README plus the version test state version 1. The file-upload capability and its additive field stay.
2026-10-23 16:13:22 +08:00
mektpoy 73df748c7f feat(liveshare-protocol): carry the viewer file-upload switch
The share spec gains an optional allowsFileUpload switch, the access-state frame always states it (an absent field reads as off), and the file-upload capability separates the field from the tier and fork switches. The wire version stays 2 because the change is additive; the upgrade guide says so and the recorded add-share frame names the new field.
2026-10-23 16:13:22 +08:00
mektpoy ace985e94f fix(liveshare-protocol): move the wire protocol to version 2
The access-mode vocabulary changed from open|approval to open|selected without a protocol version change, so a peer could declare version 1 while refusing every value the other side sends. Version 2 states the break; the retired approval name stays refused rather than reinterpreted, and an upgrade guide records the peer upgrade order.
2026-10-23 16:13:22 +08:00
mektpoy cecf36de05 chore(docs,lockfile): record the protocol package in the lockfile and generated catalogs
The lockfile gains the new workspace member, and the module graph and config
catalog list the package under its own experimental entry.
2026-10-23 16:13:22 +08:00
imccyu 05f94de1f9 fix(typert): preserve parameter metadata in resource resolvers 2026-10-23 16:01:28 +08:00
imccyu 94464e2214 chore(session): sync baseline docs and test lint 2026-10-23 16:01:28 +08:00
ZiyaandZiyaZhang d6d51be4cb feat(experimental): 把个性化页面和插件推荐合并为实验性插件「个性化推荐」 (#7034)
* feat(experimental): ship the two card experiments as one Personalized recommendations bundle

@deepseek-ai/dsh-personalized-recommendations inserts the action card
service, its browser half, Personalized pages and Plugin recommendations
with their card bodies under the existing row ids. As the only layer that
declares those ids, the Plugins page addresses and switches each row,
including the two shared card rows that were read-only while two bundles
inserted them.

The two experiment packages stop being bundles; the new bundle takes their
place in the official lists and the dsh installation, with the personalized
pages icon, localized title and description, and a feature preview of both
cards. The two feature rows describe what they do on the bundle page.

* fix(experimental): drop the model reason line from plugin recommendation cards

The reason follows the language of the user's question while the catalog
description below it follows the interface language, so the two lines could
differ in language and largely repeat each other; the answer already gives
the reason. The card keeps the catalog title and description, both in the
interface language, as its details target.

* test(web): refresh the card fixtures for the Personalized recommendations bundle

Both card replays enable the new bundle, so each Session lists both card
skills, and each skill's catalog lists Personalized recommendations in place
of the two former bundles. The plugin card goldens lose the reason line.

---------

Co-authored-by: ZiyaZhang <[email protected]>
2026-10-23 07:55:49 +00:00
Dudu-0223 cf072384b5 fix(headless): resume ordinary forks using subagent origin 2026-10-23 14:59:25 +08:00
Dudu-0223 30650824c9 Merge latest master and refresh persistence catalog 2026-10-23 14:55:33 +08:00
Xu Hanxiang a677aca248 Merge pull request #6986 from deepseek-harness/fix/agent-loop-series-start-prefix-cache
fix(agent-loop): keep the prompt prefix at a series start with unchanged text
2026-10-23 14:53:19 +08:00
Yichen Jiang 6e9ff4c322 Merge remote-tracking branch 'origin/worktree/forge-change-request-bindings' into worktree/forge-pr-worktree-panel
The parent branch now carries master through #6426 again.

- Master moved the optional, experimental, and plugin page bundle lists
  into @deepseek-ai/dsh-official-bundles; the forge bundle joins the
  optional and experimental lists there.
- The CLI manifest, release families, and plugin page expectations keep
  both sides; the forge bundle ranks before the held-back recommendation
  bundles.
- The lockfile, the event matrix, and the experimental persistence
  catalog are regenerated, and the capability-seams and experimental
  README pairings are recorded again.
2026-10-23 14:51:28 +08:00
Dudu-0223 b096659245 fix(session): make ordinary forks independent of source lineage 2026-10-23 14:48:07 +08:00
Yichen Jiang 69e7682b6f Merge remote-tracking branch 'origin/worktree/composer-host-confirmed-echo' into worktree/forge-change-request-bindings
The parent branch now carries master through #6426.

- The root manifest keeps the forge packages and master's action cards.
- The event matrix and the experimental persistence catalog are
  regenerated, and the capability-seams and experimental README pairings
  are recorded again.
2026-10-23 14:40:17 +08:00
Magolor 1696816d2c refactor(time-context): restore browser zones with Projection (#6811)
* refactor(time-context): retain browser zones in Projection

* fix(time-context): clarify reads and recovery checks
2026-10-23 06:22:11 +00:00
mektpoy 6e4eda77c8 Merge origin/master into fix/agent-loop-series-start-prefix-cache 2026-10-23 14:06:46 +08:00
Ruilin Geng cd9ee0ee4c Merge pull request #6756 from deepseek-harness/fix/persistent-bash-input-mangling
fix(tools): disable history expansion in the persistent bash shell
2026-10-23 13:37:34 +08:00
gengruilin 6e5cb19644 Merge remote-tracking branch 'origin/master' into fix/persistent-bash-input-mangling 2026-10-23 12:48:34 +08:00
ZiyaZhang 935d9f178a Merge feat/creation-recommendations into plugin recommendation experiment
Takes master's move of the official plugin lists into
@deepseek-ai/dsh-official-bundles. The Plugins page files come from master,
and the plugin recommendations bundle follows the personalized pages bundle
in OPTIONAL_BUNDLES, MORE_BUNDLES and EXPERIMENTAL_BUNDLES.
2026-10-22 21:41:49 -07:00
ZiyaZhang beb23ac093 Merge remote-tracking branch 'origin/master' into pr-6635-ci
# Conflicts:
#	packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx
#	packages/client/ui-plugin-manager/src/client/presentation.ts
2026-10-22 21:37:10 -07:00
1tops 7444b201a1 Merge master locale fixes into summary overflow recovery 2026-10-23 12:27:55 +08:00
ZiyaZhang 72c104e099 Merge feat/creation-recommendations into plugin recommendation experiment
Takes master 020a053a120 through the base, which ships Spanish, French,
German, Russian and Portuguese and requires them in every package. The page
card fixture takes the base's eight-language plugin catalog.
2026-10-22 21:26:27 -07:00
Turtle 9b4aacb41a refactor(util): collect hardcoded official plugin lists in dsh-official-bundles
Move @deepseek-ai/dsh-official-bundles from packages/boot to packages/util
and move the plugin manager's protected plugin list and the Web plugin
page's hidden, ordered, and experimental bundle lists into it, so editing
any of these lists no longer touches app-boot or either plugin manager
package.
2026-10-23 12:12:38 +08:00
ZiyaZhang a34a4524e5 Merge remote-tracking branch 'origin/master' into pr-6635-ci 2026-10-22 21:12:11 -07:00
ZiyaZhang b5d4e93861 refactor(experimental): drop experimental from the plugin recommendation package names
The two packages keep their directories under packages/experimental and are
registered as experimental name exceptions:

- @deepseek-ai/dsh-plugin-recommendations
- @deepseek-ai/dsh-client-ui-plugin-recommendations

Loader row ids, the Remote service name, locale namespaces and the
enable_official_plugin action are unchanged. Generated catalogs are
regenerated, and both card Web fixtures record the renamed bundle in their
skills' plugin catalogs.
2026-10-22 21:02:23 -07:00
ZiyaZhang 30dafd2106 Merge feat/creation-recommendations into plugin recommendation experiment
Takes the card packages' new names and master up to e115cc98d65. The plugin
recommendation packages and their bundle rows now name
@deepseek-ai/dsh-action-cards and @deepseek-ai/dsh-client-ui-action-cards;
generated catalogs are regenerated, and both card Web fixtures record the
renamed bundles in their skills' plugin catalogs.
2026-10-22 20:58:11 -07:00
ZiyaZhang 57195d1934 refactor(experimental): drop experimental from the card package names
The four packages keep their directories under packages/experimental and
are registered as experimental name exceptions:

- @deepseek-ai/dsh-action-cards
- @deepseek-ai/dsh-client-ui-action-cards
- @deepseek-ai/dsh-creation-recommendations
- @deepseek-ai/dsh-client-ui-creation-recommendations

Loader row ids, plugin record names, message source kinds, the Remote
service name and locale namespaces are unchanged. Generated catalogs are
regenerated, and the page card Web fixture records the renamed bundle in
the skill's plugin catalog.
2026-10-22 20:48:18 -07:00
1tops dd87277afa docs(compaction): clarify summary overflow recovery contracts 2026-10-23 11:47:56 +08:00
ZiyaZhang 0d97af58b5 Merge commit 'e115cc98d65' into pr-6635-ci 2026-10-22 20:40:34 -07:00
imccyu b049cd257c Merge pull request #6980 from deepseek-harness/07akioni/more-locales
feat(i18n): add Spanish, French, German, Russian and Portuguese
2026-10-23 11:22:55 +08:00
Chinesezjc 7bf0640c13 Merge pull request #6734 from deepseek-harness/feat/schedule-clear-ended
feat(schedule): remove every ended task from the automation page
2026-10-23 11:20:28 +08:00
ZiyaZhang 39fa48b074 Merge feat/creation-recommendations into plugin recommendation experiment
Takes current master through the base, including the runtime-context
approval sentence that recorded Web fixtures replay against.
2026-10-22 09:27:46 -07:00
ZiyaZhang 1e9600be15 Merge remote-tracking branch 'origin/master' into pr-6635-ci 2026-10-22 09:14:14 -07:00
Tianyi Cui 5219b36110 Merge pull request #6498 from deepseek-harness/turtle/approval-never-wording-7e59b56e7f5c
fix(user-approval): describe approval policies by meaning in model-visible text
2026-10-22 23:47:16 +08:00
imccyu 261f2db185 Merge master into DSH 0.2.1 navigation and model listing sync 2026-10-22 23:22:35 +08:00
ZiyaZhang dbe0eb3aa2 Merge feat/creation-recommendations into plugin recommendation experiment
Takes the action-card fixes: kinds reconcile before every action, only live
roots get cards, the tool refuses while messages are queued, and bodies no
longer receive ready. The plugin card drops ready, its queued-card test goes
with the suppressed phase, and the shared-row limitation follows the base's
new limitations.
2026-10-22 08:16:20 -07:00
ZiyaZhang cb425d1384 fix(experimental): settle plugin cards from what enabling reports
- An enable that a plugin reload cuts off records unconfirmed; the card
  offers a retry and Not now, and a retry that finds the plugin on records
  enabled because this card's change landed.
- A rejected profile change records failed with operation-error and keeps
  the retry instead of failing the click; overridden and cancelled are gone
  because enabling a bundle only reports applied, restart-required or failed.
- A refused or lost catalog lookup keeps Not now and offers Try again, with
  separate copy for each; a settled card keeps its outcome after its plugin
  leaves the catalog. Only the clicked button shows Working, the details
  label is interpolated, and the reason and description stay its
  accessible description.
- The Host entry exports its inject list, so the configuration catalog lists
  its services; the skill keeps its rules without the examples.
- With both experiment bundles on, the shared action-card rows cannot be
  switched or configured on the Plugins page; the READMEs say so and a
  Loader test pins it while the bundles still switch.
- The unused intent fixture is removed and the evaluation set expects a
  create_personalized_page card for the counter.
2026-10-22 08:13:22 -07:00
TurtleandTianyi Cui 43149cd905 Sync approval switch notice snapshot and docs
Update the Web permission-policy snapshot, the config catalog line
reference and README text for the new switch notice; pin both switch
directions in the unit test.

Co-authored-by: Tianyi Cui <[email protected]>
2026-10-22 23:13:19 +08:00
ZiyaZhang 9fd47804c2 fix(experimental): reconcile action cards before Not now and offer them to live roots only
- Kinds can reconcile a card before every user action, including Not now;
  the page kind confirms uncertain runs against the installed profile, so an
  installed page keeps Undo instead of being dismissed.
- Only a live root's direct skill load activates propose_action; calls from
  subagents or from code are refused.
- The tool refuses while queuedMessageLimit messages wait, so the model is
  never told a hidden card was shown; the suppressed phase is gone and the
  projection moves to state version 2.
- record() refuses actions no kind registered and the derived replaced phase.
- Not now dismisses an unstarted card whose kind is no longer registered.
- The unused ready prop and dead locale keys are removed, and the READMEs
  state the card and row rules as implemented.
2026-10-22 08:01:23 -07:00