Commit Graph

689 Commits

Author SHA1 Message Date
Tianyi Cui
b54381f3e7 fix(agent): commit mutable setup at publication
Agent setup may await while a mutable contribution registry changes. The previous subagent path validated and committed its provisioning batch inside the setup callback. A revocation queued after that callback returned therefore treated the installation as resident and released it, even though AgentLoop had not published the child yet. AgentLoop could then admit and announce a child whose required capability had already disappeared.

Introduce AgentSetupCommit as the optional synchronous result of create and resume setup. AgentLoop now awaits setup, invokes that commit with no intervening asynchronous boundary, and only then enters the Session and Agent registries. A commit failure follows the existing private-transaction rollback, so neither identity is published and the caller can reuse the id.

Keep continuable-subagent installations provisional until this publication commit. Contribution removal still releases every installation immediately, but now marks an unpublished batch invalid so its commit rejects with ACTIVATION_SETUP_REVOKED. Once the commit succeeds, later removal remains ordinary live revocation.

Cover create and resume ordering, resume commit rejection and identity reuse, and an assembled microtask revocation that leaves only the parent Agent and Session. Update the public JSDoc, architecture flow, package contracts, current Agent Notes, Chinese counterparts, pairing records, and generated Cordis API to describe the new boundary.

Validated with the four focused Agent/subagent test files (91 tests), the isolated assembled regression, targeted TypeScript project builds, generated Cordis API freshness, export JSDoc verification, scoped translation pairing, Markdown wrapping, and Mermaid parsing.
2026-08-02 20:09:05 +08:00
Dudu-0223
9a7be21b7f fix(host): preserve subagent continuation ownership 2026-08-02 12:51:10 +08:00
Dudu-0223
a977ef30ee fix(subagent): preserve published run failures 2026-08-02 12:51:09 +08:00
Tianyi Cui
f14121a4c2 refactor(subagent): narrow continuation interface 2026-08-02 04:34:17 +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
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
d24879a413 Merge branch 'master' into codex/remove-scoped-bash 2026-08-01 19:38:11 +08:00
Turtle
20e51abd4e feat: rename experimental-meta/-upgrade to meta/upgrade behind --experimental gate 2026-07-31 23:37:53 +08:00
kingwl
ddda8be736 docs: record scoped bash translation pairs 2026-07-31 20:48:52 +08:00
07akioni
84255e1d71 fix: ci 2026-07-31 20:48:22 +08:00
07akioni
c3e4aeca90 fix: missing notes 2026-07-31 20:47:55 +08:00
07akioni
575e1217bb fix: remove scoped bash 2026-07-31 20:47:55 +08:00
Turtle
dc88440dad Merge remote-tracking branch 'origin/master' into codex/experimental-cli-command-names
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-31 20:18:15 +08:00
Turtle
60a0bcd358 feat(cli): mark meta and upgrade commands experimental 2026-07-31 20:16:19 +08:00
imccyu
23ee31efc0 Merge branch 'master' into fix/remove-badge 2026-07-31 19:47:55 +08:00
Tianyi Cui
d64b032311 Merge pull request #1082 from deepseek-harness/worktree/fix-web-duplicate-folder-names-20260731
fix(workspace): allow same-basename folders in Web
2026-07-31 19:37:38 +08:00
07akioni
410a837e02 Merge remote-tracking branch 'origin/master' into fix/remove-badge 2026-07-31 19:33:01 +08:00
07akioni
94a600eddd Merge branch 'master' into fix/remove-badge 2026-07-31 19:19:55 +08:00
07akioni
1766461947 Merge remote-tracking branch 'origin/master' into fix/remove-badge 2026-07-31 19:13:22 +08:00
Ziya
9473951c79 Merge branch 'master' into fix/web-turn-error-surface 2026-07-31 07:13:02 -04:00
07akioni
f9dc4aa702 feat: remove "插话" badge displayed in user message 2026-07-31 19:12:16 +08:00
Tianyi Cui
ce04a85d80 Merge origin/master into same-basename workspace fix
# Conflicts:
#	packages/client/ui-workspace/README.i18n.yaml
2026-07-31 18:42:20 +08:00
Tianyi Cui
678ad97f9a Allow same-basename Workspace paths 2026-07-31 18:37:34 +08:00
Tianyi Cui
5d87f8b291 Merge latest master into manual compaction 2026-07-31 18:11:53 +08:00
ZiyaZhang
215bf15f78 fix(web): surface terminal turn failures 2026-07-31 03:10:48 -07:00
Tianyi Cui
20cb7e7360 Merge latest master into manual compaction 2026-07-31 17:58:30 +08:00
Tianyi Cui
6e26f9fd83 Merge latest master into manual compaction
# Conflicts:
#	apps/cli/README.i18n.yaml
#	docs/architecture.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
#	packages/compact/compact-basic/README.i18n.yaml
#	packages/pty/pty-local/tests/index.spec.ts
2026-07-31 17:57:11 +08:00
creatixchu
31e467e744 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	apps/web/tests/workspace-management.e2e.ts
#	packages/client/ui-workspace/README.i18n.yaml
2026-07-31 17:56:06 +08:00
Turtle
ef201014d0 Merge remote-tracking branch 'origin/master' into codex/dsh-home-path
# Conflicts:
#	packages/ui/app-boot/README.i18n.yaml
#	packages/ui/app-boot/README.md
#	packages/ui/app-boot/README.zh.md
#	packages/ui/app-boot/src/index.ts
2026-07-31 17:40:48 +08:00
creatixchu
44117cb8f7 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml
2026-07-31 17:39:51 +08:00
CreatixChu
aba776b179 Merge pull request #1056 from deepseek-harness/worktree/locale-browser-default
feat(web): open a fresh browser in the language it asks for
2026-07-31 17:32:52 +08:00
creatixchu
a1b0e97162 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix 2026-07-31 17:32:52 +08:00
Tianyi Cui
6cab262f00 Merge commit 'refs/codex/pr956/master-live' into worktree/retarget-pr956-current-20260731
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
2026-07-31 17:25:49 +08:00
creatixchu
4e3d059dd4 Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 17:23:39 +08:00
Turtle
885f1ed1ac refactor(config): centralize DSH home paths 2026-07-31 16:49:55 +08:00
Tianyi Cui
7906c1032f Merge pinned master into status bar token metrics 2026-07-31 15:41:52 +08:00
creatixchu
8714952c85 feat(web): copy values from hover cards 2026-07-31 15:38:22 +08:00
creatixchu
cb754a0319 feat(locale): derive the initial Settings language from the browser
A first visit resolved to Chinese regardless of the browser: LocaleService
read `dsh.locale` and fell straight back to `zh` when nothing was stored,
ignoring the languages the browser already states it reads.

