Commit Graph
2995 Commits
Author SHA1 Message Date
imccyu f27021c9b6 Merge pull request #3293 from deepseek-harness/worktree-apiremote
refactor(api): converge the ctx.remote programming surface
2026-08-29 11:09:58 +08:00
Yichen Jiang 837cc95245 Merge pull request #3254 from deepseek-harness/test/translation-pairing-merge-budget
test(scripts): align the translation-pairing-merge budget with the coverage lane
2026-08-29 10:44:01 +08:00
imccyu a4f7193d24 docs: drop the Remote-failure bullet from packages/AGENTS.md
The rule text lives in the cookbook and the failure-vocabulary Agent
Note; the AGENTS.md roster and its 675-word budget stay as they were.
2026-08-28 23:01:54 +08:00
imccyu 2b750cfb51 docs(api): document the converged ctx.remote programming surface
- new cookbook page adding-a-remote-api (en/zh): the five-step HOW-TO
  for declaring, failing, registering, consuming, and testing a Remote
  endpoint.
- new Agent Note ctx-remote-failure-vocabulary records this round's
  decisions and alternatives; the 2026-08-02 and 2026-08-10 notes are
  rewritten to the shipped facts (RemoteError vocabulary, $host, the
  retired ApiProxy statements).
- package READMEs pick up the new failure-face contracts
  (typert/protocol, api/gateway, api/remotes,
  test-support/client-runtime), dsh-util-time gains its README and
  registry entries, and stale connection/WorkspaceError/legacy-code
  statements are corrected (ui-settings, ui-settings-models,
  workspace-controller, docs/subsystems/typert incl. the
  TypertGatewayErrorCode type-equiv block).
- packages/AGENTS.md gains the Remote-failure rule bullet; its doc
  budget rises 675 -> 714: the bullet is the compressed remainder
  after relocating detail to the cookbook and the Agent Note.
2026-08-28 22:37:36 +08:00
pku-xht 6c5bb90b48 Merge remote-tracking branch 'origin/master' into schedule-web-catalog 2026-08-28 14:45:30 +08:00
Chinesezjc 8a25a876fc Merge pull request #3150 from deepseek-harness/feat/weighted-coverage-shard
perf(ci): assign coverage partitions by recorded file duration
2026-08-28 13:00:47 +08:00
Turtle 626f21dabd Merge pull request #2735 from deepseek-harness/codex/remove-knip
Remove Knip from repository tooling
2026-08-28 12:38:41 +08:00
Chinesezjc ab0f942dd7 Merge remote-tracking branch 'origin/master' into feat/weighted-coverage-shard 2026-08-28 12:18:14 +08:00
Turtle 7e92ed8213 Merge origin/master into codex/remove-knip 2026-08-28 12:07:36 +08:00
_Kerman 25b0c943ce Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
# Conflicts:
#	.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md
#	.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md
#	.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.md
#	.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.zh.md
#	.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml
#	.agents/notes/implemented/process/2026-07-20-gui-testing-system.md
#	.agents/notes/implemented/process/2026-07-20-gui-testing-system.zh.md
2026-08-28 10:59:30 +08:00
Chinesezjc 00f2a701bd test(scripts): align the translation-pairing-merge budget with the coverage lane
Every case in the suite drives real git invocations against a scratch
repository, so it is bound by process creation rather than by its assertions.
The describe-level 15 s capped all 23 cases below the 90 s the Windows coverage
lane passes as --testTimeout, and the suite has been observed timing out at
15000ms on a branch that did not touch the file.

