2563 Commits
Author SHA1 Message Date
techflag 8a6d7fb592 fix(release): scope Web source gate to Web and DSH inputs 2026-09-26 20:32:41 +08:00
techflag b0bd304335 diagnostics(release): report package source mismatch 2026-09-26 20:26:10 +08:00
techflag 31d0057c71 fix(release): ignore generated files in source cleanliness gate 2026-09-26 20:13:57 +08:00
techflag 5cac25748c build: use one cross-platform Desktop release packaging script 2026-09-26 20:06:22 +08:00
techflag 745bf39c75 chore: remove unused community workspace scaffolds 2026-09-26 16:19:44 +08:00
techflag 00935c3c6e chore: keep internal web docs local only 2026-09-26 15:21:44 +08:00
techflag 04eb18284c Integrate Web workspace and enforce one DSH version 2026-09-26 10:41:02 +08:00
techflag 3d6ec74a1d check: verify upstream submodule pin matches DSH version 2026-09-26 01:29:37 +08:00
techflag 9a586814d9 Clean Desktop carrier and enforce one DSH version 2026-09-25 21:44:01 +08:00
techflag 12100cd2ea Remove standalone SSH plugin and workflows 2026-09-25 20:41:33 +08:00
techflag 468be1fa07 Scope Desktop version gate to Desktop source 2026-09-25 20:41:33 +08:00
techflag fbee96acc8 Retire duplicate Beta Desktop workspace 2026-09-25 20:41:33 +08:00
techflag e20288eb9b Define Desktop DSH version alignment gate 2026-09-25 20:41:33 +08:00
techflag e65220a386 chore(desktop): preserve beta vendor pin across rc.2 source upgrade 2026-09-25 01:26:15 +08:00
techflag 8947867f6d feat: checkpoint installable SSH workbench beta.10 2026-09-08 14:34:05 +08:00
techflag faac235783 feat: checkpoint functional SSH workbench before standalone plugin extraction 2026-09-08 12:41:04 +08:00
xipian-air 59e1f26279 feat(stable): sync beta recovery assistant 2026-09-08 00:50:25 +08:00
xipian-air 542dcae963 fix(beta): adapt desktop runtime to dsh v0.1.3-alpha.2 2026-09-07 22:36:59 +08:00
xipian1216 1eca954d45 fix(test): prepare Electron before parallel Windows workers 2026-09-07 04:40:11 +08:00
xipian-air 61ed61f835 fix(ci): declare stable launch environment helper divergence 2026-09-06 00:10:48 +08:00
xipian1216 589b26d2df Merge pull request #829 from anywhere-labs/codex/optimize-startup-packaging-worktree
perf(packaging): keep selective ASAR gains without startup regression
2026-09-05 15:15:48 +08:00
xipian-air 24133d2457 fix(ci): declare beta recovery variant drift 2026-09-05 05:00:22 +08:00
xipian-air dae8660de3 perf(packaging): archive desktop runtimes with selective ASAR 2026-09-05 02:54:37 +08:00
xipian-air 6c76b70fe1 feat(stable): add quick recovery safe mode 2026-09-03 16:15:17 +08:00
xipian-air 71d41b461f fix(ci): normalize desktop variant paths 2026-09-03 14:40:14 +08:00
xipian-air a9471ea8c8 feat(beta): add quick recovery safe mode 2026-09-03 14:14:02 +08:00
xipian-air abdba20a6f build(stable): pin DSH runtime to 0.1.1-rc.2 2026-09-02 17:17:10 +08:00
xipian-air 964b838c82 feat(release): maintain stable and beta desktop packages 2026-09-02 15:07:59 +08:00
xipian-air 42e1f7b443 refactor(beta): isolate desktop distribution identity 2026-09-02 13:49:00 +08:00
t4we fan b3fd6415bd chore(upstream): prepare alpha runtime baseline 2026-08-28 14:12:10 +08:00
Qiuner 944f92302c ci(architecture): enforce Market dependency direction 2026-08-19 23:42:38 +08:00
Qiuner 40ee9140c2 ci(docs): validate all bilingual records 2026-08-19 23:42:38 +08:00
Qiuner 00fefa38d6 ci: skip product gates for documentation changes 2026-08-19 00:56:17 +08:00
t4we fan 9c2d915154 docs(market): initialize community market shell 2026-08-17 01:41:05 +08:00
t4we fan 68b9352955 docs(fabric): define compatibility framework draft 2026-08-17 01:31:34 +08:00
Qiuner b7766e2d90 Merge remote-tracking branch 'origin/master' 2026-08-16 21:40:22 +08:00
Qiuner 48fe630059 fix(ci): accept CRLF in bilingual hash records
Windows worktrees created before the LF attributes landed can retain CRLF in the hash record. Split record lines with an optional carriage return so verify-layout compares the recorded Git blob hashes consistently.
2026-08-16 21:36:13 +08:00
t4we fan 90162f5087 docs: trim ecosystem section and verify README i18n records in CI
Drop the compatibility/advanced and roadmap sentence from the plugin
ecosystem section (the features table still marks roadmap items), and add
a developer note that the project itself is a DSH plugin with a link to
the plugin docs.

