Yichen Jiang
9757224349
fix(subprocess): fence each signal against current process state
...
Review found the shared observation defeated the very fence it fed:
it carries the original PID-to-start-time pairing forward, so a
recycled PID still matches it and takes a signal meant for the process
that exited. Capturing it outside the per-member try also let one
failed read abort a whole teardown round, breaking the synchronous
host-exit contract, and an empty round paid a read for no members.
signalProcess now reads ProcessInspector.isAlive immediately before
delivering, from the narrowest per-identity source each platform
offers; signalMembers and waitForMembers return before capturing when
a round has no members. snapshot() keeps serving the readiness poll,
whose per-poll table read stays at one.
Windows enumerates Toolhelp32 lazily on the first tree question, so a
snapshot asked only for liveness — the 25 ms teardown poll — performs
no table walk at all.
2026-08-27 15:19:43 +08:00
Yichen Jiang
32ddfcd89c
fix(subprocess): read the process table once per terminal poll
...
MacProcessInspector answered the descendant tree and every member's
liveness with its own `/bin/ps` fork, so one readiness poll cost N+1
full table reads for N tracked descendants. With execFileSync on that
path and a 50 ms poll interval, any command spawning two or more
children saturated the host event loop until it exited.
ProcessInspector.snapshot() now returns one ProcessSnapshot that
answers tree, session, and alive from a single observation, and
signalProcess takes the caller's observation so its PID-reuse fence
does not re-read the table per member.
2026-08-27 13:06:12 +08:00
Magolor
0b5eba0c8d
docs: rebuild the documentation skill and standards ( #2983 )
2026-08-25 23:47:20 +08:00
Yichen Jiang
a3f67137bc
test(pty): cover restricted proc syscall access
2026-08-25 14:19:56 +08:00
Yichen Jiang
2338f4ad14
fix(pty): detect emulated kernel syscall ABI
2026-08-25 14:01:04 +08:00
Yichen Jiang
5467685bc1
fix(pty): identify waiting thread terminals
2026-08-25 13:35:53 +08:00
Yichen Jiang
9a12505f86
fix(pty): distinguish pipeline reads from terminal input
2026-08-25 12:54:55 +08:00
Tianyi Cui
934976732d
docs: purge residual chain-of-thought leakage
2026-08-22 13:10:23 +08:00
pku-xht
e6818bd697
Merge commit '4913489a6184d124900273e3a76d595e25d76099' into codex/subprocess-win32-process-primitives
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
2026-08-21 21:42:39 +08:00
imccyu
aa6c361a97
release(dsh): 0.1.1-rc.2
2026-08-21 19:48:58 +08:00
imccyu
3ec5e8f8c4
release(dsh): 0.1.1-rc.1
2026-08-21 14:11:09 +08:00
pku-xht
a5368680ae
docs(win32-process): keep localized header link valid
2026-08-20 19:53:56 +08:00
pku-xht
6db3ed93bf
Merge origin/master into codex/subprocess-win32-process-primitives
2026-08-20 19:49:34 +08:00
pku-xht
458ba49815
docs(win32-process): narrow ABI verification claims
2026-08-20 19:28:05 +08:00
pku-xht
ff7a5a042c
docs(win32-process): point ABI verification to its owner
2026-08-20 19:17:03 +08:00
pku-xht
84cbec28e9
Merge remote-tracking branch 'origin/master' into codex/localized-chinese-doc-links
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
# .agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-agent-teams.zh.md
# .agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml
# .agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.zh.md
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.zh.md
# .agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml
# README.i18n.yaml
# README.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.zh.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.zh.md
# docs/subsystems/README.i18n.yaml
# docs/subsystems/README.zh.md
# docs/subsystems/agent-team.i18n.yaml
# docs/subsystems/agent-team.zh.md
# docs/subsystems/client-modules.i18n.yaml
# docs/subsystems/client-modules.zh.md
# docs/subsystems/commands.i18n.yaml
# docs/subsystems/commands.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.zh.md
# docs/subsystems/session-reference.i18n.yaml
# docs/tool-catalog.i18n.yaml
# docs/tool-catalog.zh.md
# docs/user/guide/providers.i18n.yaml
# docs/user/guide/providers.zh.md
# packages/README.i18n.yaml
# packages/README.zh.md
# packages/bundle/web-app/README.i18n.yaml
# packages/bundle/web-app/README.zh.md
# packages/client/README.i18n.yaml
# packages/client/README.zh.md
# packages/client/connection/README.i18n.yaml
# packages/client/connection/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-sidebar/README.i18n.yaml
# packages/client/ui-sidebar/README.zh.md
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.zh.md
# packages/context/README.i18n.yaml
# packages/context/README.zh.md
# packages/core/agent-loop/README.i18n.yaml
# packages/credentials/README.i18n.yaml
# packages/credentials/README.zh.md
# packages/experimental/agent-team/README.i18n.yaml
# packages/experimental/agent-team/README.zh.md
# packages/experimental/tool-agent-team/README.i18n.yaml
# packages/experimental/tool-agent-team/README.zh.md
# packages/host/frontend-static/README.i18n.yaml
# packages/host/frontend-static/README.zh.md
# packages/host/webserver/README.i18n.yaml
# packages/host/webserver/README.zh.md
# packages/interaction/commands/README.i18n.yaml
# packages/interaction/commands/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/session/README.i18n.yaml
# packages/session/README.zh.md
# packages/session/session-persistence-sqlite/README.i18n.yaml
# packages/session/session-persistence-sqlite/README.zh.md
# packages/session/session-projection-cache/README.i18n.yaml
# packages/session/session-projection-cache/README.zh.md
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/README.zh.md
# packages/subagent/subagent-codex/README.i18n.yaml
# packages/subagent/subagent-codex/README.zh.md
# packages/subagent/subagent/README.i18n.yaml
# packages/subagent/subagent/README.zh.md
# packages/web/tool-web/README.i18n.yaml
# packages/web/tool-web/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-20 19:15:33 +08:00
pku-xht
7ef1c458f0
fix(win32-process): close PR1 validation gaps
2026-08-20 16:03:15 +08:00
pku-xht
19256704c7
test(win32-process): type handle-order assertions
2026-08-20 15:25:02 +08:00
pku-xht
b2d344771e
Merge origin/master into codex/subprocess-win32-process-primitives
2026-08-20 15:21:28 +08:00
pku-xht
5b47da02ae
refactor(win32-process): restore mechanical extraction
2026-08-20 15:21:01 +08:00
imccyu
f1f7dc36fa
release(dsh): 0.1.0-rc.8
2026-08-19 23:00:28 +08:00
pku-xht
615d910f04
Merge origin/master into codex/subprocess-win32-process-primitives
2026-08-19 20:01:10 +08:00
pku-xht
163fef7d64
Merge commit '881f7fe696c64e7775572680a38af07be6e9d158' into codex/subprocess-win32-process-primitives
2026-08-19 14:12:26 +08:00
_Kerman
7a5bfe187a
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2300
2026-08-19 11:56:27 +08:00
creatixchu
fcaa0efec5
Merge remote-tracking branch 'origin/master' into worktree/command-attachment-envelope
2026-08-19 11:11:15 +08:00
_Kerman
450a1f8811
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2300
2026-08-19 10:33:31 +08:00
pku-xht
03186fe93f
fix(sandbox): cancel sibling drain after child termination
2026-08-19 08:45:54 +08:00
pku-xht
60587b4901
fix(sandbox): cancel sibling drain on termination failure
2026-08-19 08:06:38 +08:00
pku-xht
5375142827
fix(sandbox): contain drain failure settlement
2026-08-19 06:35:50 +08:00
pku-xht
4f381b83c9
refactor(win32-process): remove redundant suspension
2026-08-19 05:23:43 +08:00
pku-xht
4a722de4fa
fix(win32-process): close PR1 review gaps
2026-08-19 05:03:59 +08:00
pku-xht
ab494bfdca
refactor(win32-process): narrow PR1 native surface
2026-08-19 04:39:31 +08:00
pku-xht
668da7f507
refactor(win32-process): share native process primitives
2026-08-19 04:08:46 +08:00
pku-xht
d745107674
Merge master at 782f67a into localized Chinese links
...
# Conflicts:
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md
2026-08-19 01:55:07 +08:00
imccyu
45a73e3ed5
fix(ci): preserve Windows gate ordering
2026-08-18 22:03:20 +08:00
imccyu
5ba9e50bb0
fix(ci): stabilize native Windows coverage
2026-08-18 21:15:21 +08:00
pku-xht
8d3674695b
docs(i18n): localize Chinese internal links
2026-08-18 19:00:37 +08:00
creatixchu
96442bd4e5
test(subprocess): publish exit fixture state atomically
2026-08-18 17:06:46 +08:00
_Kerman
91e8d62b2a
fix(subprocess): detect exited Windows terminals
2026-08-18 14:30:47 +08:00
_Kerman
b72bd6f5be
merge: bring master into feat/pwsh-persistent-pty
2026-08-18 13:36:46 +08:00
imccyu
bb4ca698d6
release(dsh): 0.1.0-rc.7
2026-08-17 18:47:02 +08:00
_Kerman
cc68bbf382
Merge pull request #2517 from deepseek-harness/xtr/node-pty-1.2-beta
...
chore(subprocess-local): bump node-pty beta
2026-08-17 18:12:16 +08:00
Huanqi Cao
bc6a775a31
merge: bring master into feat/pwsh-persistent-pty
2026-08-15 11:14:45 +08:00
imccyu
15148dbd9a
release(dsh): 0.1.0-rc.6
2026-08-13 19:52:05 +08:00
imccyu
abe560f81e
release(dsh): 0.1.0-rc.5
2026-08-13 18:49:33 +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
imccyu
8a954b2eca
release(dsh): 0.1.0-rc.3
2026-08-13 18:39:06 +08:00
_Kerman
078dd2b6df
chore(subprocess-local): bump node-pty beta
2026-08-13 17:58:13 +08:00
imccyu
60b04b6ef7
release(dsh): 0.1.0-rc.2
2026-08-13 17:19:37 +08:00
imccyu
22ab3beac1
release(dsh): 0.1.0-rc.1
2026-08-13 16:22:33 +08:00