Refs #2677.
2026-08-28 10:21:45 +08:00
pku-xht 1a5d004524 Merge commit 'bc954280ae67e349291e51e5787c6987e767fa40' into schedule-web-catalog
# Conflicts:
#	packages/client/ui-workspace/src/client/rows/Rows.tsx
#	tsconfig.base.json
2026-08-28 07:24:24 +08:00
_Kerman 13c1541c63 Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	pnpm-lock.yaml
2026-08-27 23:18:55 +08:00
Tianyi Cui 3ca9c7d489 rename code-mode to ptc (PTC mode), except session-persistent vocabulary
Rename the tool-presentation transport from code-mode to ptc everywhere
that is not written into session logs: the mode config value becomes 'ptc',
the preset directory/id becomes ptc, the demo becomes demo:ptc, the
dispatch waterfall becomes tools/ptc-dispatch-log (types PtcDispatch*), the
prompt rule becomes tools:ptc-only, source/test files become ptc.ts etc.,
and prose says PTC mode / PTC 模式. The session-persistent vocabulary
(durable events tool/code-dispatch*, logged plugin name tools-code-mode,
sub-call id segment :code:) intentionally stays and moves in the stacked
persistence PR, which is blocked until the SESSION_FORMAT_VERSION v0→v1
migration lands with it. run_code, its code parameter, CodeSdkLanguage,
CodeRunFailedError, the dsh-code-runtime family, third-party codex names,
and frozen archived notes keep their names.
2026-08-27 23:14:31 +08:00
imccyu 4f00a8b82a refactor(api): remove ApiProxy package 2026-08-27 22:26:29 +08:00
imccyu e14d354e83 refactor(connection): own RPC transport contracts 2026-08-27 22:26:29 +08:00
imccyu 160706be60 test(api): refresh Remote migration artifacts 2026-08-27 21:57:56 +08:00
Chinesezjc 10b31043ab feat(ci): assign coverage partitions by recorded file duration
Replace Vitest's hash-based --shard with a coordinator-side
longest-processing-time assignment. The coordinator collects the
instrumented inventory from a vitest list run (dropping the exempt
heavy suites that list does not exclude), reads per-file durations from
the Vitest results cache, and seeds heavy subprocess-bound suites into
different partitions. A weight-aware test fails when assignment ignores
recorded weights, verified by injecting a file-count-only rule.

Windows coverage measured partition spread of 442s (275-717s) under
hash sharding; a simulation with the same file durations and the new
assignment balances partitions to within 21s, cutting the critical
partition to roughly half.
2026-08-27 21:04:15 +08:00
Yichen Jiang b2442d00f9 Merge pull request #3219 from deepseek-harness/perf/tsconfig-paths-flatten
perf(infra): map each workspace package to an explicit path alias
2026-08-27 20:16:56 +08:00
Yichen Jiang 71b3c50261 refactor(infra): share one workspace walk between the alias collectors
collectPackageNames repeated collectPackageAliases' directory walk
verbatim, which jscpd reported as a 7-line clone and which failed the
lint-and-duplication gate on both the Linux and Windows lanes. Both now
read one workspacePackages() iterator: the alias collector keeps only
packages named after their directory, and the coverage collector keeps
every one of them.
2026-08-27 20:02:10 +08:00
Yichen Jiang c4c3c32931 fix(infra): assert alias coverage and harden the generator entry guard
Review found the CLI entry guard compared import.meta.url against a
concatenated file:// URL. That fails whenever import.meta.url encodes
something process.argv[1] does not — a repository path containing a
space, or any Windows drive path — and it fails silently: the script
exits 0 having done nothing, so verify-tsconfig-paths would pass
without checking exactly where it is needed. Running a copy from a
directory whose name contains a space reproduces it. The guard now uses
the comparison the repository's seven other generators already use.

Deleting the group wildcards also removed the fallback that resolved a
package nobody had aliased, so the generator now asserts coverage:
every workspace package with a src directory must be mapped, and
--check names any that is not. That assertion immediately found four
packages named dsh-<group>-<directory> whose siblings carry hand-written
aliases while they did not, so they reached built lib/ output through
the workspace symlink. They now carry aliases too, which takes the
resolution differences in this branch from seven to eleven.