verify-layout now checks README.i18n.yaml against the committed
README.md/README.en.md blobs via git rev-parse HEAD, so a README edit
without re-recording the bilingual hashes fails CI on every platform.
2026-08-16 21:15:37 +08:00
t4we fan 4895b38531 fix(ci): make verify-layout robust on Windows checkouts
The Windows CI run failed because the note-hash check hashes the working
tree with git hash-object, and a CRLF checkout changes the blob hash.
Hash the committed blob via git rev-parse HEAD:<path> instead, which is
identical on every host and keeps the recorded values valid. Also accept
the Windows materialization of the CLAUDE.md symlink (a regular file
holding the target name), and enforce LF for the outer working tree with
a root .gitattributes, matching the submodule convention.
2026-08-16 20:50:18 +08:00
t4we fan 4e3eb911fd refactor(repo): isolate upstream and desktop workspace 2026-08-15 01:07:13 +08:00
imccyu 8c1e8d9890 build(release): publish the dsh family publicly
Every release member now declares publishConfig.access: public, so the scope no
longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored
framework and the native packages.

check-workspace-constraints drops the per-sequence expectation and holds every
release member to public, which is what stops a member from drifting back.

Access is a property of the package, not of a version: the dsh packages already
published as restricted become world-readable at their next publication.
2026-08-13 18:49:32 +08:00
Shigma 0ae8f27b93 docs: add link to preview paper 2026-08-13 18:37:45 +08:00
Chinesezjc 65f679b33a ci: split failover switch into per-platform Linux and Windows variables
Replace the single DSH_CI_FAILOVER variable with two independent
switches so an outage on one platform no longer retargets the other:

- DSH_CI_FAILOVER_LINUX: the three required Linux workers (node-24,
  node-24-coverage, node-24-consumers) and the all-checks-passed verdict,
  which resolves its pool to vm-backup and keeps its concurrency and
  cache-restore branches.
- DSH_CI_FAILOVER_WINDOWS: the non-blocking windows-native job, which
  resolves to the dsh-win-ci pool.

all-checks-passed rides the Linux switch because it aggregates the
required Linux workers and runs on the vm-backup pool. The Dependabot
exclusion is preserved on both switches. The failover runbook (EN/ZH)
and its translation pairing, plus the docs that referenced the old
variable, are updated in the same change.
2026-08-13 16:54:57 +08:00
imccyu df9ea1681f fix: snapshot 2026-08-13 16:20:19 +08:00
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
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 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
Turtle 3a1a4e2cd8 docs: address fragment review feedback 2026-08-13 14:30:17 +08:00
Turtle 62080d49c2 docs: fix release smoke test failures 2026-08-13 14:20:09 +08:00