Commit Graph
11945 Commits
Author SHA1 Message Date
Huanqi Cao 9592842df6 docs: record the junction-safe fixture teardown decision 2026-08-12 15:11:38 +08:00
Huanqi Cao db05dad2c7 fix(pwsh): accept link-shaped candidates and sync the README contract 2026-08-12 15:11:20 +08:00
Huanqi Cao d58bd91356 fix(workflow): forward the tsconfig pin only in the unbuilt worker 2026-08-12 15:11:05 +08:00
Huanqi Cao e0a83884ac Merge remote-tracking branch 'origin/master' into fix/windows-native-ci-local-validation
# Conflicts:
#	packages/client/ui-trajectory/tests/client-bundle.client.spec.ts
2026-08-12 14:12:41 +08:00
Huanqi Cao 06891c7628 test(claude-code): isolate ambient Anthropic model env 2026-08-12 14:04:57 +08:00
Huanqi Cao 772b5a2ec8 fix(pwsh): resolve Store app execution aliases 2026-08-12 14:04:45 +08:00
Yichen Jiang 76805df26e Merge pull request #2326 from deepseek-harness/fix/onboarding-reads-every-provider
fix(web): 任意可用提供方即结束首次引导,setup 卡片可关闭
2026-08-12 13:52:45 +08:00
pku-xht fc68949e1a Merge pull request #2296 from deepseek-harness/codex/workflow-run-auto-disclosure
feat(workflow): auto-follow run and phase disclosures
2026-08-12 13:49:36 +08:00
Turtle 15c84cdc4b Merge pull request #2310 from deepseek-harness/refactor/cmdline-plan-trim
refactor(cmdline): run the program's own commander action instead of a plan callback
2026-08-12 13:20:30 +08:00
Chinesezjc 80255be10b Merge pull request #2304 from deepseek-harness/fix/sandbox-local-runner-entry-coverage
test(sandbox-local): pin the windows-acl runner-entry arms independent of build state
2026-08-12 13:19:56 +08:00
Turtle 54dd75a969 refactor(cmdline): run the program's own commander action instead of a plan callback
parseCmdline(ctx, program): void only adapts commander control flow to
the launcher: it parses the immutable cmdlineArgs snapshot and turns
help, version, parse errors, and action rejections into a ctx.appExit
request. App validation and the ctx.provide of the app-owned service
live in the program's own synchronous .action(), which commander runs
inside parse — program.error(...) there shares the exit path with a
grammar rejection. Deletes the CmdlinePlan export, its unread ctx
parameter, the type-unsound (() => ({}) as T) default, and the
T | undefined return with its per-caller publish guard.
2026-08-12 13:07:41 +08:00
imccyu b76029db0a Merge pull request #2322 from deepseek-harness/fix/clienthost-spec
fix(types): assign package tests to client and host compiler faces
2026-08-12 13:00:58 +08:00
Yichen Jiang d57463c2fb fix(web): end first-run onboarding on any usable provider
The step and the Models page both asked one question of a join that
describes every provider: is deepseek-official's credential stored? A user
who configured some other route was taken over on every blank session, and
the DeepSeek setup card opened over them on every visit to Models with a
Cancel that could not close it — while clearing the add card's draft,
because it shared the row-editor close handler.

providerUsable(row) now answers what both surfaces need: the route is
registered and whatever credential its profile names is stored. Readiness
(renamed onboardingReadiness) ends on any usable row, needsSetup takes the
same fact, and each card kind owns its own close handler.

