Commit Graph
14511 Commits
Author SHA1 Message Date
Chinesezjc 46db9e2ad4 test(code-runtime-python): update output-cap bound to ceiling-envelope
The frame-ceiling cap test asserted the old (ceiling-envelope)/6 bound and
its 44739232 message. The load bound is now ceiling-envelope because both
budgets are metered in already-escaped bytes; assert 268435392.
2026-08-31 14:21:19 +08:00
Chinesezjc 9a05c0075f fix(code-runtime-python): reap same-group children and correct log-budget bound
Address review findings on the CPython backend:
- CRITICAL: a model program could leave a descendant in the child's own
  process group that ignores SIGTERM but releases the inherited pipes, so
  the leader's `close` fired and settle() cancelled the pending SIGKILL
  before it escalated — run()/dispose() returned while that child lived.
  kill() now unrefs the grace timer and settle() no longer clears it, so
  the SIGKILL reaches the whole group; killGroup swallows ESRCH when the
  group is already gone (the normal case). Adds a real-subprocess
  regression test.
- WARNING: the maxLogBytes/maxValueBytes load bound divided the frame
  ceiling by 6 for escape expansion, but both budgets are metered in
  already-escaped serialized bytes, so a payload occupies at most
  cap+envelope on the wire. Bound is now ceiling-envelope; drop the unused
  escape constant.
- Narrow the runtime.spec.ts header to "no subprocess mocks" (it mocks
  node:fs.copyFileSync for staging-failure cases).
- Use full-width punctuation in the README.zh.md prose per translation
  rules; re-record the pair.
2026-08-31 14:21:19 +08:00
Chinesezjc 538ad4d3dc docs(code-runtime-python): sync README with the shipped backend
The package README (both languages) still described this layer as
protocol-only with the PythonCodeRuntime implementation deferred to a
later PR, contradicting the shipped code. Rewrite the intro to describe
the registered runtime, add a Configuration section for every Config cap,
and drop the "implementation not in this layer" limitation. Also pin the
residual-detach fixture's size invariant: the byteLength assertion only
holds above Node's Buffer pool threshold.
2026-08-31 14:20:00 +08:00
Chinesezjc e576ceb913 docs: regenerate module graph for the code-runtime-python dependency
Adding @deepseek-ai/dsh-code-runtime to the backend manifest introduces a
new edge the generated graph must reflect.
2026-08-31 14:16:47 +08:00
Chinesezjc 27901c547f fix(code-runtime-python): declare the dsh-code-runtime dependency
The manifest omitted @deepseek-ai/dsh-code-runtime although src/index.ts
imports CodeRuntime and the portable-identifier constants from it and the
tsconfig references ../code-runtime. A three-way package.json merge over
the protocol-layer stub dropped the entry; restore it in peer and dev
dependencies so the declaration matches the import.
2026-08-31 14:16:02 +08:00
Chinesezjc 7b4b8df2dd docs(code-runtime-python): fix settlement-fixes note wrap and cross-link
Unwrap the English note to one physical line per paragraph (verify-md-wrap)
and retarget the backend link to the fd-3 protocol architecture note that
this stack actually ships (verify-md-links); re-record the bilingual pair.
2026-08-31 14:14:33 +08:00
Chinesezjc c388169cff feat(code-runtime-python): add the CPython subprocess backend
Land the PythonCodeRuntime implementation on top of the fd-3 protocol
seam: python3 -I per run, binding namespace over fd 3, RLIMIT_CPU/AS,
wall-clock timer, and SIGTERM->grace->SIGKILL process-group teardown,
with the real-subprocess integration suite.

Fixes three defects surfaced on the source PR's review before they ship:
- boot-write failure resolved a worker-exit through finish()/settle()
  that read wallTimer/onAbort/live in their TDZ, rejecting run() instead;
  the boot write now runs after those bindings and the v8-ignore that hid
  the branch is removed.
- log capture serialized against settlement with no lock while model
  daemon threads keep writing; LogBuffer now owns one shared re-entrant
  lock taken by write/flush_line/push.
- the fd-3 line residual was a subarray view pinning the whole joined
  frame; it is copied into a right-sized Buffer via detachResidual so
  pendingBytes measures what is retained.
