Commit Graph

10333 Commits

Author SHA1 Message Date
Tianyi Cui
c1d550de58 refactor(runtime): collapse speculative portability layers
Remove the one-consumer bounded-read primitive and shared terminal lifecycle controller, make terminal cleanup one awaited provider operation, and reuse one Code Runtime contract suite. Keep only reproduced cancellation and policy fixes; defer unproven replacement, prompt-attribution, and streaming-frame concerns to scoped markers.
2026-08-08 21:27:58 +08:00
Tianyi Cui
4fecc54998 fix(runtime): close teardown gaps and simplify framing 2026-08-08 21:27:58 +08:00
Tianyi Cui
045e8462ee fix(pty): drain public signals during close 2026-08-08 21:27:58 +08:00
Tianyi Cui
727546ce6d fix(code-runtime): bound every subprocess frame hop 2026-08-08 21:27:58 +08:00
Tianyi Cui
7eedfda961 fix(pty): fence delayed signal prompts 2026-08-08 21:27:57 +08:00
Tianyi Cui
277870dac2 Revert "fix(pty): fence delayed signal prompts"
This reverts commit a78958eeeaf04a3acdf22ef8a26dec370661a51d.
2026-08-08 21:27:57 +08:00
Tianyi Cui
d6b3de6e0d fix(pty): fence delayed signal prompts 2026-08-08 21:27:57 +08:00
Tianyi Cui
be3533fa19 fix(subprocess): clean runtime state after teardown failure 2026-08-08 21:27:57 +08:00
Tianyi Cui
0fec058a48 fix(pty): retain send ownership through cancellation 2026-08-08 21:27:57 +08:00
Tianyi Cui
4d63552d00 fix(lsp): preserve workspace cancellation reason 2026-08-08 21:27:57 +08:00
Tianyi Cui
098f826001 fix(subprocess): honor teardown and PATH semantics 2026-08-08 21:27:57 +08:00
Tianyi Cui
f61a4943bd fix(lsp): preserve POSIX backslash paths 2026-08-08 21:27:57 +08:00
Tianyi Cui
71e0eeac40 fix(code-runtime): contain hostile boundary failures 2026-08-08 21:27:57 +08:00
Tianyi Cui
f84f63ccd7 test(runtime): finish zombie quiescence migration 2026-08-08 21:27:57 +08:00
Tianyi Cui
562cd154a8 docs(lsp): remove resolved URI limitation 2026-08-08 21:27:57 +08:00
Tianyi Cui
ea047cc634 test(subprocess): accept zombie quiescence 2026-08-08 21:27:57 +08:00
Tianyi Cui
06a9224904 fix(subprocess): retain failed terminal cleanup 2026-08-08 21:27:57 +08:00
Tianyi Cui
a95e01d8b0 fix(pty): detach cancellation before close drain 2026-08-08 21:27:57 +08:00
Tianyi Cui
6e5d711099 fix(lsp): cancel executable setup on disposal 2026-08-08 21:27:57 +08:00
Tianyi Cui
4d96ff40af docs(lsp): align canonical output field 2026-08-08 21:27:57 +08:00
Tianyi Cui
f2a3cc450e fix(lsp): retain drive syntax in UNC worlds 2026-08-08 21:27:57 +08:00
Tianyi Cui
3572c65d57 fix(pty): join asynchronous terminal operations 2026-08-08 21:27:57 +08:00
Tianyi Cui
d29c73ddd6 fix(subprocess): treat zombie-only groups as quiescent 2026-08-08 21:27:56 +08:00
Tianyi Cui
ea75333c92 fix(lsp): compare UNC paths case-insensitively 2026-08-08 21:27:56 +08:00
Tianyi Cui
f5f40c7403 fix(pty): discard pre-write readiness evidence 2026-08-08 21:27:56 +08:00
Tianyi Cui
587fff9fe7 fix(runtime): honor platform quiescence semantics 2026-08-08 21:27:56 +08:00
Tianyi Cui
4997fb219e fix(lsp): preserve execution-world URI semantics 2026-08-08 21:27:56 +08:00
Tianyi Cui
3537665806 fix(subprocess): honor Windows environment key casing 2026-08-08 21:27:56 +08:00
Tianyi Cui
03f1c8eb43 fix(subprocess): absolutize relative PATH lookups 2026-08-08 21:27:56 +08:00
Tianyi Cui
a0200376a1 fix(pty): defer the first readiness poll 2026-08-08 21:27:56 +08:00
Tianyi Cui
65264f6c80 refactor(subprocess): share terminal lifecycle 2026-08-08 21:27:56 +08:00
Tianyi Cui
32bce339da fix(runtime): close lifecycle teardown races 2026-08-08 21:27:56 +08:00
Tianyi Cui
c17727d43d test(subprocess): cover terminal release cleanup 2026-08-08 21:27:56 +08:00
Tianyi Cui
e5f3a67363 fix(runtime): publish completion before pipe cleanup 2026-08-08 21:27:56 +08:00
Tianyi Cui
ac81165662 fix(runtime): close async cleanup and framing races 2026-08-08 21:27:56 +08:00
Tianyi Cui
16cac3b5af fix(runtime): close remote cleanup and readiness races 2026-08-08 21:27:56 +08:00
Tianyi Cui
8917ff8ef4 refactor(runtime): compose consumers over fs and subprocess 2026-08-08 21:27:55 +08:00
Tianyi Cui
75570ba31e test(i18n): deduplicate merge conflict setup 2026-08-08 21:26:31 +08:00
Tianyi Cui
987d477cfc Merge pull request #2066 from deepseek-harness/worktree/1737-1751-review-fixes
fix(web): keep Send beside subagent Stop
2026-08-08 21:23:49 +08:00
Tianyi Cui
3abe813fd3 docs(i18n): document automatic pairing merges 2026-08-08 21:12:00 +08:00
Tianyi Cui
542c029c80 feat(i18n): compose pairing records during merges 2026-08-08 21:11:59 +08:00
Tianyi Cui
d21917f4cf refactor(subagent): resolve list tool inputs explicitly 2026-08-08 21:05:58 +08:00
Tianyi Cui
07fbc2cda8 test(subagent): execute control tools in ACP replay 2026-08-08 21:05:58 +08:00
Tianyi Cui
ce16cf1b3b test(web): exercise interrupt with parent offline 2026-08-08 21:05:58 +08:00
Tianyi Cui
5f755d5717 fix(web): keep Send beside subagent Stop 2026-08-08 21:05:58 +08:00
Ziya
05cbc185f0 Merge pull request #1661 from deepseek-harness/agent/task-surface-rfc
docs: propose Task Surface for structured session interaction
2026-08-08 05:37:01 -07:00
hypatiamay
ede2510f52 Merge pull request #1751 from deepseek-harness/feat/1535-interrupt-tool
feat(subagent): let ancestors interrupt descendants
2026-08-08 20:35:43 +08:00
ZiyaZhang
3a05ddec79 docs: compile the self-contained Task Surface model sketches
The doc-typecheck opt-out ratio gate now fails at 74/146 after merging
master. The model and branded-ID blocks are self-contained, so check
them as ordinary ts fences (72/146 remain opted out); re-record the
pairing sidecar.
2026-08-08 05:28:14 -07:00
Tianyi Cui
582fafee5a test(snapshot): refresh subagent control schema pin 2026-08-08 20:25:41 +08:00
Yichen Jiang
132debb5fe fix(apiproxy): echo the resolved agent preset on create and session-added
session.create's reply named only the id, and the session-added frame's
agentPreset — which the server already derives via sessionListFields — was
stripped by the wire schema it never joined. A client therefore could not
label a session it just created (or learned live) until the next full list
refresh: the header's preset label rendered nothing for exactly the sessions
made in this tab. The create reply is the commit point that knows the
RESOLVED composition (a caller that named none gets the default the header
recorded), so both carriers now say it.
2026-08-08 20:16:50 +08:00