Fixes #2325
2026-08-12 12:50:45 +08:00
_Kerman d5ec13bdd9 Merge pull request #2250 from deepseek-harness/xtr/sidebar-workspace-controls
feat(web): improve workspace sidebar navigation
2026-08-12 12:41:53 +08:00
imccyu ff9ee1d9e3 fix: client tsconfig spec 2026-08-12 12:04:30 +08:00
_Kerman 64326cb597 refactor(ui-workspace): extract shared drag-accept and status-dot renderers
The flat-list ordering change duplicated the document-level native-drag
acceptance effect and the status-dot block across the search and session
rows, tripping the duplication gate. Extract useNativeDragAcceptance and
SessionStatusDots so both call sites share one implementation.
2026-08-12 12:01:23 +08:00
Turtle 258331f0da Merge pull request #2261 from deepseek-harness/codex/linear-web-onboarding
docs: make Web UI the primary onboarding path
2026-08-12 12:01:14 +08:00
Yichen Jiang d4e06d6dd8 Merge pull request #2279 from deepseek-harness/worktree/preset-user-root-in-package
agent-presets owns the writable preset root instead of awaiting an app
2026-08-12 11:53:55 +08:00
Turtle 04fe477e7e docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
Huanqi Cao df599fe22a Merge remote-tracking branch 'origin/master' into fix/windows-native-ci-local-validation 2026-08-12 11:41:15 +08:00
Huanqi Cao 50bedaf03b Merge pull request #2234 from deepseek-harness/feat/loader-entry-disabled-interpolation
feat(loader): interpolate the entry disabled field
2026-08-12 11:40:02 +08:00
Yichen Jiang 2646da8d56 refactor(agent-presets): keep the user-root segment out of the package API
`USER_PRESET_DIR` was exported with no production consumer — only the new test
read it, and a test that imports the implementation constant cannot catch that
constant being wrong. It stays module-internal, and the test spells the segment
it expects.
2026-08-12 11:36:24 +08:00
Huanqi Cao 874d7c4f78 docs: add junction-safe unlink rule to defensive patterns 2026-08-12 11:32:03 +08:00
imccyu 660d24e705 fix: client/host spec 2026-08-12 11:22:24 +08:00
Huanqi Cao e37af006c5 test(app-boot): unlink hmr alias junctions before removing the target 2026-08-12 11:19:01 +08:00
Huanqi Cao 709912b788 fix(boot): unlink stale profile fallback links instead of rmSync 2026-08-12 11:18:03 +08:00
_Kerman 3a3248b31d feat(ui-workspace): support manual flat-list ordering 2026-08-12 11:14:25 +08:00
Yichen Jiang dfa2d91dcb Merge master into worktree/preset-user-root-in-package
Overlaps master on the preset e2e, the web scaffold, and the generated
config-catalog triplet; all merged textually, so the catalog is regenerated and
its pairing hashes re-recorded rather than trusted.
2026-08-12 11:08:55 +08:00
Ziya 4a8ee7674a Merge pull request #2287 from deepseek-harness/agent/black-whale-logo
style(web): use black hero whale with hover motion
2026-08-12 11:06:42 +08:00
Chinesezjc f1deffeccb test(sandbox-local): pin the windows-acl runner-entry arms independent of build state
The source-through-tsx fallback in windowsAclRunnerInvocation was only
reachable while sandbox-windows-acl/lib/runner.js was absent, so the
per-file 100% gate failed wherever a gate had already built it. In
ci-primary and ci-windows-complete the typert-contracts gate runs
build:lib:host ahead of test:coverage in one workspace, leaving both
fallback statements uncovered; the sharded coverage job never builds
first and stayed green.

Cover the fallback through an injected entry path that is guaranteed not
to exist, and keep the uninjected case asserting only the verdict that
holds under either arm. Verified at 100% statements/branches/functions/
lines with lib/runner.js both present and absent.
2026-08-12 09:56:17 +08:00
_Kerman 3a0baa1e9d Merge remote-tracking branch 'origin/master' into dshw/pr-2250
# Conflicts:
#	packages/client/connection/tests/fake-api.client.ts
#	packages/client/runtime/tests/manager.client.spec.ts
#	packages/client/runtime/tests/workspaces-service.client.spec.ts
#	packages/host/apiproxy/tests/rpc-schemas.spec.ts
2026-08-12 04:50:51 +08:00
pku-xht bbdeb5363b Merge commit 'a9cbb8db5009bccbd41746fc43c531b758e6a9fe' into codex/workflow-run-auto-disclosure 2026-08-12 02:53:08 +08:00
_Kerman f7e45ae377 test(ui-trajectory): provide the settings and remote seams the locale plugin needs
The locale plugin's inject list gained 'remote' and 'settingsScope' on
2026-08-10, but the built-bundle harness mounted it without providing
those services, so the locale fiber never started and the trajectory
plugin's apply never ran — the ring assertion saw no 'trajectory' entry.
Provide the same stubs ui-layout's apply bench uses.
2026-08-12 02:52:15 +08:00
imccyu 82d21ab3c3 Merge pull request #2206 from deepseek-harness/worktree-rpchost
refactor(commands): move the command service to Remote and settle the Remote compile faces
2026-08-12 02:44:19 +08:00
imccyu 58b6fa3ae1 fix: test constract 2026-08-12 02:30:08 +08:00
imccyu 929086fb36 fix: docs 2026-08-12 02:30:08 +08:00
imccyu 19303da8de fix: no .map
fix: no map
2026-08-12 02:30:03 +08:00
imccyu d91180db9a docs: client spec 2026-08-12 02:16:39 +08:00
imccyu 2c2d9f26e5 fix: client spec 2026-08-12 02:16:39 +08:00
pku-xht e4a5c6fb9d docs(workflow): state current pointer ownership 2026-08-12 02:11:08 +08:00
pku-xht 8f308023a2 docs(workflow): align disclosure lifecycle evidence 2026-08-12 01:41:43 +08:00
imccyu 7ad54e7791 refactor(client): name the compile face in every client test filename
A test file under packages/client now says which face it covers:
`*.client.spec.{ts,tsx}` and its `*.client.{ts,tsx}` helpers belong to the
Client aggregate, `*.host.spec.ts` to the host aggregate. The carrier's four
node-half specs take the Host suffix.

