Commit Graph
12287 Commits
Author SHA1 Message Date
imccyu 8d6f5164ab fix(release): make publication retry, space out, and skip what landed
A landlock publication failed with `E409 Failed to save packument` on the
second of three packages. The registry answers a write it could not commit that
way, and publishing several packages back to back is what provokes it.

Neither publish path could recover. The native sequence published from a shell
loop of bare `npm publish` calls: no retry, and no way to resume, because the
registry rejects a repeat of an existing version permanently — so a failure
partway through left the release stuck. publish.ts skipped versions already
present, which made a re-run safe, but had no retry either.

Both paths now attempt a tarball up to four times, space writes at least two
seconds apart, and back off 2s/4s/8s between attempts. Every retry re-reads the
registry first, because a reported failure can answer a write that landed
anyway: a version that now exists with this tarball's integrity counts as
published rather than as one to place again. That same re-read is what turns a
mid-run `E403 cannot publish over the previously published versions` into a
skip when the bytes match, and leaves it a hard failure when they do not.

The native sequence gets the registry comparison publish.ts already had, through
its own script rather than shared code — the two sequences keep separate
publication paths. Its publish job now checks out the repository, which the
shell loop did not need.

Verified against a scripted registry: a clean publish, one E409 then success, an
E409 whose write landed anyway, E409 on every attempt (fails after four), and a
version already present with matching integrity (publishes nothing).
2026-08-13 15:31:09 +08:00
Chinesezjc fc4405723f Merge pull request #2299 from deepseek-harness/fix/windows-native-ci-local-validation
fix: Windows-native CI findings on latest master (local gate reproduction)
2026-08-13 15:30:47 +08:00
j-xiang ac0160938c Merge remote-tracking branch 'origin/docs/readme-human-polish-3' into docs/readme-human-polish-3 2026-08-13 15:25:58 +08:00
j-xiang 1b03574fb5 docs(i18n): address focused README review 2026-08-13 15:25:00 +08:00
Chinesezjc b5a130063d fix(scripts): widen fixture-cleanup EPERM retry window
The failover Windows pool releases child-process and antivirus file
handles slower than the hosted pool; a 1-second window (10 x 100 ms)
still exhausts before release under load, so install-lefthook fixture
cleanup threw EPERM in rmSync. A 10-second window (50 x 200 ms) covers
the slower release without pinning afterEach cleanup, since a
terminated child's handles drain once rather than reacquire.
2026-08-13 15:16:12 +08:00
Huanqi Cao ed463d74bf fix(workflow): use optional syntax for the tsconfig pin parameter 2026-08-13 15:16:12 +08:00
Huanqi Cao 314fedfc14 docs: record the junction-safe fixture teardown decision 2026-08-13 15:16:12 +08:00
Huanqi Cao 29d420f1ee fix(pwsh): accept link-shaped candidates and sync the README contract 2026-08-13 15:16:12 +08:00
Huanqi Cao 7593842ccf fix(workflow): forward the tsconfig pin only in the unbuilt worker 2026-08-13 15:16:12 +08:00
Huanqi Cao 095fde4ffd test(claude-code): isolate ambient Anthropic model env 2026-08-13 15:16:12 +08:00
Huanqi Cao c29246ae31 fix(pwsh): resolve Store app execution aliases 2026-08-13 15:16:12 +08:00
Huanqi Cao a62884a565 docs: add junction-safe unlink rule to defensive patterns 2026-08-13 15:16:12 +08:00
Huanqi Cao 22d30852f7 test(app-boot): unlink hmr alias junctions before removing the target 2026-08-13 15:16:12 +08:00
Huanqi Cao 9e9073da24 fix(boot): unlink stale profile fallback links instead of rmSync 2026-08-13 15:16:11 +08:00
Huanqi Cao 4ed036da1c 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-13 15:16:11 +08:00
_Kerman 378a662082 Merge remote-tracking branch 'origin/master' into dshw/pr-2458 2026-08-13 15:15:39 +08:00
Ag a37e19471e docs: refine localized community links 2026-08-13 15:14:36 +08:00
Turtle c1ae458090 Merge pull request #2469 from deepseek-harness/codex/docs-release-smoke-fixes
docs: fix pre-release smoke test failures
2026-08-13 15:11:31 +08:00
Tianyi Cui 0633add19d fix(web): clarify wildcard host safety warning 2026-08-13 15:10:12 +08:00
_Kerman 2be3e12965 fix(apiproxy): harden cold session metadata probing 2026-08-13 15:09:21 +08:00
Tianyi Cui 6cbf927e0a fix(web): reject unsupported wildcard host 2026-08-13 14:54:22 +08:00
Tianyi Cui 54cc6033a6 Merge pull request #2470 from deepseek-harness/worktree/drop-beta-welcome-notice
Remove the first-run beta notice and keep telemetry disabled by default
2026-08-13 14:50:49 +08:00
j-xiang cd83db152c Merge branch 'master' into docs/readme-human-polish-3 2026-08-13 14:44:14 +08:00
creatixchu 780e788dfe Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:41:08 +08:00
jy.ding 8502a38cb6 docs: add localized community channels 2026-08-13 14:40:28 +08:00
Tianyi Cui 4fa73a2ea8 Merge pull request #2476 from deepseek-harness/release/vendor-public-4.0.1
Release: vendor@4.0.1 & landlock@0.1.0
2026-08-13 14:38:55 +08:00
_Kerman 2c837c267f fix(web): address trajectory pagination review 2026-08-13 14:38:15 +08:00
creatixchu 0dcf37fbaf Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:33:50 +08:00
Tianyi Cui fcfc93896e Merge pull request #2435 from deepseek-harness/worktree/mark-repository-naming-note-implemented
docs: mark repository naming contract implemented
2026-08-13 14:31:52 +08:00
Turtle 3a1a4e2cd8 docs: address fragment review feedback 2026-08-13 14:30:17 +08:00
j-xiang ab08eb30a2 docs(i18n): human-polish additional Chinese READMEs 2026-08-13 14:21:33 +08:00
_Kerman 93d7eea12a fix(web): thin trajectory history divider 2026-08-13 14:20:19 +08:00
Turtle 4201bbceca docs: use installed dsh command in publish tutorial 2026-08-13 14:20:09 +08:00
Turtle bca790481c docs: document stable fragment aliases 2026-08-13 14:20:09 +08:00
Turtle 62080d49c2 docs: fix release smoke test failures 2026-08-13 14:20:09 +08:00
imccyu 7bedce822f release(vendor): cordis 4.0.1, cosmokit 1.8.2, group 1.0.1, hmr 1.0.16, include 1.0.6, loader 1.0.2, logger-console 1.0.1, schemastery 3.18.1, timer 1.1.3 2026-08-13 14:18:56 +08:00
creatixchu 45f417fb6a Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:18:54 +08:00
imccyu 9febc89930 release(landlock-run): 0.1.0 2026-08-13 14:18:39 +08:00
imccyu be96840412 Merge pull request #2473 from deepseek-harness/publish/npm-packagejson
build(release): publish the vendored framework and the native packages publicly
2026-08-13 14:17:16 +08:00
creatixchu 37247ea705 Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:14:55 +08:00
_Kerman c4226840f4 test(todo): isolate projection assertions 2026-08-13 14:11:21 +08:00
creatixchu b70a549714 fix(review): update smoke-real onboarding path and telemetry disclosure facts 2026-08-13 14:10:42 +08:00
imccyu a213befd0f build(release): publish the vendored framework and the native packages publicly
The three release sequences shipped with publishConfig.access: restricted, so
nothing in the @deepseek-ai scope was installable from outside the organization.