2026-08-31 14:14:32 +08:00
Tianyi Cui 817c67d799 Merge pull request #3339 from deepseek-harness/worktree/session-format-01-jsonl-only
refactor(session)!: remove SQLite persistence backend
2026-08-31 13:58:04 +08:00
Tianyi Cui 4553c9d957 refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
Turtle c68676d3c9 Merge pull request #3128 from deepseek-harness/turtle/remove-agent-spine-demo
refactor(bundle): remove the agent spine demo
2026-08-31 13:17:45 +08:00
Turtle 4c69dc3fed test(loader): budget production profile startup 2026-08-31 11:23:46 +08:00
Turtle 16c8cf30ed test(goal): cover projection teardown access 2026-08-31 11:23:46 +08:00
Turtle fddad3a236 test(sdk): mount session projections in loop fixtures 2026-08-31 11:23:46 +08:00
Turtle 8528e4039d chore(cli): trim test-only profile dependencies 2026-08-31 11:23:46 +08:00
Turtle 287651fd89 test(cli): replay the session title separately 2026-08-31 11:23:30 +08:00
Turtle 244de7c18a refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
CreatixChu c3672eb1e3 Merge pull request #3277 from deepseek-harness/worktree/fix-3269-read-image
fix(tool-fs): accept extension-less attachment paths in read_image
2026-08-31 11:12:47 +08:00
CreatixChu 65b8e51042 Merge pull request #3208 from deepseek-harness/worktree/steer-followup-images
fix: deliver images reliably with steer and follow-up messages
2026-08-31 10:57:44 +08:00
creatixchu 6516fbcde8 Merge origin/master into worktree/steer-followup-images 2026-08-31 10:37:39 +08:00
creatixchu 90a8467213 Merge remote-tracking branch 'origin/master' into worktree/fix-3269-read-image 2026-08-31 10:00:53 +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 0a53fb55be Merge pull request #3334 from deepseek-harness/release/dsh-0.1.2-alpha.2
release: dsh@0.1.2-alpha.2
dsh-v0.1.2-alpha.2
2026-08-30 21:37:53 +08:00
imccyu 3f1b46a5db release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
imccyu 5761890711 Merge pull request #2988 from deepseek-harness/worktree-npmalpha
feat(release): add DSH alpha and canary channels
2026-08-30 20:26:17 +08:00
imccyu 45455aae77 feat(release): route dsh prerelease dist-tags 2026-08-30 19:50:51 +08:00
imccyu f46e4a8ada docs(release): define dsh prerelease channels 2026-08-30 19:50:51 +08:00
Tianyi Cui ed9fb840d6 Merge pull request #3325 from deepseek-harness/worktree/revert-pr-3087
revert(session): restore ignorable event compatibility
2026-08-30 15:34:41 +08:00
imccyu 9e1bdefc72 Merge pull request #3326 from deepseek-harness/worktree-rerevert2608
fix(web): restore localized permission labels
2026-08-30 14:55:28 +08:00
imccyu 8769d57c98 fix(web): localize permission preset labels 2026-08-30 14:24:23 +08:00
imccyu 5fae1d02f5 docs(web): describe localized permission labels 2026-08-30 14:24:23 +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
Yichen Jiang 8448c05277 Merge pull request #3316 from deepseek-harness/worktree/plugin-list-display-cbe885
feat(plugin-inventory): scope-grouped plugin list carrying agent preset compositions
2026-08-30 14:00:23 +08:00
Yichen Jiang cf50cfa8ac Merge pull request #3315 from deepseek-harness/worktree/issue-3310-verification-a39d1a
fix(web): publish the drill claim before the descent edit
2026-08-30 12:46:30 +08:00
Tianyi Cui b7bccd5897 fix(docs): repair reverted session note references 2026-08-30 12:35:11 +08:00
Tianyi Cui 29b65af60b docs(session): retain ignorable events for external plugins 2026-08-30 12:29:24 +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 19c3a270fa test(agent-presets): key mounted-row assertions by entry id
The loader's entry store is a plain object, so an auto-generated all-digit
id is reordered ahead of its siblings by integer-key semantics and the
previous ordered assertion flipped on roughly one in fifteen runs. Row
ordering belongs to loader.entries(), not to this projection; the spec now
asserts each row by its id.
2026-08-30 12:08:52 +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
imccyu a69941bf51 Merge pull request #3319 from deepseek-harness/worktree-runtime-dependency-decoupling
refactor: reduce internal peer dependency fan-out
2026-08-30 11:54:45 +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
Yichen Jiang 2f673e5aba fix(agent-presets): register the display subpath in tsconfig paths
CI's coverage lane runs on a clean tree where workspace imports resolve
through tsconfig paths to src; the value import of
@deepseek-ai/dsh-agent-presets/display therefore needs its own paths row
beside ./types. Locally the built lib masked the gap; reproduced by moving
lib aside, fixed, and re-run green under the same condition.
2026-08-30 11:32:07 +08:00
imccyu 739d9d594e Merge pull request #3318 from deepseek-harness/release/vendor-4.0.2
release(vendor): cordis 4.0.2, cosmokit 1.8.3, group 1.0.2, hmr 1.0.1…
2026-08-30 11:24:37 +08:00
imccyu 6af96785b5 release(vendor): cordis 4.0.2, cosmokit 1.8.3, group 1.0.2, hmr 1.0.17, include 1.0.7, loader 1.0.3, logger-console 1.0.2, schemastery 3.18.2, timer 1.1.4 2026-08-30 11:04:50 +08:00
imccyu b27c8fbc02 chore(deps): refresh package manifests 2026-08-30 02:29:53 +08:00
imccyu 795d8ec985 docs: describe runtime dependency ownership 2026-08-30 02:29:53 +08:00
imccyu 34bdc81b47 test(deps): enforce runtime dependency ownership 2026-08-30 02:29:52 +08:00
imccyu 9135a13a8b refactor(consumers): remove cross-package runtime relays 2026-08-30 02:29:52 +08:00
imccyu f4e49ccf8f refactor(services): move shared values behind service APIs 2026-08-30 02:29:51 +08:00
imccyu 6c53fe6e2a refactor(values): make shared primitives duplicate-install safe 2026-08-30 02:29:51 +08:00