The initial locale now resolves through three ordered sources — the persisted
preference, then `navigator` (first entry of the ordered language list whose
primary subtag names a shipped locale, so `zh-Hans-CN` -> zh and `en-GB` ->
en), then `FALLBACK_LOCALE`. An explicit choice still wins and nothing writes
the detected locale back to storage, so "has the user chosen?" stays a
question only the stored value answers.

Specs asserting the shipped Chinese copy now state the browser they assume:
the web e2e scenarios open their page with `locale: ZH_BROWSER_LOCALE`, and
package specs pin it through the new `pinBrowserLanguages` test helper.
`settings-chrome.e2e.ts` gains an English-browser scenario as the
assembled-app proof.
2026-07-31 15:26:46 +08:00
Tianyi Cui
6a31f5bf2a Merge finalized Web transcript parent
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-30-session-end-seed-log-boundary.i18n.yaml
2026-07-31 14:11:40 +08:00
Tianyi Cui
74398e87f6 Merge latest master into Web transcript 2026-07-31 14:07:24 +08:00
Yichen Jiang
6acdb6631d Merge pull request #1036 from deepseek-harness/worktree/permission-default-settings
feat(permission): configure new-session defaults in Web settings
2026-07-31 14:05:00 +08:00
Tianyi Cui
0592da73ea Merge finalized Web transcript parent 2026-07-31 13:56:32 +08:00
Tianyi Cui
bb3c0d127d Merge latest master into Web transcript 2026-07-31 13:50:34 +08:00
Yichen Jiang
75f2489ba1 Merge pull request #1031 from deepseek-harness/worktree/fix-models-settings
fix(web): improve Models settings presentation and safety
2026-07-31 13:44:11 +08:00
Tianyi Cui
98f48fd83a Merge finalized Web transcript parent
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/client/runtime/README.i18n.yaml
#	packages/client/ui-trajectory/README.i18n.yaml
#	packages/client/ui-trajectory/README.zh.md
2026-07-31 13:42:47 +08:00
Yichen Jiang
cb60e1759a Merge remote-tracking branch 'origin/master' into worktree/permission-default-settings
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
2026-07-31 13:27:43 +08:00
Tianyi Cui
378c3ac364 Merge latest master into Web transcript 2026-07-31 13:24:51 +08:00
Yichen Jiang
48152a7a1d merge master and address permission settings review 2026-07-31 13:24:30 +08:00