The two suffixes are mutually exclusive, so each aggregate excludes the
other's and both keep one broad test glob: `exclude` wins over `include`, and
`packages/client/**` no longer has to be excluded wholesale from the host
program with per-file `files` entries carved back out of it. A Host-face spec
that reaches only Host source therefore needs no cross-face project
reference, which the split-project rule rejects.

vitest still discovers every file through `**/*.spec.{ts,tsx}`.
2026-08-12 01:41:40 +08:00
_Kerman ee3bdac52d test(web): refresh browser goldens for the compact workspace sidebar
Re-record the sidebar regions that the redesign intentionally changed:
group session counts are gone, search is a collapsed header action, and
grouping lives in the View options menu. Session rows also follow the new
recency ordering, so their tree order updates with the counts.
2026-08-12 01:32:23 +08:00
_Kerman e76a03a20c test(web): adapt workspace browser e2e interactions to the compact sidebar
The sidebar redesign removed group session counts, collapsed search into a
header action, and moved grouping into the View options menu. Update the
browser scenarios that waited on the old surfaces:

- Wait on the Ungrouped bucket row instead of the removed session-count text.
- Expand the collapsed search control before filling the renamed input.
- Open the View options menu instead of the removed Group by button.
- Assert the persisted grouping under the new dsh.workspace.view.v4 key.
- built-boot: assert the fixture workspace group row instead of its count.
2026-08-12 01:32:08 +08:00
Huanqi Cao 67e6d7082e fix: Windows-native CI findings on latest master
Local run of check:ci:windows-complete (the windows-native gate) on
latest master surfaced five Windows-only failures, all unreachable by
current CI because the native windows job is disabled and the wine gate
only covers build+site.

- install-lefthook/translation-pairing-merge specs junctioned the real
  scripts/ and tsx package into fixtures; Windows recursive deletion
  (Node rmSync and git worktree remove) follows MOUNT_POINT junctions and
  deleted the repository's own directories mid-run. Fixtures now unlink
  their reparse points before any recursive removal (shared helper in
  scripts/test-fixture-cleanup.ts).
- workflow-workerthread spawned its worker with an empty env; on Windows
  os.tmpdir() then degrades to the literal relative path undefined\temp,
  so tsx wrote its transform cache into a cwd-relative undefined/
  directory inside the repo. The worker env now injects the host temp
  path on win32 (workerSpawnEnv, platform-parameterized and unit-tested
  on both arms).
- workspace-context spec did not stub USERPROFILE (win32 homedir) or a
  set DSH_HOME, leaking the developer machine's real ~/.dsh/AGENTS.md
  into discovery.
- ui-trajectory client-bundle spec mounted the built artifact without the
  remote/settingsScope provides the locale plugin needs, so the plugin
  never activated and no view registered.
- subagent temp-fixture cleanup lacked the maxRetries Windows handle
  release needs under load (EPERM); added retries to the three affected
  specs and the fixture-cleanup helper.
2026-08-12 01:12:01 +08:00
pku-xht 33112b4957 fix(workflow): scope clean-cycle reset to phases 2026-08-12 01:09:03 +08:00
Huanqi Cao 0c0a2a2b65 fix(gate): allowlist the cordis preset id in the rescope check
The preset-roster loop added by this PR names the \cordis\ preset id in
apps/cli/tests/windows-shell.spec.ts; the bare token is product data like
the existing agent-preset allowlist entries, not a package reference, so
the rescope-vendor hygiene check must not rewrite it.
2026-08-12 01:02:31 +08:00
pku-xht 1b91e5b4fe fix(workflow): refold coalesced disclosure cycles 2026-08-12 01:01:25 +08:00
Ziya dd0898ad9c Merge branch 'master' into agent/black-whale-logo 2026-08-12 00:54:39 +08:00
pku-xht 3dff212c5d feat(workflow): auto-follow run and phase disclosures 2026-08-12 00:38:46 +08:00