A restricted dependency is what actually blocks a public consumer: every harness
package declares the vendored framework as a peerDependency, and
dsh-sandbox-local declares the Landlock entry as a dependency. Those two
sequences therefore go public first — the nine vendor/* packages and the three
native/landlock-run packages — while the dsh family stays restricted until its
own sequence is opened deliberately. No public package requires a restricted one
in this arrangement.

Access is now per sequence, so no publish path can pass --access: one flag
cannot express two levels and would override the manifest that owns the fact.
publish.ts stops passing it, matching the native workflow, and
check-workspace-constraints holds each manifest to its own sequence's level,
which is what stops the scope from drifting one package at a time.

Harness consumers reference the Landlock entry as workspace:^ instead of
workspace:*, so a published harness package accepts the entry's patch and minor
releases. The entry keeps workspace:* for its platform packages, where the
binary must match the entry version exactly.

Two rationales that named a private registry no longer describe the vendored
sequence; they now state the durable reason, which is that the verification must
not depend on the registry already carrying matching versions.
2026-08-13 14:05:48 +08:00
imccyu 1646b7617e fix(bundle): exclude product subagents from base
The Codex and Claude Code subagent providers were production dependencies of
@deepseek-ai/dsh-base and mounted by its Cordis composition, so every install of
the base bundle carried two providers that only some products want.

Drop both from the base bundle's dependencies and composition. The examples keep
them as explicit dependencies, base's tests lock their absence, and the product
preset e2e mounts the providers it needs explicitly.

Cherry-picked from #2387 (two commits squashed into one).
2026-08-13 14:05:46 +08:00
_Kerman 3c06c66ac4 fix(web): hide verified cold blank sessions 2026-08-13 14:04:16 +08:00
_Kerman 14cf3334be fix(web): keep older trajectory history loadable 2026-08-13 14:04:06 +08:00
Turtle a312675d10 Merge pull request #2454 from deepseek-harness/codex/capitalize-service-provider
docs: capitalize Service Provider across repository
2026-08-13 14:03:57 +08:00
creatixchu b37243a317 Merge remote-tracking branch 'origin/master' into worktree/drop-beta-welcome-notice 2026-08-13 14:01:24 +08:00
creatixchu 5061ec2ef0 feat(web): 移除首启内测声明,遥测保持默认关闭 2026-08-13 13:47:09 +08:00
Yichen Jiang 2c456a00ea Merge pull request #2464 from deepseek-harness/fix/withhold-oauth-only-providers
不再向模型设置页提供 harness 无法认证的仅 OAuth 提供方
2026-08-13 13:37:47 +08:00