Commit Graph
3041 Commits
Author SHA1 Message Date
_Kerman a2de3af0d2 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
# Conflicts:
#	apps/cli/package.json
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/examples/agent-spine-demo/package.json
#	packages/goal/goal/package.json
#	pnpm-lock.yaml
2026-08-31 13:43:45 +08:00
_Kerman 700d5407fb Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/api/session-controller/src/control.ts
#	packages/context/agent-instructions/tests/agent-instructions.spec.ts
#	packages/test-support/agent-loop-testkit/package.json
2026-08-31 13:37:55 +08:00
_Kerman fcad57b3af Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery 2026-08-31 13:37:19 +08:00
_Kerman b9b2a37528 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
# Conflicts:
#	apps/cli/tests/fixtures/dsh-badge/snapshot.ts
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.md
#	docs/persistence-catalog.zh.md
#	packages/api/session-controller/tests/session-projections.host.spec.ts
#	packages/context/agent-instructions/tests/agent-instructions.e2e.ts
#	packages/context/agent-instructions/tests/agent-instructions.spec.ts
#	packages/context/tmux-context/tests/tmux-context.spec.ts
#	packages/core/agent-loop/package.json
#	packages/core/agent-loop/src/agent.ts
#	packages/core/agent-loop/src/index.ts
#	packages/core/agent/src/index.ts
#	packages/core/agent/src/types.ts
#	packages/goal/goal/tests/goal.spec.ts
#	packages/goal/tool-goal/package.json
#	packages/llm/llm-retry/tests/retry.spec.ts
#	packages/session-query/session-query/tests/observation.spec.ts
#	packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts
#	packages/test-support/agent-loop-testkit/package.json
#	packages/workflow/workflow-worker-thread/tests/workflow-worker-thread.e2e.ts
#	pnpm-lock.yaml
2026-08-31 13:37:06 +08:00
_Kerman 1101422362 refactor(agent): keep concrete inbox loop-internal 2026-08-31 13:36:49 +08:00
_Kerman f3858fc2a7 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
2026-08-31 13:36:45 +08:00
_Kerman 882a87c4bc Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery 2026-08-31 13:36:34 +08:00
_Kerman 37c5dc4b35 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
# Conflicts:
#	docs/subsystems/session-projection.i18n.yaml
#	docs/subsystems/session-projection.md
#	docs/subsystems/session-projection.zh.md
#	packages/context/agent-instructions/tests/agent-instructions.spec.ts
#	packages/core/agent-loop/README.i18n.yaml
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/README.zh.md
#	packages/core/agent-loop/tests/cancel.spec.ts
#	packages/core/agent/README.i18n.yaml
#	packages/core/agent/README.md
#	packages/core/agent/README.zh.md
#	packages/llm/llm-retry/tests/retry.spec.ts
#	packages/session/session-projection/README.i18n.yaml
#	packages/session/session-projection/README.md
#	packages/session/session-projection/README.zh.md
2026-08-31 13:36:28 +08:00
_Kerman 4b1683c287 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
# Conflicts:
#	docs/module-graph.i18n.yaml
2026-08-31 13:35:46 +08:00
_Kerman a20c5ad0a3 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
2026-08-31 13:35:39 +08:00
_Kerman 31ba0d6ae3 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/api/session-controller/tests/session-projections.host.spec.ts
2026-08-31 13:35:33 +08:00
_Kerman 87d041b2c1 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery 2026-08-31 13:35:25 +08:00
_Kerman 6ea9dd565b Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672 2026-08-31 13:35:17 +08:00
_Kerman 43bc150338 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672 2026-08-31 13:35:03 +08:00
_Kerman 9ff0212fbd Merge origin/master into xtr/durable-inbox-recovery 2026-08-31 13:34:56 +08:00
_Kerman bd3b651ea8 refactor(agent): remove inbox service 2026-08-31 13:34:22 +08:00
_Kerman df2bae9639 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672 2026-08-31 13:34:09 +08:00
_Kerman 633daf6624 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/core/agent-loop/tests/cancel.spec.ts
2026-08-31 13:33:36 +08:00
_Kerman aaf50dc39a refactor(agent): back Inbox with a durable projection 2026-08-31 13:32:59 +08:00
Turtle 244de7c18a refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
Chinesezjc 4032a0a428 ci(windows): use ReFS block-clone installs on the self-hosted VM (#3342)
pnpm hardlinks node_modules files to the store on the same volume, and
TypeScript's native realpath resolves those links back to store paths
(F:/.pnpm-store/v11/files/...), producing TS6231 during tsc -b and vite
resolution. ReFS block cloning (package-import-method=clone) gives each
file an independent path while sharing physical blocks, avoiding the
leak without the copy cost. Clone mode needs the @reflink/reflink native
module, which the system corepack pnpm carries but pnpm/action-setup's
dest build omits, so installs run through corepack pnpm.

The install steps branch on the workspace filesystem: clone only on
ReFS, plain install on hosted NTFS (which rejects copy-on-write). The
serial-windows store points at F:\.pnpm-store to share the ReFS volume.
Agent Note 2026-08-30-windows-refs-store-block-clone-install records the
rationale; ci-workflow.spec asserts the branch.
2026-08-31 04:13:15 +08:00
imccyu 45455aae77 feat(release): route dsh prerelease dist-tags 2026-08-30 19:50:51 +08:00
Tianyi Cui b7a77f4f08 Merge origin/master into worktree/revert-pr-3087 2026-08-30 14:18:37 +08:00
Tianyi Cui 089e044e5b docs(session): clarify external event compatibility 2026-08-30 14:17:44 +08:00
Tianyi Cui 2c6ff296af Revert "Merge pull request #3087 from deepseek-harness/worktree/remove-ignorable-session-events"
This reverts commit 2123b2f418b1c8fbb86dc327b598fb11423da226, reversing
changes made to 3c0b5c68ce697537a21084f9135663017474a2e1.
2026-08-30 12:26:20 +08:00
Yichen Jiang 6ff02e8a96 Merge remote-tracking branch 'origin/master' into worktree/plugin-list-display-cbe885
# Conflicts:
#	packages/client/tsdown.client.ts
2026-08-30 12:00:06 +08:00
Yichen Jiang c37a402dfb Merge remote-tracking branch 'origin/master' into worktree/plugin-list-display-cbe885
# Conflicts:
#	packages/client/tsdown.client.ts
2026-08-30 11:32:22 +08:00
imccyu 34bdc81b47 test(deps): enforce runtime dependency ownership 2026-08-30 02:29:52 +08:00
Dudu-0223 1e3ca1a4b3 test(ci): tolerate reaped timeout descendants 2026-08-29 20:19:38 +08:00
Dudu-0223 112daedd54 Merge origin/master into perf/3270-linear-stream-queues 2026-08-29 18:59:23 +08:00
Yichen Jiang 3b73a415c2 Merge origin/master: RemoteError wire vocabulary and ctx-based preset stores
Reconciled with the scope-grouped plugin list: compositionInventory keeps
its additive block over master's RemoteError refactor; the slimmed
settings-store keeps ctx-based signatures while staying a display-only
roster store (no describeFace, no select); dead transport-rejection tests
dropped with the wire that no longer rejects; module graph, catalogs, and
harnesses regenerated against the merged tree.
2026-08-29 17:13:45 +08:00
Yichen Jiang e5f36cc70f feat(plugin-inventory): carry every agent preset's composition and group the settings plugin list by scope
The settings plugin list projected ctx.loader.entries() alone, hiding the
plugins sessions actually run and rendering the web overlay's deliberate
disabled tombstones (tool-bash, tool-fs, ...) as two dozen plainly disabled
rows while the same modules ran in every standard-preset session.

- dsh-agent-presets: compositionInventory() answers flattened rows per
  preset — newest live standing generation when mounted, composition file
  otherwise with !!js disabled gates evaluated against the Loader context;
  reading never mounts (regression-tested), refusal stays 'conditional',
  raced files report broken with the reason.
- dsh-host-plugin-inventory: list() gains an optional agentPresets block,
  resolving the roster as an optional peer and mapping fiber states to the
  public phase vocabulary.
- ui-settings-plugin-inventory: preset group first behind a display-only
  switcher opening on the default preset; global group collapsed with
  failures floated; host-disabled modules enabled by >=1 preset fold into a
  session-plugins drawer naming providers; search spans scopes and points
  at matches in unselected presets.
- ui-agent-preset: the General-settings default-preset row is deleted — the
  roster section's make-default and the new-session chip keep the field —
  and the settings store slims to the display roster the header label reads.

Docs, catalogs, module graph, settings-chrome goldens, and the bilingual
Agent Note ride along.
2026-08-29 17:13:45 +08:00
Yichen Jiang 1404ded8b1 Merge pull request #3303 from deepseek-harness/worktree/dsh-ci-test-reliability
docs(testing): add CI test reliability skill
2026-08-29 16:54:54 +08:00
Yichen Jiang cc5173f4cf docs(testing): state the concurrent execution model where tests are written
The skill carries the reliability rules, but nothing an agent loads by default
said that specs run concurrently at all. The testing policy described tiers and
evidence without ever stating how a spec is executed, and neither subtree
AGENTS.md mentioned it — including scripts/, where the two suites that recently
failed on unrelated branches live.

docs/testing.md gains the execution model as the one home for the fact: forked
workers, concurrent coverage partitions beside other gates, and self-hosted
runners sharing a host and volume, with the rule that a spec passing only when
run alone is a defect in the spec. It links the skill for the detailed rules.

packages/AGENTS.md and scripts/AGENTS.md carry the short actionable form and
link that section, so the rule is present in the context loaded while a test in
either subtree is being written.

Both ceilings are raised for the added words and the targets in docs/AGENTS.md
move with them: docs/testing.md 1150 to 1300 (now 1237) and packages/AGENTS.md
675 to 750 (now 712), each keeping the 5% headroom the standard requires.
2026-08-29 15:31:12 +08:00
imccyu 9162bc69bd fix(release): harden dependency verification 2026-08-29 14:26:42 +08:00
imccyu b46d36d3bf test(release): verify dual-version npm layout 2026-08-29 14:26:42 +08:00
imccyu 91b5a01980 fix: complete dependency policy generation 2026-08-29 14:26:42 +08:00
imccyu 943a544899 feat: classify Host dependency exports 2026-08-29 14:26:42 +08:00
imccyu c55beac34a feat: verify Host dependency export identity 2026-08-29 14:26:42 +08:00
imccyu de256e8bc1 feat: enforce published dependency policy 2026-08-29 14:26:42 +08:00
Yichen Jiang ee309c0794 Merge pull request #3299 from deepseek-harness/worktree/fix-subagent-settings-label-color
fix(snapshot): bind fixture servers to OS-assigned ports
2026-08-29 13:17:27 +08:00
Yichen Jiang 1dd5476232 Merge pull request #3308 from deepseek-harness/worktree-windows-lane-hook-budget
test(ci): carry the hook budget and align the Lefthook suite with the lane
2026-08-29 12:06:59 +08:00
Yichen Jiang 7fbd33de00 fix(snapshot): keep fixture lifecycle tests source-clean 2026-08-29 11:50:13 +08:00
Yichen Jiang 1f8d7b73af fix(snapshot): own fixture listener lifecycle 2026-08-29 11:29:46 +08:00
Yichen Jiang 90505636cd test(ci): carry the hook budget and raise the Lefthook suite to the lane value
The Windows coverage lane grants DSH_COVERAGE_TEST_TIMEOUT_MS=90000, but two
paths declined it.

scripts/install-lefthook.spec.ts took a describe-level 30_000, restated as a
per-case constant on five cases. Every case drives spawned Git and Node
subprocesses; the slowest costs 7.5 s on an idle host, so the ceiling carried
roughly fourfold headroom and fired on branches that did not touch the file.
The suite takes 90_000 and the redundant constant is removed.

coverageTestTimeoutArgs raised --testTimeout and --expect.poll.timeout but left
--hookTimeout at Vitest's separate 10 s default, which removeFixtureSafely's
documented 10-second Windows retry window meets exactly. Raising only the test
budget would move a contended suite's failure into its teardown.
2026-08-29 11:15:32 +08:00
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
Dudu-0223 51a6eabb27 perf(api): replace shift-backed stream queues 2026-08-28 17:37:03 +08:00