Commit Graph
13582 Commits
Author SHA1 Message Date
imccyu b862725e74 Merge pull request #2787 from deepseek-harness/worktree-rename-team
refactor: mark Agent Teams packages as experimental
2026-08-19 22:59:48 +08:00
imccyu 803a60264a fix: normalize release bump manifest paths 2026-08-19 22:52:40 +08:00
Kaige-Gao 8304a25d8a Merge remote-tracking branch 'origin/master' into fix/permission-copy-and-default
# Conflicts:
#	packages/subagent/subagent-codex/tests/subagent-codex.spec.ts
2026-08-19 22:50:35 +08:00
Kaige-Gao 35778ec2ff fix(web): address permission preset review feedback 2026-08-19 22:45:54 +08:00
imccyu 70a3bf4554 docs: refresh Agent Teams catalogs 2026-08-19 22:44:23 +08:00
imccyu 4dd1be1a1f refactor: rename agent teams service key 2026-08-19 22:30:36 +08:00
imccyu 0e51d5ffae refactor: prefix experimental package names 2026-08-19 22:30:36 +08:00
imccyu cb93304ec9 refactor: rename experimental agent team directories 2026-08-19 22:30:36 +08:00
Tianyi Cui 05d64b50de Merge pull request #2786 from deepseek-harness/worktree/reasoning-content-missing-bug-abeb35
fix(llm-deepseek): pass reasoning content back on every reasoned turn
2026-08-19 22:17:12 +08:00
Yichen Jiang 583894f7ae fix(llm-deepseek): pass reasoning content back on every reasoned turn
An assistant turn that answered without calling a tool serialized no
reasoning_content, so a gateway re-encoding the conversation for another
vendor had no chain of thought to hash and lost that turn's upstream
thinking signature.
2026-08-19 22:02:36 +08:00
Tianyi Cui a9dc3b7ff6 Merge pull request #2780 from deepseek-harness/worktree/brand-guidelines-i18n
docs: split brand guidelines into bilingual pair
2026-08-19 21:50:25 +08:00
Tianyi Cui c81937cdbb test: pin brand guidelines root scope 2026-08-19 21:45:43 +08:00
Tianyi Cui 5aa99be94e test: refresh translation prompt snapshot 2026-08-19 21:39:28 +08:00
Tianyi Cui 89b0f17f84 docs: split brand guidelines into bilingual pair 2026-08-19 21:01:18 +08:00
_Kerman c1b67c901d Merge remote-tracking branch 'origin/master' into xtr/2701-stable-session-snapshots 2026-08-19 20:39:44 +08:00
pku-xht 615d910f04 Merge origin/master into codex/subprocess-win32-process-primitives 2026-08-19 20:01:10 +08:00
07akioni 000ab970f3 feat(web): size markdown tables by column count, widen wide ones past the column
Markdown tables were always rendered at natural width, so anything wider
than the 748px message column could only be read through horizontal
scrolling. Following the deepsuite chat TableWrapper treatment: tables
under four columns (and any table inside a blockquote) now fill the column
and wrap cell text down to the cells' minimum readable width, while
four-or-more-column tables keep their natural width behind the wrapper's
horizontal scroll and carry the stable md-table-wide hook. The chat
transcript widens hooked tables past the message column with a pure-CSS
container-query breakout (100cqw against ChatView's scroll container
standing in for deepsuite's JS-measured list width), keeping the table
content aligned with the message column and clamping to neutral when the
transcript is narrower than the column.
2026-08-19 19:58:14 +08:00
imccyu 75282c92c1 Merge pull request #2778 from deepseek-harness/worktree-nologo2
docs: update branding guidelines file
2026-08-19 19:03:22 +08:00
imccyu 16cfa8a395 docs: rename BRAND-GUIDELINE.md 2026-08-19 18:59:20 +08:00
Magolor 6efd8edd0f Merge pull request #2306 from deepseek-harness/codex/sqlite-v2-chunk-packing
feat(session): optimize SQLite persistence layout
2026-08-19 18:48:33 +08:00
Magolor 93b4b98ef3 feat(session): optimize SQLite persistence layout 2026-08-19 18:36:27 +08:00
imccyu 1a5e038fb9 Merge pull request #2665 from deepseek-harness/worktree-nologo
feat(client): configure build-time branding
2026-08-19 18:33:45 +08:00
imccyu 8c542e1649 docs: add GUIDELINES.md 2026-08-19 18:21:35 +08:00
imccyu 50a953fef3 fix: ci 2026-08-19 18:21:35 +08:00
imccyu 319d9a7984 feat(client): compose deployment branding through slots 2026-08-19 18:21:35 +08:00
imccyu 738dcced9b feat(release): validate client build artifacts 2026-08-19 18:21:27 +08:00
imccyu 66a7081c15 feat(build): bind client artifacts to build profiles 2026-08-19 18:21:27 +08:00
imccyu 93cbb3799d feat(client): inject public build environment 2026-08-19 18:21:26 +08:00
Yichen Jiang 1943a532f6 Merge pull request #2769 from deepseek-harness/worktree/web-reference-ui-polish
fix(web): align reference input and recall ordering
2026-08-19 18:12:46 +08:00
_Kerman e7d24de36c Merge pull request #2300 from deepseek-harness/feat/pwsh-persistent-pty
feat(pty): persistent pwsh over the PTY seam on Windows
2026-08-19 18:03:56 +08:00
Yichen Jiang 1585e539d2 fix(web): address reference review defects 2026-08-19 18:02:10 +08:00
Magolor c474d28d0b Merge pull request #2722 from deepseek-harness/agent/avoid-persistence-seed-clone
perf(session): 避免重复克隆持久化 seed
2026-08-19 17:58:26 +08:00
Chinesezjc 7ae647d52c fix(cic): narrow workflow.on before Object.keys in event-set assertion
The exact-event-set assertion called Object.keys on a Record<string, unknown>'s
on field without narrowing, failing typecheck (TS2769). Guard with isRecord
before asserting the full event sets.
2026-08-19 17:48:32 +08:00
Chinesezjc 6d6e4e17c8 fix(cic): sync event-set assertion, zh twins, and master-workflow attribution
Address the 7 remaining review threads on PR #2768:

- spec: assert the exact full event sets for both workflows (ci-master =
  [push, workflow_dispatch], ci.yml = [pull_request]) instead of only the
  negated checks, so losing/adding a wrong event fails.
- 2026-07-21 note line 29: 'The ci-master and Sandbox workflows keep their
  cross-platform references on master pushes' (en+zh) — ci.yml is PR-only.
- failover-runbook line 19 (en+zh): the push-reachable classification now names
  ci-master.yml for the drills/wine cache and ci.yml for the PR jobs, dropping
  the stale pull-request-gated phrasing.

i18n hashes re-recorded for both notes; spec 13/13, pairs consistent,
note-format 575.
2026-08-19 17:46:06 +08:00
Chinesezjc 7247de9d3d fix(cic): restore serial-linux drill comment, sync pnpm-isolation note, polish runbook
Address the second review pass on PR #2768:

- Restore the serial-linux-selfhosted drill comment in ci-master.yml (it was
  lost in the split boundary, leaving serial-linux-selfhosted as the only
  comment-less job); adapted to the current-state fact that this workflow never
  listens to pull_request while keeping the no-cache-steps reason, the
  DSH_CI_FAILOVER_LINUX switch guidance, and push-triggered semantics.
- Update 2026-07-29-pnpm-setup-runner-isolation (en/zh + i18n): the regression
  test and setup steps now span ci.yml and ci-master.yml.
- failover-runbook line 19: the push-reachable classification now names
  ci-master.yml for the drills/wine cache and ci.yml for the pull-request jobs,
  dropping the stale pull-request-gated phrasing.
- all-checks-passed comment in ci.yml notes that needs cannot reach across
  workflow files (ci-master job are deliberately outside this PR verdict).

Verification: ci-workflow.spec.ts 13/13, both workflows YAML-parse with correct
concurrency, 3 translation pairs consistent, note-format 575.
2026-08-19 17:44:40 +08:00
Chinesezjc 82f9040a7c fix(cic): correct pnpm-caching note and extend setup-dest test to ci-master
- The pnpm-caching note placed node-compat in ci-master.yml, but it stays a PR
  job in ci.yml; only the two runner benchmarks moved. Correct en/zh line 15 and
  re-record the pair.
- The pnpm/action-setup destination test only iterated ci.yml; extend it to also
  cover ci-master.yml so its five pnpm setups stay regress-tested.
2026-08-19 17:25:59 +08:00
Chinesezjc 1d5e4199c8 fix(cic): address CI-split review - restore PR concurrency, fix comment migration, restore deleted spec block
Per review on PR #2768:

- Restore a concurrency block in ci.yml (cancel-in-progress: true) so a fresh
  PR push cancels the superseded run; GitHub has no default PR auto-cancel,
  so removing it would stack a second full 9-job run on every push.
  Update the ci-workflow.spec assertion accordingly.
- Fix comment misplacements from the split boundary: ci.yml's all-checks-passed
  now carries its own branch-protection comment (the drill comment that was
  orphaned above it is gone), and ci-master.yml no longer ends with an orphaned
  all-checks-passed comment.
- Restore the DeepSeek e2e workflow describe-block in ci-workflow.spec.ts that
  the rewrite had silently deleted (e2e.yml is unchanged).
- serial-windows comment no longer claims non-blocking-for-PR/absent-from-needs
  since ci-master never listens to pull_request.
- DSH_TELEMETRY_DISABLED safe-use comment restored in ci-master.yml env; split
  rationale (mi gray segments in PR check) documented in .github/AGENTS.md.

Verification: ci-workflow.spec.ts 13/13, both workflows YAML-parse with correct
concurrency, git diff --check clean.
2026-08-19 17:24:58 +08:00
Yichen Jiang bbc356144d Merge remote-tracking branch 'origin/master' into worktree/web-reference-ui-polish 2026-08-19 17:11:46 +08:00
Yichen Jiang 988dd7824a fix(web): align reference input and recall ordering 2026-08-19 17:11:36 +08:00
_Kerman 917ef58f79 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2300 2026-08-19 17:09:18 +08:00
Chinesezjc 61f910d1c6 ci: split master-only jobs into ci-master.yml
Split the single ci.yml into two workflows so the PR check panel stops listing
master-only obs jobs that skip (gray) and block the aggregate green-check:

- ci.yml is now pull_request-only, holding only the 9 PR jobs (node-24,
  node-24-coverage, node-24-consumers, node-compat, python-sdk, python-runtime,
  windows, windows-native, all-checks-passed). It drops the workflow-level
  concurrency block since master carve-outs no longer apply.
- ci-master.yml (new) carries the six master/dispatch jobs (wine-apt-cache,
  serial-linux-selfhosted, serial-macos, serial-windows, and both runner
  benchmarks) with the push-exempt cancel-in-progress block and suite input.
  It does not listen to pull_request, so its jobs never appear in PR checks.

ci.yml keeps the wine apt cache seed/restore (repo-scoped by key), so moving the
producer to ci-master.yml does not break the PR windows job's restore.

Update ci-workflow.spec.ts to assert the two-workflow split: ci-master owns the
drills/benchmarks and the push-exemption concurrency, ci.yml is PR-only without
concurrency. Update the serial-reference, portable-required, failover-runbook,
and pnpm-caching notes (en/zh + i18n) and .github/AGENTS.md to reflect ci-master.

Verification: scripts/ci-workflow.spec.ts 12/12, both workflows YAML-parse,
verify-translation-pairing consistent, verify-agent-note-format passes.
2026-08-19 17:09:18 +08:00
_Kerman 327b86d2ea refactor(session-projection): checkpoint every projection unit uniformly
Drop the persist?: boolean opt-in: every unit's state — client-visible and
host-only alike — is now written to the projection cache. A unit can no
longer silently skip the durable cache, host-only units no longer need an
explicit flag to participate in cold restore, and the persist-sharing
conflict check disappears with the field.

- ProjectionDefinition/ErasedDefinition lose persist; register overloads
  simplify; checkpoint/restoreFloor/restore fold every registered unit.
- Registry and cache tests drop the persist:true fixtures and the
  persistence-policy sharing test.
- READMEs and the state-and-client-views note record the uniform rule;
  cordis API catalog and subsystem signatures regenerated.
2026-08-19 16:55:10 +08:00
Chinesezjc e122005011 Merge pull request #2744 from deepseek-harness/ci/remove-hosted-serial-linux
ci: remove dead hosted serial-linux job
2026-08-19 16:26:36 +08:00
pku-xht ce46af97f2 Merge commit '84d329db60462a97ff7de82d8c7bd101676a3f0e' into codex/subprocess-win32-process-primitives 2026-08-19 16:19:10 +08:00
Chinesezjc 674b3d8afd test(subagent): address continuation cleanup review
- Keep cleaning remaining roots even if one cleanup rejects.
- Collapse the duplicated Windows-EPERM rationale to one comment.
- Dispose the cold-resume context's second JsonlSessionPersistence handle on
  the shared root before afterEach removes it.
2026-08-19 16:18:37 +08:00
lsdsjy f938d8e1c8 fix(ci): reuse pinned bubblewrap setup in e2e 2026-08-19 16:08:56 +08:00
Chinesezjc 50c22ee472 chore(knip): drop stale and glob-duplicate workspace entries
Remove 15 workspaces entries from knip.json: 2 keys naming packages that no
longer exist (packages/util/home, packages/client/web-ui) and 13 entries
whose entry/project equal the packages/*/* glob default. knip selects one
config per matched key by specificity, so a removed entry either lost an
unresolvable target or fell back to an identical glob config; knip still
runs clean (0 issues). 655 lines, down from 790.
2026-08-19 16:01:17 +08:00
lsdsjy f8e4ca0bb0 Merge pull request #2410 from deepseek-harness/feat/auto-open-web-ui
feat(web,cli): open the ready Web UI by default
2026-08-19 16:00:38 +08:00
Chinesezjc ea0906a99d test(subagent): close persistence handle before deleting temp root
The continuation spec cleaned each mkdtemp root with rmSync in afterEach
without closing the JsonlSessionPersistence handle first. On Windows,
rmSync recursive over a directory whose file handle is still open fails
with EPERM, surfacing intermittently in native complete as
dsh-subagent-continuation-* cleanup failures. Close the persistence
fiber before rmSync (mirrors jsonl.spec.ts), preserving per-root
dispose-then-delete order.
2026-08-19 15:57:51 +08:00
imccyu 2bff588f3d Merge pull request #2756 from deepseek-harness/fix/oxlint-ci-diagnostic-locations
fix(ci): preserve oxlint diagnostic locations
2026-08-19 15:56:36 +08:00