NI0317
564ba0df72
Merge updated DeepSeek onboarding base
2026-07-30 22:25:33 +08:00
Yichen Jiang
55ae4751b7
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 22:21:05 +08:00
Yichen Jiang
015b065e9d
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-07-30 22:19:53 +08:00
NI0317
c311400945
Merge updated DeepSeek onboarding base
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
2026-07-30 22:19:31 +08:00
Yichen Jiang
80c36ff0d3
Merge latest master into worktree-llm-dynamic-config
2026-07-30 22:18:16 +08:00
NI0317
bef8db3add
feat(web): add versioned first-run welcome
2026-07-30 22:17:56 +08:00
CreatixChu
ed66b970ff
Merge pull request #901 from deepseek-harness/feat/dir-selector-adaptive-default
...
feat(host): adaptive directory-picker default via -auto chooser
2026-07-30 22:12:27 +08:00
Yichen Jiang
5251a13a25
fix(app-boot): survive a surface that exits before the tree settles
...
boot() asserts over ctx.loader after awaiting the Loader, but the TUI renders
as soon as its own fiber starts: an /exit typed before the last entry settles
runs disposeRootAndExit, which takes the Loader service with the tree. The
assertions then read undefined and crashed the process with a TypeError over
an app that exited exactly as asked. The keyless personal-overlay PTY smoke
lost this race in roughly two of three runs.
2026-07-30 22:09:03 +08:00
Yichen Jiang
e5d7fa4cef
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 21:52:25 +08:00
Yichen Jiang
45e6a6c31d
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-30 21:50:43 +08:00
creatixchu
97d79e3ee0
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:49:33 +08:00
Yichen Jiang
cd6027125c
Merge latest master into worktree-llm-dynamic-config
2026-07-30 21:49:30 +08:00
creatixchu
a0dff17433
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:49:00 +08:00
Tianyi Cui
589f0aa773
Merge pull request #992 from deepseek-harness/worktree/ci-independent-consumer-build
...
fix(ci): allocate consumer runner independently
2026-07-30 21:48:57 +08:00
Tianyi Cui
ef9fbb0621
Merge branch 'master' into worktree/ci-independent-consumer-build
2026-07-30 21:48:44 +08:00
Tianyi Cui
36d5f0ac68
Merge pull request #1011 from deepseek-harness/worktree/temporarily-disable-serial-runners-20260730
...
ci: temporarily disable hosted serial reference runners
2026-07-30 21:47:53 +08:00
Yichen Jiang
a5e0c5e7e7
Merge latest master into worktree-llm-web-config
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
2026-07-30 21:45:55 +08:00
Tianyi Cui
85d721458a
ci: keep self-hosted serial standby enabled
2026-07-30 21:45:43 +08:00
Tianyi Cui
26f0dc1aef
Merge branch 'master' into worktree/ci-independent-consumer-build
2026-07-30 21:44:31 +08:00
creatixchu
ddc4adb7a3
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:42:30 +08:00
Tianyi Cui
82e1ee4a6b
Merge remote-tracking branch 'origin/master' into worktree/temporarily-disable-serial-runners-20260730
2026-07-30 21:41:09 +08:00
Yichen Jiang
5b29d04c21
test(web): re-record the goldens for master's context-injection disclosure
...
Merging master swapped the plain "▸ 上下文注入" button for the shared
DisclosureRow, which every conversation golden carrying an injected-context
row renders. The only change in all twelve files is that row.
2026-07-30 21:40:34 +08:00
Yichen Jiang
3e354c2c6a
Merge pull request #870 from deepseek-harness/worktree-config-settings-seam
...
feat(settings): user-settings seam (ctx.settings) with file-backed provider
2026-07-30 21:40:27 +08:00
Tianyi Cui
7dff9c3ad0
ci: temporarily disable serial reference runners
2026-07-30 21:38:04 +08:00
Yichen Jiang
dceff19bd3
fix(jsonrpc-agent): claim the renamed route in the persistent-tools replay catalog
...
The rename to deepseek-official reached cordis.snapshot.yml but not its
persistent-tools sibling, so the replay catalog no longer owned the route the
agent asks for. The SDK server then mounted the real adapter, which failed the
turn on a missing key. Re-records the six transcripts and the two diagnostics
cards that still carried the old route name.
2026-07-30 21:34:46 +08:00
Yichen Jiang
b6004aca52
test(settings,apiproxy): cover the path-write and revision paths the wire reaches
...
The mutate seam's root-path ops, its non-array rejection, and the recursion
into an existing nested object were unexercised, as was the whole containment
side of the settings/document-updated fan-out and the before-snapshot repair
of a section a hand edit left non-object. The settings.mutate route had no
round trip at all: neither the client method nor the handler entry ran.
2026-07-30 21:25:16 +08:00
creatixchu
8d864c9549
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:22:28 +08:00
Tianyi Cui
81e5eb9800
Merge latest master into worktree-config-settings-seam
2026-07-30 21:21:35 +08:00
Yichen Jiang
7022ab4a75
Merge worktree-llm-dynamic-config (884) into worktree-llm-web-config
2026-07-30 21:19:17 +08:00
hypatiamay
5fc2f4ba04
Merge pull request #897 from deepseek-harness/fix/human-transcript-projection
...
fix(tui,host): project the human transcript from append-origin events
2026-07-30 21:19:14 +08:00
Yichen Jiang
9ea613d859
fix(docs): drop the withdrawn sandbox-policy paths edge from the module graph
...
The sandbox read-deny mitigation was withdrawn, so sandbox-policy no longer
imports dsh-paths; the recorded graph still claimed the edge.
2026-07-30 21:18:50 +08:00
Yichen Jiang
2243e35846
Merge worktree-config-settings-seam (870) into worktree-llm-dynamic-config
2026-07-30 21:17:07 +08:00
Tianyi Cui
ec1f08d3ba
Merge branch 'master' into worktree/ci-independent-consumer-build
2026-07-30 21:07:14 +08:00
Yichen Jiang
b6130b178d
Merge remote-tracking branch 'origin/worktree-llm-web-config' into worktree/onboarding-deepseek-config
...
# Conflicts:
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.md
# packages/client/ui-models/README.zh.md
# packages/client/ui-models/src/client/store.ts
# packages/client/ui-models/tests/components.spec.tsx
2026-07-30 20:55:12 +08:00
Hypatia May
acca880015
Merge latest origin/master into fix/human-transcript-projection
...
Build-review integration round 2.
2026-07-30 20:51:45 +08:00
Tianyi Cui
bec424b9f3
Merge latest master into worktree-config-settings-seam
2026-07-30 20:51:34 +08:00
creatixchu
af73535b6a
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 20:48:06 +08:00
CreatixChu
5335d61d11
Merge pull request #943 from deepseek-harness/feat/directory-picker-quiet-navigation
...
feat(directory-picker-browse): quiet navigation — one-frame landings and a slow-scan loading pill
2026-07-30 20:47:36 +08:00
Hypatia May
c6e06e289e
Merge origin/master into fix/human-transcript-projection
...
Build-review integration round 1.
2026-07-30 20:45:39 +08:00
Yichen Jiang
f5d21af60b
test(ui-models): cover the failure paths, and share the one message reader
...
The per-file coverage gate caught three uncovered paths in the error handling
this round added: the page banner for a failed row removal, the editor card's
transport-rejection catch, and `store.fail` itself.
Two of them are one click each — Remove with a rejecting write, Apply with a
rejecting write — so they are covered through the UI rather than by calling
the helpers directly. The third was a duplicated `error instanceof Error ?
error.message : String(error)` in two files; it becomes one exported
`messageOf`, which removes the branch from both call sites and gives the
fallback arm a home a direct unit test can reach (the lint rule forbids
rejecting a promise with a non-Error, so a rejection cannot exercise it).
2026-07-30 20:36:38 +08:00
Yichen Jiang
af7dd4e340
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
2026-07-30 20:29:45 +08:00
Yichen Jiang
a56678e115
Merge remote worktree-config-settings-seam
2026-07-30 20:28:53 +08:00
Yichen Jiang
ff5b65bb62
Merge latest master into worktree-config-settings-seam
...
# Conflicts:
# packages/typert/generator/tests/cordis-catalog-contract.spec.ts
2026-07-30 20:28:25 +08:00
Tianyi Cui
780a601635
Merge latest master into worktree-config-settings-seam
...
# Conflicts:
# packages/typert/generator/tests/cordis-catalog-contract.spec.ts
2026-07-30 20:26:36 +08:00
Yichen Jiang
990d1bbc35
fix(cli): declare the config-plane providers the shared base config mounts
...
The master merge moved the TUI composition into `apps/cli/config/base.cordis.yml`
and I carried the `settings-local` / `credentials-local` rows across without
adding them to the resolver manifest. Bare specifiers in an app config resolve
through that manifest's dependencies, so the whole tree failed to boot:
dsh: plugin(s) failed to load: @deepseek-ai/dsh-settings-local,
@deepseek-ai/dsh-credentials-local
which took every TUI PTY smoke with it. `verify-cordis-config` did not catch
it, so the boot smoke was the first signal.
2026-07-30 20:25:13 +08:00
creatixchu
0ea0aef41a
Merge remote-tracking branch 'origin/feat/directory-picker-quiet-navigation' into feat/dir-selector-adaptive-default
2026-07-30 20:23:11 +08:00
creatixchu
b6fc6328f3
Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation
2026-07-30 20:22:35 +08:00
Tianyi Cui
2fb90a744e
Merge pull request #929 from deepseek-harness/worktree-optgate
...
perf(scripts): gen-doc-graphs and typert gen
2026-07-30 20:21:18 +08:00
Yichen Jiang
3957ce007a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/web/tests/details-session-lifecycle.e2e.ts
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# docs/user/guide/index.i18n.yaml
# docs/user/guide/index.md
# docs/user/guide/index.zh.md
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/cordis-agent/cordis.yml
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/tui-agent/code-mode.cordis.yml
# examples/tui-agent/cordis.yml
# packages/examples/tui-demo/README.md
# packages/examples/tui-demo/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# pnpm-lock.yaml
# scripts/snapshots/python-sdk-single-exe/advanced/result.json
# scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
imccyu
e3388cee87
ci: reduce typert cost
2026-07-30 20:03:58 +08:00