Two comments in tsconfig.base.json still pointed at the deleted
wildcards; they now state why those aliases stay hand-written. The
package-inventory proposal recorded the wildcard collapse as current,
so both notes are cross-linked as partial supersession.
2026-08-27 19:39:21 +08:00
Yichen Jiang 12c161e1a7 perf(infra): map each workspace package to an explicit path alias
tsconfig.base.json resolved @deepseek-ai/dsh-* through 49 candidate
globs and @deepseek-ai/dsh-*/invariant through 45, one per package
group. Resolution tries candidates in order, so a package late in the
list paid for every earlier miss — and under the dsh source launch each
miss is an ERR_MODULE_NOT_FOUND that Node decorates with a full
CommonJS resolution walk. A boot profile attributed 934.6 ms, 35% of
startup, to that decoration path across 60,942 failed resolutions. The
cost landed hardest on packages/util/*, which sits at position 44 of 49
and holds the leaf utilities nearly every plugin imports.

gen-tsconfig-paths writes one explicit alias per package into a marked
region and both group wildcards are gone; verify-tsconfig-paths reports
drift and runs in the ci-static lane. Booting the headless profile from
source drops from ~2,157 ms to ~1,055 ms with --help output unchanged.

All 1,022 dsh specifiers in repository sources resolve to the same
target as before, except seven /invariant specifiers in the lsp,
terminal, and runtime-diagnostics groups that the deleted wildcard
never listed: those reached built lib/types instead of src, against the
rule that static gates resolve through paths to src on a clean tree.
2026-08-27 17:26:52 +08:00
_Kerman 4b48b2b439 Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations 2026-08-27 17:18:58 +08:00
_Kerman d9c0aa1cd0 Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	packages/context/session-reference/package.json
#	packages/context/session-reference/tests/session-reference.spec.ts
#	packages/subagent/tool-subagent/src/index.ts
#	packages/subagent/tool-subagent/src/invariant.ts
#	packages/subagent/tool-subagent/src/model-selection-state.ts
#	packages/subagent/tool-subagent/tests/harness.ts
#	packages/subagent/tool-subagent/tests/list-models.spec.ts
#	packages/subagent/tool-subagent/tests/model-selection-settings.spec.ts
#	packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
#	pnpm-lock.yaml
2026-08-27 16:38:06 +08:00
_Kerman 9e184cde37 test(python): restore strict live response smoke 2026-08-27 16:25:12 +08:00
imccyu 1c1c0adf6e fix(inspector): classify the demo launcher and refresh the module graph 2026-08-27 16:23:21 +08:00
imccyu 008ae0c01e docs(inspector): record cross-realm architecture 2026-08-27 16:16:24 +08:00
imccyu 28cc3e930b feat(inspector): expose Cordis trees through CDP DOM 2026-08-27 16:15:18 +08:00
Chinesezjc fb07d6db54 Merge pull request #2887 from deepseek-harness/fix/windows-pnpm-setup-isolation
ci: isolate pnpm setup destination per GitHub run
2026-08-27 14:30:00 +08:00
_Kerman eeb4ca2b87 Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations 2026-08-27 12:03:10 +08:00
Dudu-0223 a5cc8a2186 fix(notices): resolve current installed dependency versions 2026-08-27 12:00:02 +08:00
Dudu-0223 7c626fb5d2 fix(subagent): gate model selection with explicit allowlist 2026-08-27 12:00:02 +08:00
Dudu-0223 aefc083be7 feat(subagent): authorize selectable child models 2026-08-27 12:00:01 +08:00
Dudu-0223 f887a8f907 fix(web): move subagent model switch to Plugins 2026-08-27 12:00:01 +08:00
Chinesezjc 2413eab847 ci: isolate non-Windows pnpm setup per run attempt
Stacked on #3115: keep its windows-* setup-pnpm-js-<run_id>-<run_attempt>-<job>
destination, and extend the same isolation to non-Windows jobs in ci.yml
and ci-master.yml with setup-pnpm-<run_id>-<run_attempt>. This prevents
sequential self-hosted Windows jobs from tripping over a stale locked
pnpm.exe/reflink native module.
2026-08-27 11:33:27 +08:00
Chinesezjc 4ed5303f41 Merge pull request #3115 from deepseek-harness/fix/remove-transform-corpus
fix(ci): Windows pnpm setup isolation and spawn budget alignment
2026-08-27 11:14:03 +08:00
pku-xht 86fa9f512b Merge origin/master into schedule-web-catalog 2026-08-27 05:26:09 +08:00
pku-xht a5330ecf99 Merge commit 'e25ae41263f1ce4066aa8352f76d3d6d077b7959' into schedule-web-catalog
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/client/ui-workspace/package.json
2026-08-27 03:13:03 +08:00
imccyu dd70c0c88d feat(api): serve settings through Remote controllers 2026-08-27 03:00:49 +08:00
imccyu 54d77eff00 docs(directory-picker): record the Remote transport 2026-08-27 02:20:40 +08:00
pku-xht 9e17966e05 Merge commit '9acb9c5ac5de67a511afedbb30e74edbdbc4d57e' into schedule-web-catalog
# Conflicts:
#	apps/web/tests/schedule-after.e2e.ts
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/api/session-controller/tests/manager.client.spec.ts
#	packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
2026-08-26 21:27:19 +08:00
_Kerman bd6f72cbbb Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations 2026-08-26 19:59:02 +08:00
Chinesezjc 91379e8de6 ci(build-exe): drop pull_request label trigger to avoid skipped checks (#3049)
* ci(build-exe): drop pull_request label trigger to avoid skipped checks

* docs(build-exe): sync agent note and pin event set in workflow spec

* test(ci): type-safe event key assertion for build-exe workflow

* ci(build-exe): use present-tense trigger comment and drop label-run note
2026-08-26 17:52:34 +08:00
Chinesezjc 84692044af test: raise the contended Windows spawn budgets to 90s
The per-case 15-30s budgets on the Windows native and coverage lanes fire
before oxlint, workflow-worker-thread, and other subprocess-spawning cases
finish under the loaded self-hosted pool; the failures rotate across cases
as load shifts, so per-case widening only moved the flake. Raise the lane
defaults (DSH_COVERAGE_TEST_TIMEOUT_MS and the native --testTimeout) to 90s,
align the oxlint and workflow-worker-thread case budgets, and keep the
built-bin SPAWN_TIMEOUT_MS at 60s under a 90s outer budget.
2026-08-26 17:17:47 +08:00
Chinesezjc e9cb003e9e test: widen oxlint contract and built-bin spawn budgets
Both suites spawn real subprocesses (oxlint probes; the dsh built bin) that
cold-start slowly on the contended self-hosted Windows pool, so their 20-25s
timeouts fire before the child finishes. Raise the oxlint contract case
timeouts to 60s and the built-bin execa timeouts to 60s, matching the
tool-ralph budget treatment.
2026-08-26 16:39:30 +08:00
Chinesezjc e87a47692d ci: isolate the Windows pnpm setup destination per job
The windows-* jobs keep a separate standalone pnpm executable under
runner.temp/setup-pnpm-js. A previous job on the same self-hosted runner
can leave a locked @reflink native module there, so the next job's
pnpm/action-setup fails with EPERM during unlink before any test runs.
Suffix the destination with run_id, run_attempt, and job so every job
gets a fresh directory even when sequential jobs land on the same
runner; apply the same to the python SDK exe build. Update the pnpm
setup isolation note to record the Windows-specific destination.
2026-08-26 16:39:30 +08:00
Yichen Jiang 5661b7a972 Merge pull request #3110 from deepseek-harness/worktree/fix-question-drafts-session-switch
fix(web): preserve ask_user_question drafts across Sessions
2026-08-26 16:10:37 +08:00
Magolor df76bc695b feat(session): reduce persistence storage size (#3048) 2026-08-26 08:01:07 +00:00
Yichen Jiang e5d39b6076 Merge origin/master into worktree/fix-question-drafts-session-switch 2026-08-26 15:51:15 +08:00
_Kerman 81e07e3935 Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations 2026-08-26 15:15:04 +08:00